一个webservice客户端纠结了我一个星期的时间,让我天天做噩梦。网上的资料都只讲到怎么在webservice工程中生成xfire框架的客户 端。后来尝试多次发现无法在web project工程中直接生成xfire的客户端。甚至我将独立的一个webservice工程打成jar包发部到web project项目中以无济于事最后让我神经崩溃……一段不到一百行的代码解救了我,不用引jar包,不借助任何框架。自己封装,纯天然纯绿色。
webservice客户端封装类:
public class ServiceUtil { public static String getRequest(String param, String urls, String soapAction) { try { if (param == null || urls == null || soapAction == null) { return null; } URL url = new URL(urls); URLConnection conn = url.openConnection(); conn.setUseCaches(false); conn.setDoInput(true); conn.setDoOutput(true); conn.setRequestProperty("Content-Length", Integer.toString(param .length())); conn.setRequestProperty("Content-Type", "text/xml; charset=utf-8"); conn.setRequestProperty("SOAPAction", "\"" + soapAction + "\""); OutputStream os = conn.getOutputStream(); OutputStreamWriter osw = new OutputStreamWriter(os, "utf-8"); osw.write(param); osw.flush(); osw.close(); InputStream input = conn.getInputStream(); InputStreamReader read = new InputStreamReader(input); BufferedReader reader = new BufferedReader(read); StringBuffer buf = new StringBuffer(); while (reader.read() > 0) { buf.append(reader.readLine()); } String xmlStr = buf.toString(); input.close(); read.close(); reader.close(); return xmlStr; } catch (Exception e) { e.printStackTrace(); return ""; } } } web项目中的action类调用webservice客户端接口: /** * 修改客户信息 * * @return */ public String update() { String param = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\"><soap:Body><ModifyCustWS xmlns=\"http://www.bocim.com\"> <c> <sFuncFlag>83</sFuncFlag><sAcco></sAcco> <sAccoType></sAccoType> " + "<sCustType>1</sCustType> " + "<sIDType></sIDType> <sFrom></sFrom> <sOperator></sOperator> <sReserve></sReserve> " + "<sAddress>" + cust.getAddress() + "</sAddress> " + "<sZipcode> </sZipcode> " + "<sPhone>" + cust.getPhone1() + "</sPhone> " + "<sFaxNo></sFaxNo> " + "<sEmail>" + cust.getEmail() + "</sEmail> " + "<sMobileNo>" + cust.getMobile1() + "</sMobileNo> <sBP></sBP> <sBirthday></sBirthday> <sSex></sSex> <sEducation></sEducation> <sFamilyNo></sFamilyNo><sVocation></sVocation><sIncome></sIncome><sCorpTel></sCorpTel><sCorpName></sCorpName><sBillSend></sBillSend><sHomePhone></sHomePhone><sNationality></sNationality><sBillSendPass></sBillSendPass><sBillSendFlag></sBillSendFlag><sMemo></sMemo><sContact></sContact><sReserve4></sReserve4></c></ModifyCustWS></soap:Body></soap:Envelope>"; String retur = ServiceUtil.getRequest(param, "http://18.1.6.76/BocimWebService/service.asmx", "http://www.bocim.com/ModifyCustWS"); if (retur.indexOf("<sSuccessFlag>0</sSuccessFlag>") == -1) { System.out.println("aaaaaaaaaaaaaaaaaaaaaaaaa"); return ActionSupport.INPUT; }else { return ActionSupport.SUCCESS; } }
相关推荐
soapui生成webservice客户端代码,比较详细的讲解了配置,以及生成客户端代码的步骤
使用cxf wsdl2java生成webservice客户端命令
WebService客户端 WebService客户端 WebService客户端
webservice客户端生成工具
C++通过gSOAP开发WebService客户端
Java开发生生WebService客户端代码操作步骤 Java开发生生WebService客户端代码操作步骤 Java开发生生WebService客户端代码操作步骤
webservice 客户端 服务端实例 代码全套 完整 就爱男单实例
cxf生成webservice客户端
cxf 开发webservice客户端 代码经过测试
webservice客户端简单实例 环境 apache-tomcat-6.0.33 jdk1.6.0_32 windows7
webservice 客户端自动生成工具,采用批处理脚本(axis1.4的方式)来自动生成客户端java代码,只需要修改一个wsdl的地址,就可以生成代码,谁用谁知道。
这个工程详细的介绍了webService服务客户端如何调用简单和复杂的webService,其中就包括传递的参数是对象类型,返回数据是数组类型,还有最简单的基本类型。压缩包里还配置说明,清晰的说明webService的整个过程,对...
Eclipse根据wsdl文件逆向生成webservice客户端项目源码,包括wsdl文件,测试示例,测试webservice代码,包含备注信息
Java写的WebService客户端,可以发送XML文件,拿来就能用
webservice客户端几种方式调用汇总,客户端代码生成及调用方式详细说明等
WebService客户端调用WebService服务示例代码,java代码,纯手工,包括直接httpClient直接发送Saop报文调用和利用wsimport -keep 生成客户端代码后调用两种方式的示例。因涉及商务账户密码隐私,因此代码中的有些账号...
使用axis2生成的webservice客户端经常要用的依赖包,内含14个jar
webservice 客户端 实例 java webservice 客户端 实例 java webservice 客户端 实例 java webservice 客户端 实例 java webservice 客户端 实例 java
服务端采用jdk原生态的生成,客户端为了不需要采用命令行生成采用了axis2的document方法,可调用,代码中既有客户端又有服务端,亲测可用