现在的位置: 首页 > 综合 > 正文

webservices——发布CXF的方法总结!!!

2013年02月14日 ⁄ 综合 ⁄ 共 2592字 ⁄ 字号 评论关闭

注意:jar包还是*.jar哦!!!

 

先说发布的方法总结!

 

第一种:用一个j2se的main方法来发布

 

  1. public class Server {  
  2.     public static void main(String[] args) {  
  3.         Endpoint.publish("http://127.0.0.1:8080/cxf"new HelloImpl());  
  4.     }  
  5. }  

 

第二种用tomcat来发布

webX.xml:

  1. <servlet>  
  2.     <servlet-name>CXFServlet</servlet-name>  
  3.     <servlet-class>t.T</servlet-class>  
  4.     <init-param>  
  5.         <param-name>/hello</param-name>  
  6.         <param-value>t.HelloImpl</param-value>  
  7.     </init-param>  
  8.     <load-on-startup>1</load-on-startup>  
  9. </servlet>  
  10. <servlet-mapping>  
  11.     <servlet-name>CXFServlet</servlet-name>  
  12.     <url-pattern>/services/*</url-pattern>  
  13. </servlet-mapping>  

 

t.java:

  1. package t;  
  2.   
  3. import java.util.Enumeration;  
  4.   
  5. import javax.servlet.ServletConfig;  
  6. import javax.servlet.ServletException;  
  7. import javax.xml.ws.Endpoint;  
  8.   
  9. import org.apache.cxf.Bus;  
  10. import org.apache.cxf.BusFactory;  
  11. import org.apache.cxf.transport.servlet.CXFNonSpringServlet;  
  12.   
  13. public class T extends CXFNonSpringServlet {  
  14.   
  15.     private static final long serialVersionUID = -4143021604478775522L;  
  16.   
  17.     public void loadBus(ServletConfig servletConfig) throws ServletException {  
  18.         super.loadBus(servletConfig);  
  19.         Bus bus = this.getBus();  
  20.         BusFactory.setDefaultBus(bus);  
  21.         // 获取在web.xml中配置的要发布的所有的Web服务实现类并发布Web服务  
  22.         Enumeration<String> enumeration = this.getInitParameterNames();  
  23.         while (enumeration.hasMoreElements()) {  
  24.             String key = enumeration.nextElement();  
  25.             String value = this.getInitParameter(key);  
  26.             try {  
  27.                 Class clazz = Class.forName(value);  
  28.                 try {  
  29.                     Endpoint.publish(key, clazz.newInstance());  
  30.                 } catch (InstantiationException e) {  
  31.                     e.printStackTrace();  
  32.                 } catch (IllegalAccessException e) {  
  33.                     e.printStackTrace();  
  34.                 }  
  35.             } catch (ClassNotFoundException e) {  
  36.                 e.printStackTrace();  
  37.             }  
  38.         }  
  39.     }  
  40.   
  41. }  

 

第三种:还是用tomcat,但是采用spring的一些东东。

web.xml

  1. <context-param>  
  2.     <param-name>contextConfigLocation</param-name>  
  3.     <param-value>/WEB-INF/beans.xml</param-value>  
  4. </context-param>  
  5. <listener>  
  6.     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
  7. </listener>  
  8. <servlet>  
  9.     <servlet-name>CXFServlet</servlet-name>  
  10.     <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>  
  11.     <load-on-startup>1</load-on-startup>

抱歉!评论已关闭.