Java调用WebService接口

在实际开发工作中,会遇到接口对接的场景,有直接HTTP调用方式,参数体为JSON串;还有一种是SOAP方式,即webService接口。

首先,可以在浏览器上安装一个插件(Wizdler),如下图。

 通过这个插件,我们可以轻松的看到所有的方法

 点击方法,可以直接生成对应的请求参数,替换相关参数,可以直接调用方法;

 下面来讲一下如何使用Java代码实现接口的调用;

    @Test
    public void test(){
        try{
            String webServiceUrl = "http://238.62.169.140:8090/g6_venues/webservice/gtv-external-venues-service?wsdl";
            JaxWsDynamicClientFactory factory1 = JaxWsDynamicClientFactory.newInstance();
            Client client = factory1.createClient(webServiceUrl);
            HTTPConduit conduit = (HTTPConduit)client.getConduit();
            HTTPClientPolicy clientPolicy = new HTTPClientPolicy();
            //连接超时
            clientPolicy.setConnectionTimeout(2000);
            //取消块编码
            clientPolicy.setAllowChunking(false);
            //响应超时
            clientPolicy.setReceiveTimeout(12000);
            conduit.setClient(clientPolicy);
            String startDateTime = "20201018090000";
            String endDateTime = "20201228160000";
            Object[] result = client.invoke("queryFreeRoomInfo",startDateTime ,endDateTime ); //queryFreeRoomInfo为方法名;
            System.out.println("返回结果:" + result[0].toString());
        }catch (Exception e){
            e.printStackTrace();
        }

    }
JaxWsDynamicClientFactory、HTTPConduit、Client、HTTPClientPolicy需要引入对应的依赖,
 


 
原文地址:https://www.cnblogs.com/lovefaner/p/13811057.html