您的位置:首页 > 其它

基于SAAJ的Web服务----(四)使用原始的XML源和DOM创建web服务客户端

2013-01-05 16:20 393 查看
服务端依旧使用(一)中的服务,客户端代码如下:

public void extractPayloadSOAP() {
		try {
			URL wsdl = new URL("http://localhost:8080/test/HelloWorld?wsdl");
			String ns = "http://server.hw.demo/";
			String svcName = "HelloWorld";
			QName svcQName = new QName(ns, svcName);
			Service service = Service.create(wsdl, svcQName);
			String portName = "HelloWorldImplPort";
			QName portQName = new QName(ns, portName);
			Dispatch<Source> dispatch = service.createDispatch(portQName,Source.class, Service.Mode.PAYLOAD);
			
			String payload = "<sayHi xmlns='http://server.hw.demo/'></sayHi>";
			StreamSource request = new StreamSource(new StringReader(payload));
			System.out.println("invoking......");
			Source bookResonse = dispatch.invoke(request);
			DOMResult dom = new DOMResult();
			Transformer trans = TransformerFactory.newInstance().newTransformer();
			trans.transform(bookResonse, dom);
			String value = dom.getNode().getFirstChild().getTextContent();
			System.out.println("value:"+value);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}




输出结果为,如下:

invoking......
value:Hello
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: