2017-10-18 1 views
1

In meinem WCF-Projekt habe ich eine Funktion "Neue Richtlinie hinzufügen", die zwei Parameter verwendet. In der Anfrage dieser Funktion ist das für diese beiden Parameter verwendete Präfix "cch". Wie ich das Präfix dieser zwei Parameter zu "tem" ändern kann.WCF So ändern Sie das Präfix in einer Anfrage

Dies ist die Anfrage:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
    xmlns:tem="http://tempuri.org/" 
xmlns:cch="http://schemas.datacontract.org/2004/07/CCHVisitorsInsuranceWS.NS.NewPo 
    licy"> 
     <soapenv:Header/> 
     <soapenv:Body> 
      <tem:AddNewPolicy> 
      <!--Optional:--> 
      <tem:PolicyEntity> 
       <!--Optional:--> 
       <cch:PolicyNumber>?</cch:PolicyNumber> 
       <!--Optional:--> 
       <cch:eNumber>?</cch:eNumber> 
      </tem:PolicyEntity> 
      </tem:AddNewPolicy> 
     </soapenv:Body> 
    </soapenv:Envelope> 

<xs:element name="AddNewPolicy"> 
    <xs:complexType> 
    <xs:sequence> 
     <xs:element xmlns:q3="schemas.datacontract.org/2004/07/…; minOccurs="0" name="PolicyEntity" nillable="true" type="q3:PolicyEntity"/>   
    </xs:sequence> 
    </xs:complexType> 
</xs:element> 


    <wsdl:definitions xmlns:wsdl="schemas.xmlsoap.org/wsdl/"; 
    xmlns:wsap="schemas.xmlsoap.org/ws/2004/08/addressing/policy‌​"; 
    xmlns:wsa10="w3.org/2005/08/addressing"; xmlns:tns="tempuri.org/"; 
    xmlns:msc="schemas.microsoft.com/ws/2005/12/wsdl/contract"; 
    xmlns:soapenc="schemas.xmlsoap.org/soap/encoding/"; 
    xmlns:wsx="schemas.xmlsoap.org/ws/2004/09/mex"; 
    xmlns:soap="schemas.xmlsoap.org/wsdl/soap/"; 
    xmlns:wsam="w3.org/2007/05/addressing/metadata"; 
    xmlns:wsa="schemas.xmlsoap.org/ws/2004/08/addressing"; 
    xmlns:wsp="schemas.xmlsoap.org/ws/2004/09/policy"; 
    xmlns:wsaw="w3.org/2006/05/addressing/wsdl"; 
    xmlns:soap12="schemas.xmlsoap.org/wsdl/soap12/"; 
    xmlns:wsu="docs.oasis-open.org/wss/2004/01/…"; 
    xmlns:xsd="w3.org/2001/XMLSchema"; 
    name="CCHVI" 
    targetNamespace="tempuri.org/">...</wsdl:definitions> 
+0

Warum möchten Sie ändern? – Rao

+0

Da das angeforderte Formular wie folgt lautet: ? ? MHH

+0

Können Sie die Service-Interface-Definitionen anzeigen? – spodger

Antwort

0

Das Problem, das Sie haben, ist, dass Ihre ElementeAddNewPolicy und PolicyEntity haben in keinem Namensraum definiert; Aus diesem Grund wurden sie dem standardmäßigen Microsoft WCF-Namespace http://tempuri.org/ zugewiesen.

Sie müssen sie als Teil des gleichen Namensraum wie der Typ PolicyEntity, das heißt Ihre http://schemas.datacontract.org/2004/07/CCHVisitorsInsuranceWS.NS.NewPolicy Namensraum definieren.

Persönlich, wenn ich http://tempuri.org/ in einer generierten WSDL oder XSD sehe, sagt es mir, dass ich etwas falsch mit meinen Namespaces habe. Sobald ich es vollständig los bin, ist es wahrscheinlich in Ordnung.

Verwandte Themen