??? 以前学习过WebService调用,是通过WSDL文件生成接口,然后在通过接口RPC进行调用,这种方法比较麻烦。于是找到了下面的方法,不需要根据文件来生成,直接给出WSDL文件的地址即可完成服务的调用:
?
try {
?????????? Service service = new Service();
??????????? Call call = new Call(service);
??????????? call.setTargetEndpointAddress(esbService.getEndPointURL());
??????????? call.setSOAPActionURI(esbService.getSOAPActionURI());
??????????? InputStream input = new ByteArrayInputStream(reqStr.trim().getBytes(ESBConsts.UTF_8));// 请求的xml文件输入流
??????????? SOAPEnvelope request = new SOAPEnvelope(input);
??????????? SOAPEnvelope response = call.invoke(request);
??????????? Document resultDoc = response.getAsDocument();
??????? } catch (Exception e) {
??????????? e.printStackTrace();
}
?
??? 注:使用前需要引入jar包 axis.jar