Petals ESB 开发之三 服务消息转换
? ? ? ?下一步,取名为: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来测试你的服务。
这里我的测试图,大家参考一下。
??
?导读: