AXIS呼叫webservice(二)
阿新 • • 發佈:2018-12-20
public String invoke(String xmlStr, String operation, String url) throws WebserviceException { Service service = new Service(); try { Call call = (Call) service.createCall(); call.setTargetEndpointAddress(new java.net.URL(url)); call.setTimeout(30*1000); DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); dbf.setNamespaceAware(true); Document doc =dbf.newDocumentBuilder().parse(new InputSource(new StringReader(xmlStr))); call.setEncodingStyle(null); RPCElement body = new RPCElement(operation); body.setNamespaceURI("http://XXX.com"); MessageElement me = new MessageElement(doc.getDocumentElement()); body.addChild(me); Vector<RPCElement> ret = (Vector<RPCElement>) call.invoke(new Object[] {body}); RPCElement result = ret.firstElement(); System.out.println("結果-------"+result.getAsString()); return result.getAsString(); } catch (Exception e) { log.error("呼叫XXX失敗", e); throw new WebserviceException("呼叫XXX失敗"); } }