加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-17 00:26:14 所属栏目:安全 来源:网络整理
导读:这个例子主要是通过在tomcat 中发布一个WebService,然后通过在ServiceMix 中部署 servicemix-cxf-bc组件来代理tomcat中WebService的访问。 1.创建一个Dynamic Web project,名为HelloWorld 2.在src中新建package,包名为net.kentop.ws 3.在net.kentop.ws包中

这个例子主要是通过在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文件如下

[java] view plain copy
  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判断是否能访问成功.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读