从WSDL文档生成代理类时出错

时间:2013-03-22 10:31:29

标签: c# class proxy wsdl

以下是WSDL文件,我无法为此WSDL文件生成Proxy类。

<?xml version ='1.0' encoding ='ISO-8859-1' ?>
<definitions name='SunesisService' targetNamespace='https://exg.sunesis.uk.net/'     xmlns:tns='https://exg.sunesis.uk.net/' xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC='http://schemas.xmlsoap.org/soap/encoding/' xmlns:wsdl='http://schemas.xmlsoap.org/wsdl/' xmlns='http://schemas.xmlsoap.org/wsdl/' xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<wsdl:types>
    <xsd:schema targetNamespace="https://exg.sunesis.uk.net/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
        <xsd:element name="destinyXML">
            <xsd:complexType name="mimeXmlType" use="required">
                <xsd:sequence>
                    <xsd:any/>
                </xsd:sequence>
            </xsd:complexType>
        </xsd:element>
    </xsd:schema>
</wsdl:types>

<message name='receiveILRRequest'>
    <part name='receiveILRRequest_username' type='xsd:string' />
    <part name='receiveILRRequest_password' type='xsd:string' />
    <part name='receiveILRRequest_destinyXMLFileName' type='xsd:string' />
    <part name='receiveILRRequest_destinyXML' type='mimeXmlType' />
</message>
<message name='receiveILRResponse'>
    <part name='receiveILRResponse_Result' type='xsd:string' />
</message>

<portType name='DestinyReceipt'>

    <operation name='acceptEXG'>
        <input message='tns:receiveILRRequest'/>
        <output message='tns:receiveILRResponse'/>
    </operation>

</portType>

<binding name='SunesisBinding' type='tns:DestinyReceipt'>
    <soap:binding style='rpc' transport='http://schemas.xmlsoap.org/soap/http' />
    <operation name='acceptEXG'>
        <soap:operation soapAction='urn:localhost-catalog#acceptILR'/>
        <input>
            <soap:body use='encoded' namespace='urn:localhost-catalog' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' />
        </input>
        <output>
            <soap:body use='encoded' namespace='urn:localhost-catalog' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' />
        </output>
    </operation>
</binding>

<service name='SunesisService'>
    <port name='SunesisPort' binding='SunesisBinding'>
        <soap:address location='https://exg.sunesis.uk.net/module_soap/sunesis.php' />
    </port>
</service>

1 个答案:

答案 0 :(得分:0)

您必须关闭文档末尾的definitions node

尝试使用此格式

<definitions name='SunesisService' targetNamespace='https://exg.sunesis.uk.net/'     xmlns:tns='https://exg.sunesis.uk.net/' xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC='http://schemas.xmlsoap.org/soap/encoding/' xmlns:wsdl='http://schemas.xmlsoap.org/wsdl/' xmlns='http://schemas.xmlsoap.org/wsdl/' xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">

        ..........


    <service name='SunesisService'>
        <port name='SunesisPort' binding='SunesisBinding'>
            <soap:address location='https://exg.sunesis.uk.net/module_soap/sunesis.php' />
        </port>
    </service>
</definitions>