0

我正在使用 MS wsdl.exe 从 WSDL 文件生成 C# 文件,但收到错误描述“当 Use=Literal 时标题需要元素属性”

我怎样才能摆脱这个?是否有任何其他工具可以从 wsdl 生成 C#?

    <message name="SomeHeader">
        <part name="Version" type="xsd:string"/>
    </message>

……

    <operation name="xxxxx">
        <soap:operation soapAction="xxxx"/>
        <input>
            <soap:header use="literal" message="SomeHeader" part="Version" />
            <soap:body use="literal" />
        </input>
        <output>
            <soap:body use="literal" />
        </output>
    </operation>
4

1 回答 1

0

我终于通过用“元素”替换“类型”来解决这个问题。

上面wsdl修改为

<wsdl:types> 
    <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
                targetNamespace="http://tempuri.org/"
                elementFormDefault="qualified">

        <xsd:element name="Version" type="xsd:string"/>
        ....
        ....
    </xsd:schema>
</wsdl:types>


<message name="SomeHeader">
    <part name="Version" element="tns:Version"/>
</message>
于 2013-07-03T03:06:00.287 回答