前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >web项目使用cxf+spring搭建WebService,并部署到远程

web项目使用cxf+spring搭建WebService,并部署到远程

作者头像
故久
发布2020-06-04 15:03:43
5670
发布2020-06-04 15:03:43
举报
文章被收录于专栏:故久故久
代码语言:javascript
复制
CXF方式
代码语言:javascript
复制
以下是项目的具体结构
代码语言:javascript
复制
先将jar包放到lib下
代码语言:javascript
复制
然后再去配置web.xml
代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>CXFWebservice</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  
 <context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:/applicationContext.xml</param-value>
</context-param>

<listener>     
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<!-- Character Encoding filter -->

<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>

<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>

</filter>

<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<servlet>
<servlet-name>CXFServlet</servlet-name>  
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/webservice/*</url-pattern>
</servlet-mapping>
  
</web-app>
代码语言:javascript
复制
classpath:/applicationContext.xml 是spring 配置文件的路径

/webservice/* 是wsdl的地址内容

编写接口和实现类,注意写注解
代码语言:javascript
复制
//接口类

@WebService
public interface SendService {
		public boolean sendOA(@WebParam(name="param")String param);

}





//接口的实现类

@WebService(endpointInterface="com.siyuan.SendService",serviceName="sendService")
public class SendServiceImpl implements SendService{

	@Override
	public boolean sendOA(String param) {
		System.out.println("-------sendOA---------param:"+param);

		if(param.equals("alice")){

		return true;

		}

		return false;
	}
	

}
代码语言:javascript
复制
配置spring的文件
代码语言:javascript
复制
<?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:p="http://www.springframework.org/schema/p"

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">
      

 

<jaxws:endpoint id="sendServie" implementor="com.siyuan.SendServiceImpl"

address="/sendServie" />



<!-- <jaxws:client id="sendServiceClient" serviceClass="com.service.SendService"

address="http://10.137.138.11:9080/Wb/webservice/sendServie?wsdl"  />-->

 

</beans>
代码语言:javascript
复制
“jaxws:client”该标签可以不必写,访问时可以手动拼接该url 

发布到tomcat里面  eclipse中启动

说明服务发布成功,访问该项目http://localhost:8080/CXFWebservice/webservice

可以看到该工程有两个服务,点击wsdl的连接可以看到下图信息

当然也可以将此项目打成war包放到远程服务器上

再启动tomcat去进行访问远程服务器的ip+tomcat端口号

代码语言:javascript
复制
CXF的webservice的客户端调用方式
代码语言:javascript
复制
	public static void main(String[] args) throws Exception, IllegalAccessException, InvocationTargetException {

		JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();

		Client client = dcf.createClient("http://localhost:8080/CXFWebservice/webservice/sendServie?wsdl");

		client.invoke("sendOA", "aa");

		}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档