webservice接口采用的协议是soap协议,和我们常用的http协议不同。故不能用调用http的形式调用webservice接口
soap协议:是一种轻量的、简单的、基于XML(标准通用标记语言下的一个子集)的协议
http协议:http是标准超文本传输协议
如何调用webservice接口(我比较常用的),当然,这只是其中之一。其他的自行百度吧
需要两个jar包:
api("org.apache.cxf:cxf-rt-frontend-jaxws:3.4.1") api(‘org.apache.cxf:cxf-rt-transports-http:3.4.1‘)
然后需要一个调用的客户端,如下:
/** * @author xiaoxin */ @Slf4j public class WebServiceUtils { /** * @param url 请求路径 * @param message 报文 * @param method 需要调用的方法名字 * @return */ public static String sendWsdl(String url, String message, String method) { //创建JaxWsDynamicClientFactory作为调用客户端; JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance(); try { //客户端调用wsdl地址 Client client = dcf.createClient(url); Object[] objects = client.invoke(method, new Object[]{message}); return String.valueOf(objects[0]); } catch (Exception e) { log.error("调用webservice接口Exception{}", e); BusinessException.throwBusinessException(e.getMessage()); } return null; } }