2017-10-18 4 views
1

私のWCFプロジェクトでは、2つのパラメータを取る "Add New Policy"という機能があります。この関数の要求では、これら2つのパラメータに使用される接頭辞は "cch"です。私はこれらの2つのパラメータの接頭辞を "tem"にどのように変更できますか?WCF要求内のプレフィックスを変更する方法

これが要求です:

<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

なぜ変更しますか? – Rao

+0

要求されたフォームは次のようなものです: MHH

+0

サービスインターフェイス定義を表示できますか? – spodger

答えて

0

あなたは持っている問題は、あなたの要素AddNewPolicyPolicyEntityは任意の名前空間で定義されていないということです。これが、既定のMicrosoft WCF名前空間http://tempuri.org/に割り当てられている理由です。

あなたは、すなわちあなたのhttp://schemas.datacontract.org/2004/07/CCHVisitorsInsuranceWS.NS.NewPolicy 名前空間、PolicyEntity型と同じ名前空間の一部としてそれらを定義する必要があります。

個人的には、生成されたWSDLまたはXSDでhttp://tempuri.org/が表示されるときはいつでも、自分の名前空間に何か問題があると言います。一度それを完全に取り除くと、それはおそらくOKです。

関連する問題