SOAP的规范是直接支持数组的,包括2维数组,换句话说,
你可以直接在RPC的接口中使用数组作为参数或返回值,就象你平常做普通的函数调用一样。
一切与xml有关的东西都由SOAP SDK 给你在后台做好了。
但是编写个户端的调用程序时要指明关于数组的序列化器。
服务端并不需要指明(假设这些数组里都是简单类型)
你可以直接在RPC的接口中使用数组作为参数或返回值,就象你平常做普通的函数调用一样。
一切与xml有关的东西都由SOAP SDK 给你在后台做好了。
但是编写个户端的调用程序时要指明关于数组的序列化器。
服务端并不需要指明(假设这些数组里都是简单类型)
而Serializer->writeString("aaa"); ,这个像这样只能得到一个数呀???????????????????
先全部用C(包括服务端)试一个简单数组,再试复杂的数组,
试完后再用C的客户端和Axis服务端对接,也是先试一个简单的,
再试复杂的,我想应该没问题的。
但是VC调用却又这么难,
主要是用这个Serializer每次就只能发一个参数,
不能直接调用方法!
试一个简单数组,都不知道怎么试,
唉,,,,。
比如,如果你是负责C++客户端的开发,如果你是负责C++部分,应该集中精力把C++本身的
Web Service框架弄清楚。先用C++同时写出客户端与服务端代码。(这个服务端可以是个空的,没有业务逻辑,用于测试你的SOAP框架代码)。这样你才可以保证你的客户端的本身的代码正确。然后再在与Java 的服务端对接时做细微的调整。我的同事使用的C++ SOAP SDK是可以传任意数组的,我用Java跟他对接很容易,没费什么功夫。有点纳闷,一个人的精力有限,你不会说你的老板要你负责从服务端的 EJB 开发到Axis Web Service包装再到客户端C++调用的所有代码吧(这样的老板是不是太抠门了亚,抑或你自告奋勇全揽了?:)
调用另两台机子的DCOM组件的方法,DCOM里面的方法如:
public f(long a[10][10],long b[10][10]),这个程序我已经完全实现了。 另一个方面,我客户端用java, 调用另两台机子weblogic服务器的EJB的方法,
方法和DCOM一样,像这样形式public f(long a[10][10],long b[10][10]),
这个也是完全实现了。但现在呢,我用客户端的VC程序调用EJB组件的方法,这个方法就出现了上面的问题?
我已试过了用VC客户端调用调用基于axis的webservice的方法helloworld,
但是了如:f(long a[10][10],long b[10][10]),
这样的方法我就出现上面的问题,不知道怎样定义数组,
你说“我用Java跟他对接很容易”,可否说说方法???你做的是vc调用ejb吗?