2017-09-27 42 views
0

我在調用Webservice時遇到問題。我的響應元素的名稱與WSDL中的名稱不同。然而對於這個請求,它完美的工作。我的webservice響應名稱空間錯誤

你對此有什麼想法嗎?不同的名字對我來說看起來很好。

這是WSDL:

<?xml version="1.0" encoding="UTF-8"?> 
<definitions name="test-existence-muna-service" 
    targetNamespace="http://www.fimasys.com/fsb" 
    xmlns="http://schemas.xmlsoap.org/wsdl/" 
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
    xmlns:tns="http://www.fimasys.com/fsb" 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 

    <types> 
     <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.fimasys.com/fsb"> 
      <element name="TestExistenceMuna_Input_Message"> 
       <complexType> 
        <sequence> 
         <element minOccurs="1" name="muna" type="string"/> 
        </sequence> 
       </complexType> 
      </element> 
      <element name="TestExistenceMuna_Output_Message"> 
       <complexType> 
        <sequence> 
         <element minOccurs="1" name="existenceMuna" type="boolean"/> 
        </sequence> 
       </complexType> 
      </element> 
     </schema> 
    </types> 

    <message name="TestExistenceMuna_Input_Message"> 
     <part name="parameters" element="tns:TestExistenceMuna_Input_Message"></part> 
    </message> 
    <message name="TestExistenceMuna_Output_Message"> 
     <part name="parameters" element="tns:TestExistenceMuna_Output_Message"></part> 
    </message> 

    <portType name="testExistenceMunaPortType"> 
     <operation name="getExistenceMuna"> 
      <input message="tns:TestExistenceMuna_Input_Message" /> 
      <output message="tns:TestExistenceMuna_Output_Message" /> 
     </operation> 
    </portType> 

    <binding name="testExistenceMunaBinding" type="tns:testExistenceMunaPortType"> 
     <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> 
     <operation name="getExistenceMuna"> 
      <soap:operation soapAction="http://www.fimasys.com/fsb/getExistenceMuna" /> 
      <input> 
       <soap:body use="literal" /> 
      </input> 
      <output> 
       <soap:body use="literal" /> 
      </output> 
     </operation> 
    </binding> 

    <service name="test-existence-muna-service"> 
     <port binding="tns:testExistenceMunaBinding" name="testExistenceMunaPort"> 
      <soap:address location="http://0.0.0.0:8088/fsb/test-existence-muna-service/"/> 
     </port> 
    </service> 
</definitions> 

這是了SoapUI請求:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:fsb="http://www.fimasys.com/fsb"> 
    <soapenv:Header/> 
    <soapenv:Body> 
     <fsb:TestExistenceMuna_Input_Message> 
     <muna>07282166.12</muna> 
     </fsb:TestExistenceMuna_Input_Message> 
    </soapenv:Body> 
</soapenv:Envelope> 

這是了SoapUI響應:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 
    <soap:Body> 
     <ns2:getExistenceMunaResponse xmlns:ns2="http://www.fimasys.com/fsb"> 
     <existenceMuna>true</existenceMuna> 
     </ns2:getExistenceMunaResponse> 
    </soap:Body> 
</soap:Envelope> 
+0

不只是引用爲'getExixtenceMunaResponse'在WSDL某處你的迴應元素?你可以顯示你的wsdl文件嗎? – bilak

+0

謝謝你的回答。我編輯了原文。 –

+0

你也有獲得實施嗎?是不是有一些包裝或什麼導致元素被重命名? – bilak

回答

0

看起來你有疑問就請求和響應中的前綴,即,fsbns2,對不對?

只要它使用相同的名稱空間,使用什麼前綴並不重要。如果您查看請求和響應,則都指向名稱空間http://www.fimasys.com/fsb

你可以閱讀更多關於命名空間here

+0

好的,謝謝你。我真正的問題是WSDL,我的響應被設置爲一個,但是soapui給了我一個而是...順便說一下,輸入是OK的,在WSDL和soapui中它是

相關問題