1.pom文件引入相关配置
<!-- CXF webservice -->
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>3.0.3</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>3.0.3</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxrs</artifactId>
<version>3.0.3</version>
</dependency>
2.解压CXF压缩包,并进入bin目录下,开启命令行模式:
3.拷贝生成的实体类和接口文件
4.引入CXF引用配置文件 application-cxf-client.xml
<?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">
<import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
<!--
远程处理类创建工厂
serviceClass:远程接口
address:远程调用地址
-->
<bean id="factoryBean" class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
<property name="serviceClass" value="com.xinyi.wms.client.webservice.service.IStudentService1"/>
<property name="address" value="http://localhost:8088/ws/studentService?wsdl"></property>
</bean>
<!-- 服务类可以直接通过@Autowried注入 -->
<bean id="studentService"
class="com.xinyi.wms.client.webservice.service.IStudentService1"
factory-bean="factoryBean"
factory-method="create">
</bean>
</beans>
5.写测试类
package com.xinyi.wms.manager.test;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import com.alibaba.fastjson.JSON;
import com.xinyi.wms.api.entity.Student;
import com.xinyi.wms.client.webservice.service.IStudentService1;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:application-cxf-client.xml")
public class WebServiceTest {
@Autowired
private IStudentService1 student1;
@Test
public void test(){
Student student = student1.getStudentByName("wency");
System.out.println(JSON.toJSONString(student));
}
}
效果图: