SOAP,防火墙后面的RPC

--客户端程序设计


客户端的SOAP程序设计相对服务器端要复杂的多。客户端的一次SOAP RPC请求可以分9步完成。蒙一看下了一跳,调用一个方法需要九个步骤,但是实际上并不是很难。

第一步是知道我们想要调用的方法的名字!尽管这对于本地调用不成问题,但是对于远程调用,我们要确认确实存在这个方法,然后我们才可以调用。

第二步是确认参数和返回值的类型我们可以正确处理,可以serialize/deserialize。

第三步是创建一个org.apache.soap.rpc.RPCMessage.Call对象。

第四步是使用org.apache.soap.rpc.RPCMessage.Call.setTargetObjectURI(...)方法设置服务器的uri。

第五步是使用org.apache.soap.rpc.RPCMessage.Call.setMethodName(...)方法设置想要调用的方法的名字。

第六步是使用org.apache.soap.rpc.RPCMessage.Call.setParams(...)方法设置所有的参数。

第七步是执行org.apache.soap.rpc.RPCMessage.Call.invoke()方法,执行调用。

第八步是获取Response对象。这时可以使用org.apache.soap.rpc.Response.generatedFault()方法测试是否有错误生成。

第九步是如果在rpc调用过程中有错误生成,可以使用Fault org.apache.soap.rpc.Response.getFault() 方法来获取错误,反之则可以使用Parameter org.apache.soap.rpcgetReturnValue() 方法来获取返回值。

继续继续