注解方式:
@Value("${profile.services.url}")
private String profileServiceUrl;
@Bean
public ProfileSoapService profileSoapService() {
final JaxWsProxyFactoryBean jaxWsProxyFactoryBean = new JaxWsProxyFactoryBean();
jaxWsProxyFactoryBean.setServiceClass(ProfileSoapService.class); //ProfileSoapService为ws的接口
jaxWsProxyFactoryBean.setAddress(profileServiceUrl);
return (ProfileSoapService) jaxWsProxyFactoryBean.create();
}
配置方式:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jaxws="http://cxf.apache.org/jaxws"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
<!-- 使用xml方式-->
<jaxws:client id="profileSoapService" serviceClass="com.xm.ProfileSoapService" address="${profile.services.url}"/>
<!-- 若有 Unable to locate Spring NamespaceHandler for XML schema namespace [http://cxf.apache.org/jaxws] 异常需在pom文件需要引入依赖 -->
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>3.1.10</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.cxf/cxf-rt-transports-http -->
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>3.1.10</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.cxf/cxf-rt-transports-http-jetty -->
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http-jetty</artifactId>
<version>3.1.10</version>
</dependency>