最近研究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);
}
分享到:
相关推荐
标题中的“一个包含jax-ws和jax-rs的例子(含服务端和客户端)”是指这是一个示例项目,它演示了如何使用Java API for XML Web Services (JAX-WS)和Java API for RESTful Web Services (JAX-RS)来创建和消费Web服务。...
`javax.xml.ws.Service`是JAX-WS规范的一部分,用于创建和实例化Web服务客户端。当这个类报错,通常是因为缺失了如wsimport工具或者相关的API依赖。而这个压缩包提供了解决这个问题的解决方案,用户只需将提供的四个...
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的...
在WebLogic服务器上部署JAX-WS服务时,可能会遇到一些配置问题。JAX-WS(Java API for XML Web Services)是Java平台上的一个标准,用于创建和部署Web服务。WebLogic作为一款强大的Java EE应用服务器,支持JAX-WS...
2. **jaxws-rt.jar**: JAX-WS运行时库,包含了运行JAX-WS服务和客户端所需的类和接口。它实现了服务端点接口(SEI, Service Endpoint Interface)和客户端代理接口,使得服务的开发和调用更加简单。 3. **jaxb-impl...
JAX-WS可以通过WSDL文件自动生成客户端代理类。 - **JAXB(Java Architecture for XML Binding)**:与JAX-WS配合使用,负责XML数据和Java对象之间的转换。当处理XML消息时,JAXB可以将XML数据解析成Java对象,反之...
Java API for XML Web Services (JAX-WS) 是Java平台上用于构建Web服务和客户端的API。这个"jax-ws WebService客户端与服务端工程.rar"压缩包文件包含了一个完整的示例,展示了如何使用JAX-WS创建和消费Web服务。让...
4. **客户端代理(Proxy):**JAX-WS提供了客户端API,允许开发者通过代理对象调用Web服务。这些代理对象是由`wsimport`工具生成的,它们封装了与服务器通信的细节。 5. **数据绑定:**JAX-WS使用JAXB(Java ...
通过WSDL,JAX-WS可以自动生成客户端代理类,使得调用Web服务如同调用本地Java方法一样简单。 10. **与Java EE的集成** 在Java EE环境中,JAX-WS服务可以轻松地部署在应用服务器上,利用容器提供的事务、安全性、...
基于jax-ws 实现的web service client和server端的demo程序。 注:如果使用的是 myeclipse 时 server 部署到tomcat 启动的时候会报错 解决办法:找到myeclipse安装目录下的 plugins 目录里 查找 webservices-rt.jar,...
创建JAX-WS客户端通常包括以下步骤: 1. **生成客户端代理**:使用`wsimport`工具,根据服务的WSDL生成Java客户端代理类。 ```bash wsimport -keep -verbose http://localhost:8080/HelloWorld?wsdl ``` 2. **...
**JAX-WS API** Java API for XML Web Services (JAX-WS) 是Java平台上的一个标准接口,用于创建和消费Web服务。它是Sun Microsystems在2004年推出的一个重要框架,旨在简化Web服务的开发,使得Java开发者能够更...
【标题】:Web服务之Java API for XML Web Services (JAX-WS) 【内容详解】 JAX-WS,全称为Java API for XML Web Services,是Java平台上的一个标准,用于构建和部署基于SOAP(Simple Object Access Protocol)的...
Java API for XML Web Services(JAX-WS)是Java平台上的一个标准,用于创建Web服务和客户端。它提供了一种简单、类型安全的方式来构建和消费基于SOAP的消息传递应用程序,是Java世界中实现Web服务的核心框架之一。...
“metro-jax-ws-jaxws221x.zip”是一个宝贵的资源,对于想要学习和掌握JAX-WS的开发者来说,它可以提供一个完整的实践环境,帮助理解Web服务的生命周期、客户端和服务端的交互以及如何在实际项目中应用JAX-WS技术。...
JAX-WS提供了工具如`wsimport`,可以从服务接口自动生成WSDL文档和客户端存根类。在命令行中运行: ``` wsimport -keep -s src -p com.example.helloworld HelloWebService.java ``` 这将生成服务端所需的部署文件和...
JAX-WS是Java平台标准版(Java SE)和企业版(Java EE)的一部分,用于构建基于SOAP(Simple Object Access Protocol)的Web服务和客户端。这个压缩包可能包含了JAX-WS实现的核心库和其他相关组件。 **描述中的文件...
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提供了`wsimport`工具,它可以从WSDL生成Java客户端代理类。运行如下命令: ```bash wsimport -keep -verbose -servicename @{serviceName} -portname @{portName} http://serverAddress/HelloService?wsdl `...
Java API for XML Web Services(JAX-WS)是Java平台上的一个标准,用于构建和部署Web服务。它简化了Web服务的开发,使得开发者能够使用Java编程语言来创建、调用和部署SOAP(Simple Object Access Protocol)服务。...