以前学习过WebService调用,是通过WSDL文件生成接口,然后在通过接口RPC进行调用,这种方法比较麻烦。于是找到了下面的方法,不需要根据文件来生成,直接给出WSDL文件的地址即可完成
以前学习过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