以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 HTML/XHTML/Ajax/Web 2.0/Web 3.0 』  (http://bbs.xml.org.cn/list.asp?boardid=22)
----  [求助]c++实现webservice客户端连接c#服务端时的ArrayOfAnyType和Arraylist类型问题  (http://bbs.xml.org.cn/dispbbs.asp?boardid=22&rootid=&id=123245)


--  作者:rfc_leon
--  发布时间:1/30/2012 11:05:00 AM

--  [求助]c++实现webservice客户端连接c#服务端时的ArrayOfAnyType和Arraylist类型问题

客户用c#做的webservice服务端,我用gsoap工具实现客户端,接口方法为: public string KqsjCj(ArrayList info_stu)
用gsoap解析使用代理后为:KqsjCj(_ns1__KqsjCj *ns1__KqsjCj, _ns1__KqsjCjResponse *ns1__KqsjCjResponse)其中_ns1__KqsjCj 和 _ns1__KqsjCjResponse 的定义如下:
class SOAP_CMAC _ns1__KqsjCj
{
public:
 ns1__ArrayOfAnyType *info_USCOREstu; /* optional element of type ns1:ArrayOfAnyType */
 struct soap *soap; /* transient */
public:
 virtual int soap_type() const { return 7; } /* = unique id SOAP_TYPE__ns1__KqsjCj */
 virtual void soap_default(struct soap*);
 virtual void soap_serialize(struct soap*) const;
 virtual int soap_put(struct soap*, const char*, const char*) const;
 virtual int soap_out(struct soap*, const char*, int, const char*) const;
 virtual void *soap_get(struct soap*, const char*, const char*);
 virtual void *soap_in(struct soap*, const char*, const char*);
          _ns1__KqsjCj() : info_USCOREstu(NULL), soap(NULL) { }
 virtual ~_ns1__KqsjCj() { }
};

class SOAP_CMAC _ns1__KqsjCjResponse
{
public:
 char *KqsjCjResult; /* SOAP 1.2 RPC return element (when namespace qualified) */ /* optional element of type xsd:string */
 struct soap *soap; /* transient */
public:
 virtual int soap_type() const { return 8; } /* = unique id SOAP_TYPE__ns1__KqsjCjResponse */
 virtual void soap_default(struct soap*);
 virtual void soap_serialize(struct soap*) const;
 virtual int soap_put(struct soap*, const char*, const char*) const;
 virtual int soap_out(struct soap*, const char*, int, const char*) const;
 virtual void *soap_get(struct soap*, const char*, const char*);
 virtual void *soap_in(struct soap*, const char*, const char*);
          _ns1__KqsjCjResponse() : KqsjCjResult(NULL), soap(NULL) { }
 virtual ~_ns1__KqsjCjResponse() { }
};
现在的问题是我要如何将自己的数据复制给_ns1__KqsjCj *ns1__KqsjCj这个参数,请教过别人说是_ns1__KqsjCj里面有方法,但我试过都没成功,求指点。


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms