1. 程式人生 > >AXIS呼叫webservice(二)

AXIS呼叫webservice(二)

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失敗");
		}

	}