Schematyp in WSDL-Datei einschließen

Ich habe von Hand eine WSDL erstellt, die nur eine Operation ohne Eingabe- und Ausgabeparameter enthält.

Ich erhalte folgende Fehlermeldung, wenn ich versuche, einen Client aus dieser WSDL zu erstellen:

Wsdl kann nicht importiert werden: portType Detail: Beim Ausführen einer WSDL-Importerweiterung wurde eine Ausnahme ausgelöst: System.ServiceModel.Description.DataContractSerializerMessageContractImporter Fehler: Schema mit Zielnamespace 'http://www.xmlns.mycompany.com/GAME/service/Associate/1.1/' konnte nicht gefunden werden. XPath zu Fehlerquelle: // wsdl: definitions [@ targetNamespace = 'http://www.xmlns.mycompany.com/GAME/service/Associate/1.1/'] / wsdl: portType [@ name =' GAMEAssociateIntf '] C: \ toolbox \ BlueTest \ BloodRedTest \ BloodRedTest \ Service

Dastypes (im Client zu verwenden) müssen aus dem in der WSDL vorhandenen XML generiert werden. Ich denke, beim Hinzufügen von Service Reference kann das Tool es aufgrund eines Fehlers in der XML nicht erstellen. Dasxsd scheint das Problem zu sein.

Welche Änderungen müssen in der WSDL vorgenommen werden, um den Proxy zu erstellen?

Hinweis: Ich versuche, die in WSDL selbst definierten XML-Typen einzuschließen. [Ich benötige keine separate Datei für die Schema-Definition]

WSDL

<?xml version="1.0" encoding="UTF-8"?>
<definitions name="GAMEAssociate" 
         targetNamespace="http://www.xmlns.mycompany.com/GAME/service/Associate/1.1/"
         xmlns:tns="http://www.xmlns.mycompany.com/GAME/service/Associate/1.1/"
         xmlns="http://schemas.xmlsoap.org/wsdl/" 
         xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
         xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" 
         xmlns:xsd="http://www.w3.org/2001/XMLSchema"
         xmlns:wsp="http://www.w3.org/ns/ws-policy"
         >

<types>
<xsd:schema>
</xsd:schema>

<xsd:element name="myData">
  <xsd:complexType />
</xsd:element>

<xsd:element name="myDataResponse">
  <xsd:complexType />
</xsd:element>

</types>

<message name="getAllVicePresidentsRequest">
<part element="tns:myData" name="getAllVicePresidentsRequest"/>
</message>

<message name="getAllVicePresidentsResponse">
<part element="tns:myDataResponse" name="getAllVicePresidentsResponse"/>
</message>

<portType name="GAMEAssociateIntf">
<operation name="getAllVicePresidents">
  <input message="tns:getAllVicePresidentsRequest"/>
  <output message="tns:getAllVicePresidentsResponse"/>
</operation>
</portType>

<binding name="GAMEAssociateIntfBinding" type="tns:GAMEAssociateIntf">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>

<operation name="getAllVicePresidents">
  <soap:operation soapAction="http://www.xmlns.mycompany.com/GAME/wsdl/AssociateIntf/1.4/getAllVicePresidentsRequest"
                  style="document"/>
  <input>
    <soap:body use="literal"/>
  </input>
  <output>
    <soap:body use="literal"/>
  </output>

</operation>

</binding>

<service name="GAMEAssociate">
<port binding="tns:GAMEAssociateIntfBinding" name="GAMEAssociateSOAP">
  <soap:address location="http://localhost:8014/associateservice/GAMEAssociate.svc"/>
</port>
</service>

</definitions>

VERWEISE:

WSDL - keine Eingabe - Best PracticeWas bedeutet dieser WCF-Fehler: "Benutzerdefinierte Tool-Warnung: wsdl: portType kann nicht importiert werden"Schreiben eines WSDL 1.1-Webdienstvertrags von HandSchreiben von Contract-First-WebdienstenWcf-Servercode aus WSDL-Dateien generierenWie bekomme ich WSDL-Eingabe- und Ausgabenamen angezeigtInline-SchemaHandgerollte SOAP-Anfrage

Antworten auf die Frage(3)

Ihre Antwort auf die Frage