package demo.order.client; import java.io.BufferedReader; import java.io.ByteArrayInputStream; import java.io.InputStream; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.URL; import javax.xml.namespace.QName; import javax.xml.ws.Service; import javax.xml.ws.spi.Provider; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.methods.InputStreamRequestEntity; import org.apache.commons.httpclient.methods.PostMethod; import org.apache.commons.httpclient.methods.RequestEntity; import org.apache.cxf.endpoint.Client; import org.apache.cxf.jaxws.JaxWsProxyFactoryBean; import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory; public class ProxyClient { public static void main(String args[]) throws Exception { // excuteWebService1(); excuteWebService2(); //excuteWebService3() ; // excuteWebService4(); } public static void excuteWebService4() throws MalformedURLException { QName SERVICE = new QName("http://market.integration.service.sggis.com", "MarketService"); QName UserServiceImplPort =new QName("http://market.integration.service.sggis.com", "marketServiceWSImplPortType"); URL url = new URL("http://127.0.0.1:8001/EpgisServer/services/MarketService?wsdl"); javax.xml.ws.spi.ServiceDelegate dele = Provider.provider().createServiceDelegate(url, SERVICE, Service.class); IMarketServiceWS us = (IMarketServiceWS) dele.getPort(UserServiceImplPort, IMarketServiceWS.class); String content = "<gt:GetLayersInfoExInput xmlns:gt=\"http://www.sgcc.com.cn/sggis/service/schema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.sgcc.com.cn/sggis/service/schema gistypes.xsd\">" + "<gt:Token>3B332567-6D9E-41EF-9B99-9FFA30D88962</gt:Token></gt:GetLayersInfoExInput>"; String res = us.getLayersInfoEx(content); System.out.println(res); } public static void excuteWebService3() { JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean(); factory.setAddress("http://127.0.0.1:8001/EpgisServer/services/MarketService"); QName SERVICE = new QName("http://market.integration.service.sggis.com", "IMarketServiceWS"); factory.setServiceName(SERVICE); factory.setServiceClass(IMarketServiceWS.class); IMarketServiceWS us = (IMarketServiceWS) factory.create(); String content = "<gt:GetLayersInfoExInput xmlns:gt=\"http://www.sgcc.com.cn/sggis/service/schema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.sgcc.com.cn/sggis/service/schema gistypes.xsd\">" + "<gt:Token>3B332567-6D9E-41EF-9B99-9FFA30D88962</gt:Token></gt:GetLayersInfoExInput>"; String res = us.getLayersInfoEx(content); System.out.println(res); } private static void excuteWebService2() throws Exception { JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance(); Client client = dcf.createClient("http://127.0.0.1:8001/EpgisServer/services/MarketService?wsdl"); String content = "<gt:GetLayersInfoExInput xmlns:gt=\"http://www.sgcc.com.cn/sggis/service/schema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.sgcc.com.cn/sggis/service/schema gistypes.xsd\">" + "<gt:Token>3B332567-6D9E-41EF-9B99-9FFA30D88962</gt:Token></gt:GetLayersInfoExInput>"; Object[] objects = client.invoke("getLayersInfoEx", content); if (objects != null && objects.length > 0) { for (Object province : objects) { System.out.println(province.toString()); } } } /** * 调用webservice */ public static void excuteWebService1() { try { HttpClient httpClient = new HttpClient(); PostMethod httpMethod = new PostMethod("http://127.0.0.1:8001/EpgisServer/services/MarketService"); httpMethod.addRequestHeader("content-type", "text/xml;charset=UTF-8"); httpMethod.addRequestHeader("soapaction", ""); httpMethod.setContentChunked(true); String content = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:mar=\"http://market.integration.service.sggis.com\">" + "<soapenv:Header/> <soapenv:Body> <mar:getLayersInfoEx><mar:inputXML> <![CDATA[" + " <gt:GetLayersInfoExInput xmlns:gt=\"http://www.sgcc.com.cn/sggis/service/schema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.sgcc.com.cn/sggis/service/schema gistypes.xsd\"> " + " <gt:Token>3B332567-6D9E-41EF-9B99-9FFA30D88962</gt:Token> </gt:GetLayersInfoExInput> ]]>" + " </mar:inputXML> </mar:getLayersInfoEx> </soapenv:Body></soapenv:Envelope>"; InputStream in = new ByteArrayInputStream(content.getBytes("utf-8")); RequestEntity entity = new InputStreamRequestEntity(in); httpMethod.setRequestEntity(entity); int statusCode = httpClient.executeMethod(httpMethod); if (statusCode != 200) { System.out.println("状态码:" + statusCode); } BufferedReader reader = new BufferedReader(new InputStreamReader(httpMethod.getResponseBodyAsStream(), "ISO-8859-1")); String tmp = null; StringBuilder htmlRet = new StringBuilder(); while ((tmp = reader.readLine()) != null) { htmlRet.append(tmp); } reader.close(); System.out.println(new String(htmlRet.toString().getBytes("ISO-8859-1"), "utf-8")); } catch (Exception e) { e.printStackTrace(); } } }
相关推荐
soapui生成webservice客户端代码,比较详细的讲解了配置,以及生成客户端代码的步骤
使用cxf wsdl2java生成webservice客户端命令
WebService客户端 WebService客户端 WebService客户端
webservice客户端生成工具
C++通过gSOAP开发WebService客户端
Java开发生生WebService客户端代码操作步骤 Java开发生生WebService客户端代码操作步骤 Java开发生生WebService客户端代码操作步骤
webservice 客户端自动生成工具,采用批处理脚本(axis1.4的方式)来自动生成客户端java代码,只需要修改一个wsdl的地址,就可以生成代码,谁用谁知道。
webservice 客户端 服务端实例 代码全套 完整 就爱男单实例
cxf生成webservice客户端
cxf 开发webservice客户端 代码经过测试
webservice客户端简单实例 环境 apache-tomcat-6.0.33 jdk1.6.0_32 windows7
这个工程详细的介绍了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
根据对方提供的webservice地址,你先将对方webservice的wsdl文件描述文件保存到本地为后缀名为.wsdl的文件,然后保存到Tools的这个文件夹下,编辑WSDL2AxisClient.bat这个文件,将%Java_Cmd% org.apache.axis.wsdl....