博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CXF学习笔记(3)-HelloWorld!-通过servlet发布webservice .
阅读量:4131 次
发布时间:2019-05-25

本文共 2242 字,大约阅读时间需要 7 分钟。

前面有篇文章介绍了发布CXF webservice的方法,在这篇文章中并没有启动web服务,笔者也提出了自己的一些疑问与思考,接下来的文章是上一篇文章疑问的解答,这里将通过servlet的方式来发布webservice

1.编写服务发布servlet-WebServiceServlet

   --因为CXF提供的Demo以及网上大多例子都是和spring框架集成的,这里我们没有用spring,而是一个纯粹的cxf环境,让我们的servlet继承自CXFNoSpringSevlet--这个名字太直接了,呵呵

[java]
  1. package com.crazycoder2010.webservice.cxf.server.servlet;  
  2.   
  3. import javax.servlet.ServletConfig;  
  4. import javax.xml.ws.Endpoint;  
  5.   
  6. import org.apache.cxf.transport.servlet.CXFNonSpringServlet;  
  7.   
  8. import com.crazycoder2010.webservice.cxf.server.HelloWorldServiceImpl;  
  9.   
  10. public class WebServiceServlet extends CXFNonSpringServlet {  
  11.     private static final long serialVersionUID = -5314312869027558456L;  
  12.   
  13.     @Override  
  14.     protected void loadBus(ServletConfig servletConfig) {  
  15.         super.loadBus(servletConfig);  
  16.         System.out.println("#####################");  
  17.         Endpoint.publish("/helloWorldService"new HelloWorldServiceImpl());  
  18.     }  
  19. }  
package com.crazycoder2010.webservice.cxf.server.servlet;import javax.servlet.ServletConfig;import javax.xml.ws.Endpoint;import org.apache.cxf.transport.servlet.CXFNonSpringServlet;import com.crazycoder2010.webservice.cxf.server.HelloWorldServiceImpl;public class WebServiceServlet extends CXFNonSpringServlet {	private static final long serialVersionUID = -5314312869027558456L;	@Override	protected void loadBus(ServletConfig servletConfig) {		super.loadBus(servletConfig);		System.out.println("#####################");		Endpoint.publish("/helloWorldService", new HelloWorldServiceImpl());	}}
2.复写loadBus类

    在这个方法当中把我们要对外提供的服务配置在里面,比如我们的服务名称为helloWorldService--注意这个方法只在第一次访问时才被触发,也就是我们那行打印语句只执行一遍

3.配置WebServiceServlet

    在web.xml中对我们的servlet进行配置,这里为了统一管理所有的webservice请求,我们将webservice统一放在/webservice/路径下(相对)

[html]
  1. <servlet>  
  2.     <servlet-name>webservice</servlet-name>  
  3.     <servlet-class>com.crazycoder2010.webservice.cxf.server.servlet.WebServiceServlet</servlet-class>  
  4. </servlet>  
  5. <servlet-mapping>  
  6.     <servlet-name>webservice</servlet-name>  
  7.     <url-pattern>/webservice/*</url-pattern>  
  8. </servlet-mapping>  
webservice
com.crazycoder2010.webservice.cxf.server.servlet.WebServiceServlet
webservice
/webservice/*
4.启动tomcat服务器通过http://localhost:8080/CXF-Server/webservice/helloWorldService?wsdl访问webservice是不是看到和第一节同样的东东了

转载地址:http://subvi.baihongyu.com/

你可能感兴趣的文章
X-Code 报错 ld: library not found for -lAFNetworking
查看>>
Bitcode
查看>>
If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
查看>>
3.5 YOLO9000: Better,Faster,Stronger(YOLO9000:更好,更快,更强)
查看>>
iOS菜鸟学习--如何避免两个按钮同时响应
查看>>
How to access the keys in dictionary in object-c
查看>>
iOS菜鸟学习—— NSSortDescriptor的使用
查看>>
hdu 3787 hdoj 3787
查看>>
hdu 3790 hdoj 3790
查看>>
hdu 3789 hdoj 3789
查看>>
hdu 3788 hdoj 3788
查看>>
zju 1003 zoj 1003
查看>>
zju 1004 zoj 1004
查看>>
zju 1005 zoj 1005
查看>>
zju 1006 zoj 1006
查看>>
【虚拟机】虚拟化架构与系统部署(Windows系统安装)
查看>>
字节跳动安卓开发实习生面试分享
查看>>
好书分享之——《能力陷进》
查看>>
阅读笔记《c++ primer》
查看>>
阅读笔记《C++标准程序库》
查看>>