`
voll588
  • 浏览: 5017 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

jax-ws 客户端动态访问小结

 
阅读更多

最近研究java6自带的webservice包(jax-ws),一些代码分享下。

 

public static void procWeb() throws Exception{
		QName serviceName = new QName("http://WebXml.com.cn/", "qqOnlineWebService");
		
		//QName for Port As defined in wsdl.
		QName portName = new QName("http://WebXml.com.cn/", "qqOnlineWebServiceSoap");
		
//		//Endpoint Address
		String  endpointAddress = "http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx?wsdl";
		
		//Create a dynamic Service instance
		Service service = Service.create(serviceName);
		
		service.addPort(portName, SOAPBinding.SOAP11HTTP_BINDING, endpointAddress);  
		
		//Create a dispatch instance
		Dispatch<SOAPMessage> dispatch = 
		   service.createDispatch(portName, SOAPMessage.class, Service.Mode.MESSAGE);
		
		// Use Dispatch as BindingProvider
		BindingProvider bp = (BindingProvider) dispatch;
		
		// Optionally Configure RequestContext to send SOAPAction HTTP Header
		Map<String, Object> rc = bp.getRequestContext();
		rc.put(BindingProvider.SOAPACTION_USE_PROPERTY, Boolean.TRUE);
		rc.put(BindingProvider.SOAPACTION_URI_PROPERTY, "http://WebXml.com.cn/qqCheckOnline");
		
		// Obtain a preconfigured SAAJ MessageFactory
		MessageFactory factory = ((SOAPBinding)bp.getBinding()).getMessageFactory();

		// Create SOAPMessage Request
		SOAPMessage request = factory.createMessage();

		// Request Body
		SOAPBody body = request.getSOAPBody();

		// Compose the soap:Body payload
		QName payloadName =
		   new QName("http://WebXml.com.cn/", "qqCheckOnline");

		SOAPBodyElement payload = body.addBodyElement(payloadName); 

		SOAPElement message = payload.addChildElement("qqCode");

		message.addTextNode("88888");

		// Invoke the endpoint synchronously
		SOAPMessage reply = null;

		try {
			//Invoke Endpoint Operation and read response
			reply = dispatch.invoke(request);
		} catch (WebServiceException wse){
			wse.printStackTrace();
		}

		// process the reply
		SOAPBody bodyRes = reply.getSOAPBody();
		
		SOAPBodyElement nextSoapBodyElement = (SOAPBodyElement)bodyRes.getChildElements().next();              
        SOAPElement soapElement = (SOAPElement)nextSoapBodyElement.getChildElements().next();
		String strmsg = soapElement.getValue();

		System.out.println(strmsg);

	}
 
分享到:
评论
1 楼 LinApex 2014-09-22  
使用不了哦,朋友/// 能不能详细说明一下

相关推荐

    一个包含jax-ws和jax-rs的例子(含服务端和客户端)

    标题中的“一个包含jax-ws和jax-rs的例子(含服务端和客户端)”是指这是一个示例项目,它演示了如何使用Java API for XML Web Services (JAX-WS)和Java API for RESTful Web Services (JAX-RS)来创建和消费Web服务。...

    jax-rs jax-ws所需包,亲测可用

    `javax.xml.ws.Service`是JAX-WS规范的一部分,用于创建和实例化Web服务客户端。当这个类报错,通常是因为缺失了如wsimport工具或者相关的API依赖。而这个压缩包提供了解决这个问题的解决方案,用户只需将提供的四个...

    Jax-ws所需要的JAR包

    1. **jaxws-api.jar**:这是JAX-WS的API规范JAR,包含了用于开发JAX-WS服务和客户端的接口定义。 2. **jaxb-api.jar**:Java Architecture for XML Binding (JAXB) API,用于XML和Java对象之间的转换,是JAX-WS的...

    jax-ws api jar包

    JAX-WS可以通过WSDL文件自动生成客户端代理类。 - **JAXB(Java Architecture for XML Binding)**:与JAX-WS配合使用,负责XML数据和Java对象之间的转换。当处理XML消息时,JAXB可以将XML数据解析成Java对象,反之...

    解决weblogic部署JAX-WS需要的配置文件

    在WebLogic服务器上部署JAX-WS服务时,可能会遇到一些配置问题。JAX-WS(Java API for XML Web Services)是Java平台上的一个标准,用于创建和部署Web服务。WebLogic作为一款强大的Java EE应用服务器,支持JAX-WS...

    jax-ws WebService客户端与服务端工程.rar

    Java API for XML Web Services (JAX-WS) 是Java平台上用于构建Web服务和客户端的API。这个"jax-ws WebService客户端与服务端工程.rar"压缩包文件包含了一个完整的示例,展示了如何使用JAX-WS创建和消费Web服务。让...

    JAX-WS2.0 API

    4. **客户端代理(Proxy):**JAX-WS提供了客户端API,允许开发者通过代理对象调用Web服务。这些代理对象是由`wsimport`工具生成的,它们封装了与服务器通信的细节。 5. **数据绑定:**JAX-WS使用JAXB(Java ...

    JAX-WS2.1用户指南

    通过WSDL,JAX-WS可以自动生成客户端代理类,使得调用Web服务如同调用本地Java方法一样简单。 10. **与Java EE的集成** 在Java EE环境中,JAX-WS服务可以轻松地部署在应用服务器上,利用容器提供的事务、安全性、...

    jax-ws webservice demo

    基于jax-ws 实现的web service client和server端的demo程序。 注:如果使用的是 myeclipse 时 server 部署到tomcat 启动的时候会报错 解决办法:找到myeclipse安装目录下的 plugins 目录里 查找 webservices-rt.jar,...

    jax-ws发布webservice

    创建JAX-WS客户端通常包括以下步骤: 1. **生成客户端代理**:使用`wsimport`工具,根据服务的WSDL生成Java客户端代理类。 ```bash wsimport -keep -verbose http://localhost:8080/HelloWorld?wsdl ``` 2. **...

    JAX-WS API, JAX-RS API

    **JAX-WS API** Java API for XML Web Services (JAX-WS) 是Java平台上的一个标准接口,用于创建和消费Web服务。它是Sun Microsystems在2004年推出的一个重要框架,旨在简化Web服务的开发,使得Java开发者能够更...

    webservice之jax-ws

    【标题】:Web服务之Java API for XML Web Services (JAX-WS) 【内容详解】 JAX-WS,全称为Java API for XML Web Services,是Java平台上的一个标准,用于构建和部署基于SOAP(Simple Object Access Protocol)的...

    JAX-WS规范

    Java API for XML Web Services(JAX-WS)是Java平台上的一个标准,用于创建Web服务和客户端。它提供了一种简单、类型安全的方式来构建和消费基于SOAP的消息传递应用程序,是Java世界中实现Web服务的核心框架之一。...

    metro-jax-ws-jaxws221x.zip

    “metro-jax-ws-jaxws221x.zip”是一个宝贵的资源,对于想要学习和掌握JAX-WS的开发者来说,它可以提供一个完整的实践环境,帮助理解Web服务的生命周期、客户端和服务端的交互以及如何在实际项目中应用JAX-WS技术。...

    如何基于JAX-WS开发一个WebService实例

    JAX-WS提供了工具如`wsimport`,可以从服务接口自动生成WSDL文档和客户端存根类。在命令行中运行: ``` wsimport -keep -s src -p com.example.helloworld HelloWebService.java ``` 这将生成服务端所需的部署文件和...

    jax-ws2.1.zip

    JAX-WS是Java平台标准版(Java SE)和企业版(Java EE)的一部分,用于构建基于SOAP(Simple Object Access Protocol)的Web服务和客户端。这个压缩包可能包含了JAX-WS实现的核心库和其他相关组件。 **描述中的文件...

    JAX-WS 2.2 RI所有相关jar包

    JAX-WS 2.2 RI 所包含的JAR包集合,包含25个JAR包,列表如下: FastInoset.jar gmbal-api-only.jar ha-api.jar javax.annotation.jar javax.mail_1.4.jar jaxb-api.jar jaxb-impl.jar jaxb-xjc.jar jaxws-api...

    JAX-WS所需Jar包

    2. **jaxws-rt.jar**: JAX-WS运行时库,包含了运行JAX-WS服务和客户端所需的类和接口。它实现了服务端点接口(SEI, Service Endpoint Interface)和客户端代理接口,使得服务的开发和调用更加简单。 3. **jaxb-impl...

    jax-ws实现webservice调用

    JAX-WS提供了`wsimport`工具,它可以从WSDL生成Java客户端代理类。运行如下命令: ```bash wsimport -keep -verbose -servicename @{serviceName} -portname @{portName} http://serverAddress/HelloService?wsdl `...

    jax-ws webservice简单demo

    Java API for XML Web Services(JAX-WS)是Java平台上的一个标准,用于构建和部署Web服务。它简化了Web服务的开发,使得开发者能够使用Java编程语言来创建、调用和部署SOAP(Simple Object Access Protocol)服务。...

Global site tag (gtag.js) - Google Analytics