`

webservice客户端

 
阅读更多
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客户端代码

    soapui生成webservice客户端代码,比较详细的讲解了配置,以及生成客户端代码的步骤

    C++通过gSOAP开发WebService客户端.docx

    C++通过gSOAP开发WebService客户端 本文档主要介绍了使用C++语言和gSOAP库开发WebService客户端的步骤和方法。gSOAP是一个基于C/C++的WebService开发库,支持SOAP和XML协议。下面是开发WebService客户端的详细步骤...

    webservice 客户端自动生成工具

    WebService客户端是调用这些服务的应用程序部分,而"WebService客户端自动生成工具"则是帮助开发者快速创建与WebService交互的代码的工具。在这种情况下,我们讨论的是一个使用Axis1.4批处理脚本来实现这个功能的...

    使用cxf wsdl2java生成webservice客户端

    使用cxf wsdl2java生成webservice客户端命令

    WebService客户端

    WebService客户端是基于Web服务技术的一种应用程序,它允许不同的系统之间通过互联网进行通信和交互。在分布式计算环境中,WebService客户端扮演着关键角色,使得各种应用程序能够跨平台、跨语言地共享数据和服务。 ...

    WebService客户端调用WebService服务示例代码——java

    WebService客户端调用WebService服务示例代码,java代码,纯手工,包括直接httpClient直接发送Saop报文调用和利用wsimport -keep 生成客户端代码后调用两种方式的示例。因涉及商务账户密码隐私,因此代码中的有些账号...

    C#.NET WebService 客户端+服务器

    本文将深入探讨"C#.NET WebService 客户端+服务器"的主题,介绍如何创建和调用Web服务,以及Web服务的三种访问方式。 首先,Web服务是一种基于标准协议(如SOAP和HTTP)的平台无关的通信机制,允许不同系统的应用...

    webservice 客户端 服务端实例 代码

    本实例将详细介绍WebService客户端和服务端的实现,包括完整的代码示例。 1. WebService服务端开发 服务端是提供功能接口的地方,通常称为Web服务提供商。创建一个WebService服务端,首先需要定义服务接口,这个...

    eclipse根据wsdl文件生成webservice客户端-图例.pdf

    eclipse 根据 wsdl 文件生成 webservice 客户端 eclipse 是一个功能强大且灵活的集成开发环境(IDE),它提供了许多插件和工具来帮助开发者快速开发和测试应用程序。其中一个重要的应用场景是使用 wsdl 文件生成 ...

    webservice客户端简单实例

    总结来说,本实例涉及的是在Windows 7环境下,使用Apache Tomcat和JDK创建一个基于JAX-WS的WebService客户端。这个过程包括获取WSDL文件,生成客户端代码,编写应用程序,部署和运行。理解并掌握这些步骤对于开发与...

    Java写WebService客户端

    ### Java编写WebService客户端详解 #### 一、概述 在现代软件开发中,Web服务作为一种重要的技术手段被广泛应用于系统间的数据交互与通信。其中,基于Java的WebService客户端开发更是占据了重要地位。本文将通过...

    Java生成WebService客户端代码操作步骤.txt

    Java开发生生WebService客户端代码操作步骤 Java开发生生WebService客户端代码操作步骤 Java开发生生WebService客户端代码操作步骤

    根据wsdl文件生成webservice客户端工具(java)

    根据对方提供的webservice地址,你先将对方webservice的wsdl文件描述文件保存到本地为后缀名为.wsdl的文件,然后保存到Tools的这个文件夹下,编辑WSDL2AxisClient.bat这个文件,将%Java_Cmd% org.apache.axis.wsdl....

    使用wsimport命令生成webService客户端代码实例(查询手机号码)(源码Demo)

    在Java开发中,Web服务是实现跨平台、跨语言通信的一种常见方式,而WebService客户端的创建则至关重要。本文将深入探讨如何使用`wsimport`命令生成WebService客户端代码,并通过一个查询手机号码的实际示例来演示...

    Eclipse根据wsdl文件逆向生成webservice客户端项目源码

    本文将详细介绍如何在Eclipse环境中,利用WSDL文件逆向生成WebService客户端项目的源码。 首先,WSDL文件是一个XML格式的文档,它描述了Web服务的接口、操作、消息格式以及服务的位置。这个文件是服务提供者发布的...

    WebService客户端Demo

    **WebService客户端Demo详解** 在IT行业中,WebService是一种广泛使用的接口通信技术,它允许不同系统间的交互,不受开发语言和平台的限制。本示例“WebService客户端Demo”将着重讲解如何利用SOAP(Simple Object ...

    清风教你手把手-写WebService客户端代码(Java版本)

    本教程将聚焦于如何使用Java语言来编写一个WebService客户端。我们将不涉及过多理论,而是侧重实践,一步步教你如何实现。 首先,理解WebService客户端的基本工作原理是必要的。客户端通常会通过SOAP(Simple ...

    webService客户端调用服务端传对象参数

    这个工程详细的介绍了webService服务客户端如何调用简单和复杂的webService,其中就包括传递的参数是对象类型,返回数据是数组类型,还有最简单的基本类型。压缩包里还配置说明,清晰的说明webService的整个过程,对...

    WebService客户端开发(gsoap) MFC

    WebService客户端开发是一个重要的IT主题,尤其当涉及到跨平台通信和数据交换时。在这个场景中,我们关注的是使用gSOAP库在MFC(Microsoft Foundation Classes)环境中进行开发。gSOAP是一个开源工具包,它允许...

    webservice客户端调用几种方式汇总

    webservice客户端几种方式调用汇总,客户端代码生成及调用方式详细说明等

Global site tag (gtag.js) - Google Analytics