IBM MB 调用外部Web Service封装为新的Web service
最近因为项目原因,初次接触IBM的MQ中间件,并且MB开发消息流项目。在开发中,用得最多的是MB自己发布一个Web Service,或是调用外部的Web Service并重新封闭成一个Web service。关于MQ,MB的介绍,在此就不多讲了,网上有很多资料,关于MB把消息流发布为Web Service,我在网上也找到一份详细却又简单的资料,在此公布链接出来。
WebSphere中间件技术论坛:http://www.webspherechina.net/club/
MB把消息流发布为Web Service:http://wenku.baidu.com/view/783300717fd5360cba1adb96.html
对外免费的Web Service:http://blog.sina.com.cn/s/blog_6ff1afa90100s49c.html
在这篇博客里重点是调用外部的Web Service 。
1、准备要调用的外部服务的wsdl文件。
以腾讯QQ在线状态 WEB 服务:http://webservice.webxml.com.cn/webservices/qqOnlineWebService.asmx为例。
在浏览器中输入http://webservice.webxml.com.cn/webservices/qqOnlineWebService.asmx?wsdl可以看到服务对外公布的wsdl文件,
另存为此文件为qqOnlineWebService.wsdl到本地计算机上。
2、在MB中新建消息集qqmsp
3、定义消息文件。
a、选中第2步新建的消息集qqmsp,右键:新建->消息定义文件基于->WSDL文件。
b、选择第一步中准备好的wsdl文件,下一步。可以从工作空间选择文件,也可以从工作区外选择文件,选择浏览找到wsdl文件
c、选择wsdl绑定方式:一般对外公布的服务都有:http get,http post ,soap1.1,soap1.2四种方式,在MB中建议使用soap1.1,即只勾选Soap那一项。
完成后,可以看到MB自动生成了一些文件。
4、新建消息流项目qqmfp。右键:新建->消息流项目。下一步时,选择依赖消息集qqmsp
5、新建消息流。在第四步建的消息流项目中新建消息流qqmf.
6、拖动消息集qqmsp 中的可部署的WSDL到消息流qqmf中。
a、第一步拖动:选择web Service用途为:将消息流作为Web Service公开。
点击下一步。默认的节点类型为Soap节点,不用改变,点击完成。
b、第二步拖动:选择web Service用途为:从消息流调用Web Service。直接完成即可。
7、连接消息流中节点
8、设置节点公布wsdl:单击Soap Input节点,查看属性,在HTTP传输方法标签中勾选“是否启用对wsdl支持?”
9、归档,部署(略)
10、测试。
MB提供测试。把MB视图切换为Java EE ,
使用Web service资料管理器测试
但这时,测试的是http://webservice.webxml.com.cn/webservices/qqOnlineWebService.asmx,而不是本地进行包装后重新发布的服务。
可以使用SoapUI工具,进行测试。测试时输入地址为:http://127.0.0.1:7800/webservices/qqOnlineWebService.asmx
也可在SoapInput节点的HTTP传输方法中查看地址:URL的路径:
说明:本文为原创文章,转载引用请说明出处。