java调用别人soap接口
我们项目中经常用到调用第三方接口,今天说说java中调用别人soap风格接口的两种方式
第一种:
第一种方式就是常用的feign了,话不多说,直接上图
重点在于注解@FeignClient 和@Headers,拿到接口中返回的串后,在业务层解析即可。
第二种:
第二种方式就是使用httpClient,提交post请求的方式,上图
解析返回字符串即可!
第二种方式附加代码如下:
private String getResult(String url, String xml) throws Exception {
PostMethod postMethod = new PostMethod(url);
// 然后把Soap请求数据添加到PostMethod中
byte[] b = xml.getBytes("utf-8");
InputStream is = new ByteArrayInputStream(b, 0, b.length);
RequestEntity re = new InputStreamRequestEntity(is, b.length,"text/xml; charset=UTF-8");
postMethod.setRequestEntity(re);
// 最后生成一个HttpClient对象,并发出postMethod请求
HttpClient httpClient = new HttpClient();
int statusCode = httpClient.executeMethod(postMethod);
String soapResponseData= "";
if(statusCode == 200) {
log.info("调用成功!");
soapResponseData = postMethod.getResponseBodyAsString();
}
else {
log.info("调用失败!错误码:" + statusCode);
}
return soapResponseData;
}
完结,撒花~~~~