首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

应用JAX-WS调用WebService的短信接口

2012-09-18 
使用JAX-WS调用WebService的短信接口1、首先这个接口的WSDL如下:myargs[0] 签约企业短信账号myargs[1]

使用JAX-WS调用WebService的短信接口

1、首先这个接口的WSDL如下:

myargs[0] = "签约企业短信账号";myargs[1] = "签约企业短信密码";
QName serviceName = new QName(targetNamespace, serName);QName portName = new QName(targetNamespace, pName);javax.xml.ws.Service service = Service.create(serviceName);service.addPort(portName, SOAPBinding.SOAP11HTTP_BINDING,endpointAddress);Dispatch<SOAPMessage> dispatch = service.createDispatch(portName,SOAPMessage.class, Service.Mode.MESSAGE);BindingProvider bp = (BindingProvider) dispatch;Map<String, Object> rc = bp.getRequestContext();rc.put(BindingProvider.SOAPACTION_USE_PROPERTY, Boolean.TRUE);rc.put(BindingProvider.SOAPACTION_URI_PROPERTY, OPER_NAME);MessageFactory factory = ((SOAPBinding) bp.getBinding()).getMessageFactory();SOAPMessage request = factory.createMessage();SOAPBody body = request.getSOAPBody();QName payloadName = new QName(targetNamespace, OPER_NAME,XMLConstants.DEFAULT_NS_PREFIX);SOAPBodyElement payload = body.addBodyElement(payloadName);SOAPElement msg1 = payload.addChildElement("username");msg1.addTextNode(myargs[0].toString());SOAPElement msg2 = payload.addChildElement("pwd");msg2.addTextNode(myargs[1].toString());SOAPMessage reply = null;try {reply = dispatch.invoke(request);} catch (WebServiceException wse) {wse.printStackTrace();}SOAPBody soapBody = reply.getSOAPBody();SOAPBodyElement nextSoapBodyElement = (SOAPBodyElement) soapBody.getChildElements().next();SOAPElement soapElement = (SOAPElement) nextSoapBodyElement.getChildElements().next();String v = soapElement.getValue();v = java.net.URLDecoder.decode(v, "UTF-8");System.out.println("获取回应信息为:" + v);}}

关于如下使用JAX-WS创建发布和调用WebService请参考:http://fusesource.com/docs/framework/2.2/jaxws/index.html

 

热点排行