Mule web service调用中的复杂类型传递
Mule版本: 1.4.4
官网上很辛苦在一个旮旯里找到如何向 Mule暴露的axis web service 传递复杂数据类型 ,http://www.mulesource.org/pages/viewpage.action?pageId=4678, 官网上只提供了原理,自己补充了一下客户端测试代码,部分服务类做了修改。
类清单:
Person: 数据类,测试复杂数据类型的传递
PersonService: 服务接口类
PersonServiceImpl: 服务实现类。
PersonServiceLaucher: Mule服务器启动类
PersonClient: 客户端测试类。
person-config.xml, Mule 配置,其中将 PersonServiceImpl 暴露为一个axis1.4的服务。
1. Person数据类
4. person-config.xml
5. server启动
测试过程:
1) 启动Mule服务容器
2) 执行PersonClient
总结:
1) Mule暴露POJO为一个服务还是很简单的, 配置非常少
2) 传递和返回Java复杂数据类型,自定义数据类型都非常方便。不过,客户端需要明确知道每个方法传递的参数个数和类型,以及返回的参数类型,并且需要自己type cast。 在具体项目中,可以自己再做一层封装或用AOP, 以本地调用的方式调用 mule 的web service。
1 楼 portrait 2009-03-05 好例子啊 正在找这样的例子 网上这样的例子实在是太少了 2 楼 portrait 2009-03-12 lz有没有Mule版本是2.1.2的啊 公司项目要用 3 楼 raymond2006k 2009-03-15 portrait 写道lz有没有Mule版本是2.1.2的啊 公司项目要用
官网上都有的。 4 楼 sadlonewolf 2011-11-16 lz:
我在运行client类的时候出现了错误:
Deserializing parameter 'createPersonReturn': could not find deserializer for type {http://www.w3.org/2001/XMLSchema}anyType
帮忙解决下啊! 谢谢!