QtSoap向webservice传递结构体或类参数
发布时间:2020-12-16 22:38:25 所属栏目:安全 来源:网络整理
导读:QtSoapType下面有三种分类:QtSoapArray、QtSoapSimpleType、QtSoapStruct 当WebServive接口中出现类似情况时: s:element name="TestComplexPara"s:complexTypes:sequences:element minOccurs="1" maxOccurs="1" name="para" type="tns:projPara"/s:element
QtSoapType下面有三种分类:QtSoapArray、QtSoapSimpleType、QtSoapStruct 当WebServive接口中出现类似情况时:
<s:element name="TestComplexPara"> <s:complexType> <s:sequence> <s:element minOccurs="1" maxOccurs="1" name="para" type="tns:projPara"/> <s:element minOccurs="0" maxOccurs="1" name="tokenCode" type="s:string"/> </s:sequence> </s:complexType> </s:element> <s:complexType name="projPara"> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="planSn" type="s:string"/> <s:element minOccurs="1" maxOccurs="1" name="actualLoads" type="s:double"/> </s:sequence> </s:complexType> 这里的参数para,在webservice 服务器端是这样定义的:
[WebMethod] public bool TestComplexPara(projPara para) { return true; } public class projPara { public string planSn; public double actualLoads; } 这种情况下,QtSoap怎样传递这个参数呢,我是这样处理的: QtSoapMessage request; QtSoapStruct *paraStruct = new QtSoapStruct(QtSoapQName("para")); paraStruct->insert(new QtSoapSimpleType(QtSoapQName("planSn"),"test1")); paraStruct->insert(new QtSoapSimpleType(QtSoapQName("actualLoads"),QtSoapType::Double,QVariant(2015.9))); request.addMethodArgument(paraStruct); 关于QtSoapSimpleType怎样传递Double类型参数,请参考:QtSoap传递多种类型参数 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |