C++ 使用复杂类型输入的WSDLPull

C++ 使用复杂类型输入的WSDLPull,c++,wsdlpull,C++,Wsdlpull,我试图使用wsdlpull调用一个web服务方法,这非常简单,直到我找到一个服务方法,该方法接受一个参数,该参数是一个complextypes数组,在本例中,它接受一个参数,该参数是一个包含2个成员的无限数量的类型-一个名称/值对数组 <s:complexType name="SendDetails"> <s:sequence> <s:element minOccurs="0" maxOccurs="unbounded" name="Detail" ty

我试图使用wsdlpull调用一个web服务方法,这非常简单,直到我找到一个服务方法,该方法接受一个参数,该参数是一个complextypes数组,在本例中,它接受一个参数,该参数是一个包含2个成员的无限数量的类型-一个名称/值对数组

<s:complexType name="SendDetails">
  <s:sequence>
    <s:element minOccurs="0" maxOccurs="unbounded" name="Detail" type="tns:Detail"/>
  </s:sequence>
</s:complexType>

<s:complexType name="Detail">
  <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string"/>
    <s:element minOccurs="0" maxOccurs="1" name="Value" type="s:string"/>
  </s:sequence>
</s:complexType>

我不知道如何将这些设置为wsdlpull的参数


在我使用其他工具重写之前,是否有人提供示例代码或代码片段让我开始编写?

似乎
WsdlInvoker
还不支持这一点。调用,然后调用,但当检测到复杂类型时,此方法停止处理:

const XSDType * pType = sParser_->getType(typeId);
if (pType && !pType->isSimple()){
   return 0;
}
唯一似乎受支持的复杂类型是包含简单内容模型的类型


也就是说,我认为和是更好的本地替代品。

仅供参考,WWS是更好的工具。与WCFSOAP服务完美交互。