使用Apache CXF创建Web Service

官方主页:http://cxf.apache.org/

  下载后内附详细的sample。这里先演示一个最简单的工程。

  如下图所示建立工程:

使用Apache CXF创建Web Service

  客户端测试代码:TestServiceClient.java

  packagejp.co.apm.client;

importjp.co.apm.service.TestService;
  
importorg.apache.cxf.frontend.ClientProxyFactoryBean;
  
publicclassTestServiceClient{
  
  publicstaticvoidmain(String[]args){
    ClientProxyFactoryBeanfactory=newClientProxyFactoryBean();
    factory.setServiceClass(TestService.class);
    factory.setAddress("http://localhost:8080/APM_CXF/services/test");
    TestServiceservice=(TestService)factory.create();
    System.out.println(service.sayHello());
  }
}

  TestServiceImpl.java

packagejp.co.apm.service.impl;
  
importjp.co.apm.service.TestService;
  
publicclassTestServiceImplimplementsTestService{
  
  publicStringsayHello(){
    return"Hello,ShenBin";
  }
}

  TestService.java

packagejp.co.apm.service;
  
publicinterfaceTestService{
  
  publicStringsayHello();
}

  cxf-servlet.xml

<?xmlversion="1.0"encoding="UTF-8"?>
<beansxmlns="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:simple="http://cxf.apache.org/simple"
  xmlns:soap="http://cxf.apache.org/bindings/soap"
  xsi:schemaLocation="
http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://cxf.apache.org/bindings/soaphttp://cxf.apache.org/schemas/configuration/soap.xsd
http://cxf.apache.org/simplehttp://cxf.apache.org/schemas/simple.xsd">
  
  <simple:serverid="testservice"serviceClass="jp.co.apm.service.TestService"address="/test">
    <simple:serviceBean>
      <beanclass="jp.co.apm.service.impl.TestServiceImpl"/>
    </simple:serviceBean>
  </simple:server>
  
</beans>

  web.xml

<?xmlversion="1.0"encoding="UTF-8"?>
<web-appversion="2.5"xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
  http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  
  <display-name>APM</display-name>
  <description>APM</description>
  <servlet>
    <servlet-name>APM</servlet-name>
    <servlet-class>
      org.apache.cxf.transport.servlet.CXFServlet
    </servlet-class>
    <load-on-startup>2</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>APM</servlet-name>
    <url-pattern>/services/*</url-pattern>
  </servlet-mapping>
  <session-config>
    <session-timeout>60</session-timeout>
  </session-config>
</web-app>

  启动Tomcat,访问: http://localhost:8080/APM_CXF/services/test?wsdl

  运行TestServiceClient.java测试结果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
创建基于Apache CXFweb service,需要按照以下步骤进行: 1. 安装Apache CXF 首先,需要下载并安装Apache CXF。可以从官方网站下载最新版本的CXF,并按照官方文档进行安装。 2. 创建Java创建一个包含web service方法的Java类。这个类应该用@WebService注解进行注释。 例如: ``` package com.example; import javax.jws.WebService; @WebService public class HelloWorld { public String sayHello(String name) { return "Hello " + name + "!"; } } ``` 3. 创建CXF配置文件 在项目的resources目录下创建一个名为cxf.xml的文件,用于配置CXF。 例如: ``` <?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"> <jaxws:endpoint id="helloWorld" implementor="com.example.HelloWorld" address="/HelloWorld" /> </beans> ``` 这个文件指定了一个名为helloWorld的web service,它的实现类是com.example.HelloWorld,并且它的地址是/HelloWorld。 4. 配置web.xml 在项目的web.xml文件中添加CXFServlet,并将它映射到/*。 例如: ``` <servlet> <servlet-name>CXFServlet</servlet-name> <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>CXFServlet</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> ``` 5. 运行web service 现在可以启动web service并测试它了。可以使用任何支持SOAP协议的客户端(如SoapUI)来测试web service。 启动web service后,在浏览器中输入http://localhost:8080/YourAppName/HelloWorld?wsdl,应该能够看到web service的WSDL文档。 以上就是创建基于Apache CXFweb service的步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值