generate wcf server code from wsdl files

Greetings, ich würde gerne einen Vertrag auf Basis der wsdl-Datei generieren. Ich habe svcutil verwendet, aber ich vermute, dass es falsch generiert wurde, da alle Vertragsmethoden den zurückgegebenen Typ ungültig gemacht haben. Gibt es ein Tool für diesen Zweck?

EDIT: hier ist die wsdl-Datei:

    <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:tns="http://dantek.com.pl/EDItEUR/EDItX/LibraryBookSupply/WebService/CustomerService/20100611/ServiceContract" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:wsa10="http://www.w3.org/2005/08/addressing" xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex" targetNamespace="http://mytargetNamespace/ServiceContract" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
  <wsdl:types>
    <xsd:schema targetNamespace="http://mytargetNamespace/ServiceContract/Imports">
      <xsd:import namespace="http http://mytargetNamespace/ServiceContract/ServiceContract" />
    </xsd:schema>
  </wsdl:types>
  <wsdl:message name="CustomerService_ProcessMethod_InputMessage">
    <wsdl:part name="parameters" element="tns:ProcessMethod" />
  </wsdl:message>
  <wsdl:message name="CustomerService_ProcessMethod_OutputMessage">
    <wsdl:part name="parameters" element="tns:ProcessMethodResponse" />
  </wsdl:message>
>
  <wsdl:portType name="CustomerService">
    <wsdl:operation name="ProcessShipNotice">
      <wsdl:input wsaw:Action=" http://mytargetNamespace/ServiceContract/ProcessMethod" message="tns:CustomerService_ProcessMethod_InputMessage" />
      <wsdl:output wsaw:Action=" http://mytargetNamespace/ServiceContract/ProcessMethod" message="tns:CustomerService_ProcessMethod_OutputMessage" />
    </wsdl:operation>
  </wsdl:portType>
</wsdl:definitions>

Und der Vertrag wurde erstellt

[ServiceContract]
public interface CustomerService
{

    [System.ServiceModel.OperationContractAttribute(Action = "http://mytargetNamespace/ServiceContract/CustomerService/ProcessMethod”, ReplyAction = " http://mytargetNamespace/ServiceContract/CustomerService/ProcessMethodResponse")]
    [System.ServiceModel.XmlSerializerFormatAttribute()]
    void ProcessMethod(ProcessMethodRequest request);

Ich möchte nicht, dass ProcessMethod den Typ void zurückgibt, sondern den Typ ProcessMethodResponse. Wie kann ich das erreichen?

EDIT2: Hier ist mein Schema:

<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://myTargetNamespece/ServiceContract" elementFormDefault="qualified" 
     targetNamespace="http://myTargetNamespace/ServiceContract" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="ProcessMethod">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="request" type="tns:ProcessMethodRequest" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ProcessMethodRequest" abstract="true" />
  <xs:complexType name="ProcessMethodRequestWithPayload"/>
  <xs:element name="ProcessMethodResponse">
    <xs:complexType />
  </xs:element>
</xs:schema>

Antworten auf die Frage(2)

Ihre Antwort auf die Frage