最近研究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);
}
分享到:
相关推荐
- **服务代理生成**:通过WSDL文件,JAX-WS的wsimport工具可以生成客户端所需的Java类,这些类提供了调用Web服务的方法。 - **服务调用**:使用生成的客户端代码,可以通过服务代理类调用远程Web服务的方法。 3. ...
本资源的标题"Java EE平台上实现Web服务及多种客户端实例-小结"表明它聚焦于总结如何在Java EE环境中创建和消费Web服务,并提供了不同客户端的应用示例。 Web服务是一种通过HTTP协议传输数据的方式,它允许不同...
14.5.2. 小结 14.6. 文档视图(PDF/Excel) 14.6.1. 简介 14.6.2. 配置和安装 14.7. JasperReports 14.7.1. 依赖的资源 14.7.2. 配置 14.7.3. 构造ModelAndView 14.7.4. 使用子报表 14.7.5. 配置Exporter的...
14.5.2. 小结 14.6. 文档视图(PDF/Excel) 14.6.1. 简介 14.6.2. 配置和安装 14.7. JasperReports 14.7.1. 依赖的资源 14.7.2. 配置 14.7.3. 构造ModelAndView 14.7.4. 使用子报表 14.7.5. 配置Exporter的...
#### 小结 Documentum 6.5 的架构设计充分体现了 SOA 的思想,通过提供一系列标准化的服务接口和支持工具,使得开发者可以轻松地构建、管理和维护复杂的企业内容管理系统。这种架构不仅提高了系统的可扩展性和灵活...
#### 15.10 小结 通过本章的学习,开发者不仅掌握了使用XFire和MyEclipse开发Web服务的基础知识,还深入了解了Web服务的原理、开发流程和技术要点。无论是创建简单的“Hello World”服务,还是构建复杂的天气预报...