Php 在PySimpleSoap中将ComplexType作为函数调用

Php 在PySimpleSoap中将ComplexType作为函数调用,php,python,soap,wsdl,pysimplesoap,Php,Python,Soap,Wsdl,Pysimplesoap,给定以下返回有效Soap/XML响应的PHP: 我试图用Python实现与这个web服务的连接,但是我没有走多远——遇到了错误(我在PHP中尝试了,只是为了进行合理性检查) 到目前为止,我已经尝试了一些在我脑海中似乎有意义的可能选项,包括: 所有这些都不起作用——并且都给我一个PySimpleSAP错误,比如: ValueError: Invalid Args Structure. Errors: [u"Argument key subRequest not in parameter. 这

给定以下返回有效Soap/XML响应的PHP:

我试图用Python实现与这个web服务的连接,但是我没有走多远——遇到了错误(我在PHP中尝试了,只是为了进行合理性检查)

到目前为止,我已经尝试了一些在我脑海中似乎有意义的可能选项,包括:

所有这些都不起作用——并且都给我一个PySimpleSAP错误,比如:

ValueError: Invalid Args Structure. Errors: [u"Argument key subRequest not in parameter.
这个问题的答案似乎给我带来了一线希望,但在我的例子中并没有奏效

我确实有其他函数使用给定的WSDL,但没有一个函数具有类似于此摘录定义的方法的ComplexType,其中子请求和其他子请求类型在另一个.xsd文件中定义:

<xsd:complexType name="QualifyProductRequest">
    <xsd:sequence>
        <xsd:choice>
            <xsd:element name="subRequest" type="wsg:subRequest">
                <xsd:annotation>
                    <xsd:documentation xml:lang="en">A complex type capturing required data for a qualification</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="anotherSubRequest" type="wsg:anotherSubRequest">
                <xsd:annotation>
                    <xsd:documentation xml:lang="en">A complex type capturing required data for a different qualification</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
        <! -- SNIPPED -->
        </xsd:choice>
    </xsd:sequence>
</xsd:complexType>

捕获鉴定所需数据的复杂类型
捕获不同鉴定所需数据的复杂类型
ValueError: Invalid Args Structure. Errors: [u"Argument key subRequest not in parameter.
<xsd:complexType name="QualifyProductRequest">
    <xsd:sequence>
        <xsd:choice>
            <xsd:element name="subRequest" type="wsg:subRequest">
                <xsd:annotation>
                    <xsd:documentation xml:lang="en">A complex type capturing required data for a qualification</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element name="anotherSubRequest" type="wsg:anotherSubRequest">
                <xsd:annotation>
                    <xsd:documentation xml:lang="en">A complex type capturing required data for a different qualification</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
        <! -- SNIPPED -->
        </xsd:choice>
    </xsd:sequence>
</xsd:complexType>