Petals ESB 开发之三 服务消息转换

        今天根据实际业务做一个小实验,遵从JSR181规范来写些代码。(代码控比较喜欢)

        业务场景描述:

       1)客户端发出一个内部代码,比如000000 (代表国家局),而ESB要输出给消费者 000000[国家局]。

       2)客户端发出一个自己的内部代码,比如GJJ(代表国家局),而ESB要输出给消费者 000000[国家局]。

       3)客户端发出一个内部代码,比如0000_TO_1100,表示要从1100这个服务器取得结果返回结果,也就是通过ESB再次访问一个Web Service,返回结果。

 

       开发前准备。

       1,Web service使用Petals ESB 开发之一 代理Web Service 当中的Hello.war包为准。

       2,使用Petals Studio 1.3.4进行开发。

 

       开发思路。

      1)提供者:ESB做这Web service的客户端直接调用第三方的服务,根据返回结果再做加工处理。

      2)消费者:把刚才的Service发布成SOAP协议的WEB服务

      (其实,还有一种工作思路,就是通过取得JBIContextManager取到服务组件当中的资源,通过jbiContext.getMessageSender().send来发送请求。后面的教学当中会加入。)

 

      开始了

 

     第一步,创建服务组件,命名为:ConvertHello

     第二步,创建提供者,使用jsr181创建java文件,如下图所示:

    

       下一步,取名为:su-Jsr181-ConvertHello-provide,

       使用下一步,如下图所示:



     这里有两种方式来创建脚本,

     其中,JAX-WS实现类,要把名称写的符合规范,否则不允许通过,也就是命名必须为驼峰方式。

     另外,通过WSDL来做定义,这里不是把WSDL直接转成JAVA的样式,也不去直接调用原来的HelloESB.wsdl,只是生成类似的代码。这种方法的设计可能是想原来的Web Service拥有相同的接口,这样方便调用者直接使用,不需要再次修改接口,官方建议使用JBIContextManager来调用,后面的章节会讲到。

    第三步,把WSDL转换成JAVA客户端代码。方法如下。



 要把生成的JAVA文件放在指定的目录 ,这个很重要哟,看清楚了大家。

 

 生成的代码,有部分是报错的,可以先注解掉。

 

      第四步,修改CovertHello.java,代码如下: 

     

@WebMethod( operationName="hello" )
	@WebResult( name="returnMessage" )
	public String hello( @WebParam( name="message" )String message) {
		HelloESBPortType hello = new HelloESB().getHelloESBHttpPort();
		String newMessage = "";
		if (message==null || message.equals("")){
			return "Hello World!";
		}
		if (message.equals("0000000")|| message.equalsIgnoreCase("GJJ")){
			newMessage ="0000000[国家局]";
		}
		if (message.contains("_TO_")){
			//调用其它的Web service,这里省略。
		}
		return hello.hello(newMessage);
	}

    第五步,生成WSDL

 



   遇到警告,直接Yes

    第六步,创建消费者

   1)选择SOAP协议,

   2)选择刚才的服务。



 3)保存为su-SOAP-CovertHello-consume项目,

 4)把刚才的提供者和消费者都加到服务组件当中。

5) 把服务组件生成部署包,右键->Petals->Fast Export to Petals

5)把服务组件部分部署到你的%ESB Install Dir% 目录下,会自动安装。

     第七步,使用soap来测试你的服务。

这里我的测试图,大家参考一下。



  

 导读:

  1.  Petals ESB 简介 
  2. Petals ESB 安装部署

  3. Petals ESB 开发之一 代理Web Service 

  4. Petals ESB 开发之二    协议转换
  5. Petals ESB 开发之三    服务消息转换
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值