介绍
本篇内容主要讲解“SpringBoot调用第三方WebService接口的操作技巧”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SpringBoot调用第三方WebService接口的操作技巧”吧!
依赖
引入相关依赖:
& lt; !——,网络服务——比; ,& lt; dependency> ,,,,,& lt; groupId> org.springframework.boot ,,,,,& lt; artifactId> spring-boot-starter-web-services & lt;才能/dependency> & lt;才能!——,CXF webservice ——比; & lt;才能dependency> ,,,,,& lt; groupId> org.apache.cxf ,,,,,& lt; artifactId> cxf-spring-boot-starter-jaxws ,,,,,& lt; version> 3.2.1 & lt;才能/dependency> & lt;才能dependency> ,,,,,& lt; groupId> org.apache.cxf ,,,,,& lt; artifactId> cxf-rt-transports-http ,,,,,& lt; version> 3.2.1 & lt;才能/dependency>
浏览webService提供的方法,确定入参顺序直接在浏览器里面访问url,如下
用SoapUI工具
用些是。asmx格式,也可以直接在浏览器访问。会列出方法列表
代码
创建客户:
package com.gqzdev.sctads.configuration; import com.gqzdev.sctads.constant.CommonConstant; import lombok.extern.slf4j.Slf4j; import org.apache.cxf.endpoint.Client; import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory; import org.apache.cxf.transport.http.HTTPConduit; import org.apache.cxf.transports.http.configuration.HTTPClientPolicy; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;/* * ,* @author gqzdev ,* @date 2021/08/26  15:53 * */@ configuration @Slf4j public class  JaxWsClientConfig { ,,,@ bean (“JaxWsClient") ,,,public Client 客户端(),{ ,,,,,,,//,创建动态客户端 ,,,,,,,JaxWsDynamicClientFactory clientFactory =, JaxWsDynamicClientFactory.newInstance ();//CommonConstant.PUBLIC_SECURITY_URL为连接的url,如http://10.189.200.170:9201 wharfWebService/服务/WharfService ? wsdl ,,,,,,,log.info (“publicsecurity  webService url :, {},,, CommonConstant.PUBLIC_SECURITY_URL); ,,,,,,,//创建客户端 ,,,,,,,Client Client =, clientFactory.createClient (CommonConstant.PUBLIC_SECURITY_URL); ,,,,,,,HTTPConduit conduit =, (HTTPConduit), client.getConduit (); ,,,,,,,HTTPClientPolicy policy =, new HTTPClientPolicy (); ,,,,,,,policy.setAllowChunking(假); ,,,,,,,//,连接服务器超时时间,10秒 ,,,,,,,policy.setConnectionTimeout (10000); ,,,,,,,//,等待服务器响应超时时间,20秒 ,,,,,,,policy.setReceiveTimeout (20000); ,,,,,,,conduit.setClient(政策); ,,,,,,,return 客户端; ,,,} }
有了客户端,便可以直接注入调用调用。找到自己需要调用的方法:
下面只展示一个方法的调用演示,其他的类似
package com.gqzdev.sctads.service.impl; import com.gqzdev.sctads.constant.CommonConstant; import com.gqzdev.sctads.service.PublicSecurityService; import lombok.extern.slf4j.Slf4j; import org.apache.cxf.endpoint.Client; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Component; import javax.xml.namespace.QName;/* * ,* @author gqzdev ,* @date 2021/08/26  15:24 * */@Slf4j @ component public class  PublicSecurityServiceImpl implements PublicSecurityService  { ,,@ autowired ,,,@ qualifier (“JaxWsClient") ,,,private Client 客户端; ,,,/* * ,,,,*,旅客登记 null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null nullSpringBoot调用第三方WebService接口的操作技巧