SOAP方式实现Web Service动态客户端
工作需要想要实现一个动态调用Web Service的客户端,希望不同的Web Service只需要提供出WSDL URI和需要的输入参数值,就可以方便的得到Web Service的输出结果。于是一直盘旋于AXIS和CXF的代码中,源码看了一大堆,办法想尽,实现无数,效果却不尽理想。
忽然想到,Web Service底层就是SOAP的XML格式的Request与Response,如果我组装好Request的XML,然后直接用SOAP 进行Connect和call,拿到Response后进行拆包岂不就可以实现动态的client端?CXF和AXIS/2说到底就是把XML的组装的分拆进行了封装,而恰好是这些封装,导致了很多时候出现Web Service通用性问题。
调出JDK API,直接查找javax.xml.soap包,寥寥几行代码解决了让我头疼一个月的问题:
?
于是,我需要面对的就只剩下XML的生成与解析了。
有的时候,抛开现成的框架,问题处理起来反而简单啊!?
1 楼 brooklyng60 2012-04-26 能详细点吗,这种方式就是想达到的,不用写客户端,cxf,axis无非就是自己封装了一下,怎么调用啊
比如说现在有一个
getMessage方法,接收3个参数,返回1个参数,怎么做啊