调用web service接口方法

方法1:

使用wsdl2java 命令行在客户端生成服务器端代码的代理代码

然后使用生成的服务器端代码代理,调用服务器端提供的方法

String url = SpringCfgPropHelper.getProperty("DMSWsdlUri").replaceAll("\\s+", "").replaceAll(",,+", ",");
	         JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();  
	         factory.setServiceClass(DmsWService.class);  
	         factory.setAddress(url);<pre name="code" class="java"><span style="white-space:pre">		</span> XXXservice <span style="font-family: Arial, Helvetica, sans-serif; font-size: 12px;">client = (XXXservice) factory.create();  </span>
//设置客户端的配置信息,超时等. Client proxy = ClientProxy.getClient(client); HTTPConduit conduit = (HTTPConduit) proxy.getConduit(); HTTPClientPolicy policy = new HTTPClientPolicy(); policy.setConnectionTimeout(10000000); //连接超时时间 policy.setReceiveTimeout(120000000);//请求超时时间. conduit.setClient(policy); String result=client.deliveryDataUpload(resume);

 

方法2:

public static String invoke(String url, String method, String xml) throws Exception {
        String returns = null;
        Client client = getClient(url);
        try {
            	Object[] objects = client.invoke(method,xml);
                returns = String.valueOf(objects[0]);
        }catch(Exception e){
        	e.printStackTrace();
        	throw new Exception("网络异常,请重新登录");
        }finally{
        	if(client!=null) client.destroy();
        }
        return returns;
    }
	
	
    private static Client getClient(String url){
    	JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
    	for(int i=0;i<3;i++){
    		try{
       		     Client client = dcf.createClient(url);
                 return client;
       	    }catch(Exception e){
       	    	e.printStackTrace();
       	    }
    	}
       return null;
    }

方法3;使用axis生成客户端:

Service service = new Service();
String url =SpringCfgPropHelper.getProperty("DMSWsdlUri").replaceAll("\\s+","").replaceAll(",,+", ",");
				Call call = (Call) service.createCall();
				call.setTargetEndpointAddress(url);
				call.addParameter("xml", XMLType.XSD_STRING, ParameterMode.IN);
				call.setReturnType(XMLType.XSD_STRING);
String result = (String) call.invoke(
					"http://wso.integratio/",
					"deliveryDataUploadXml", new Object[] { xml });
			logger.info("传递接收结果是:" + result);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值