例子三:使用servicemix-cxf-bc组件代理WebService

这个例子主要是通过在tomcat 中发布一个WebService,然后通过在ServiceMix 中部署
servicemix-cxf-bc组件来代理tomcat中WebService的访问。

1.创建一个Dynamic Web project,名为HelloWorld

2.在src中新建package,包名为net.kentop.ws

3.在net.kentop.ws包中新建class,类名为HelloWorld

4.修改HelloWorld.java文件如下

  1. package net.kentop.ws;  
  2.   
  3. public class HelloWorld {  
  4.     public String sayHello(String name) {  
  5.         return "Hello " + name;  
  6.     }  
  7. }  

5.为HelloWorld项目创建Server,并启动Server

6.为HelloWorld.java文件创建WebService

7.测试webservice

点击Operations Name为sayHello的链接

在文本框中输入数据,点击“GO”按钮

下方会显示如下信息,表示测试成功

8.创建名为servicemix-cxf-bc-demo的Maven Project项目根目录

9.在根项目下创建名为cxf-bc-su-demo的servicemix-cxf-bc-service-unit

10.将HelloWorld项目下WebContent/wsdl/HelloWorld.wsdl文件拷贝到cxf-bc-su-demo/resources目录下,并将service.wsdl删除

11.将HelloWorld.wsdl如下代码

[xhtml] view plain copy
  1. <wsdl:service name="HelloWorldService">  
  2.   
  3.       <wsdl:port binding="impl:HelloWorldSoapBinding" name="HelloWorld">  
  4.   
  5.          <wsdlsoap:address location="http://localhost:8080/HelloWorld/services/HelloWorld"/>  
  6.   
  7.       </wsdl:port>  
  8.   
  9.    </wsdl:service>  

修改成

[xhtml] view plain copy
  1. <wsdl:service name="HelloWorldServiceProxy">  
  2.   
  3.       <wsdl:port binding="impl:HelloWorldSoapBinding" name="HelloWorldProxy">  
  4.   
  5.          <wsdlsoap:address location="http://localhost:8193/HelloWorld/"/>  
  6.   
  7.       </wsdl:port>  
  8.   
  9.    </wsdl:service>  

12.修改resources目录下的xbean.xml文件如下

[xhtml] view plain copy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2.   
  3. <beans xmlns:ws="http://ws.kentop.net" xmlns="http://www.springframework.org/schema/beans"  
  4.     xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0" xmlns:xsi="http://http://www.w3.org/2001/XMLSchema-instance"  
  5.     xsi:schemaLocation="http://servicemix.apache.org/cxfbc/1.0 http://servicemix.apache.org/schema/servicemix-cxfbc-3.2.3.xsd  
  6.        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">  
  7.   
  8.     <cxfbc:consumer wsdl="classpath:HelloWorld.wsdl"  
  9.         service="ws:HelloWorldServiceProxy" endpoint="ws:HelloWorldProxy"  
  10.         targetEndpoint="ws:HelloWorld" targetService="ws:HelloWorldService" />  
  11.   
  12.     <cxfbc:provider  
  13.         wsdl="http://localhost:8080/HelloWorld/services/HelloWorld?wsdl"  
  14.         service="ws:HelloWorldService" endpoint="ws:HelloWorld" />  
  15.   
  16. </beans>  

13.在根项目下创建名为cxf-bc-sa-demo的servicemix-service-assembly

14.在cxf-bc-sa-demo目录下pom.xml文件的dependencies节点添加依赖

<dependency>
     <groupId>org.apache.servicemix.samples</groupId>
     <artifactId>cxf-bc-su-demo</artifactId>
     <version>0.0.1-SNAPSHOT</version>
     <type>jbi-service-unit</type>
    </dependency>

15.执行mvn install,如果BUILD SUCCESSFUL,则将servicemix-cxf-bc-demo/cxf-bc-sa-demo/target/cxf-bc-sa-demo-0.0.1-SNAPSHOT.jar拷贝到ServiceMix-Home/hotdeloy目录下,启动ServiceMix,部署成功后,在浏览器中浏览http://localhost:8193/HelloWorld/?wsdl判断是否能访问成功.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值