2016-09-21 65 views
0

有沒有人可以解釋soap請求xml架構中<req:xxx><ns1:xxx>用法之間的區別。SOAP請求中的<req:xxx>和<ns1:xxx>有什麼區別

例如: -

第一SOAP請求XML模式

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:req="http://olp.bank.com/payement/service/olppaymentmanager/req"> 
    <soapenv:Header/> 
    <soapenv:Body> 
     <req:initiatePaymentDetailsReq> 
     <olpIdAlias>****</olpIdAlias> 
     <merchantId>****</merchantId> 
     <merchantRefNum>234324</merchantRefNum> 
     <paymentAmount>200</paymentAmount> 
     <paymentCurrency>SAR</paymentCurrency> 
     <dynamicMerchantLandingURL></dynamicMerchantLandingURL> 
     <dynamicMerchantFailureURL></dynamicMerchantFailureURL> 
     </req:initiatePaymentDetailsReq> 
    </soapenv:Body> 
</soapenv:Envelope> 

第二XML請求模式使用<req:>例如

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:brsmembersapi" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> 
    <SOAP-ENV:Body> 
    <ns1:ValidateMemberLogin> 
     <login xsi:type="ns1:LoginCredentials"> 
     <clientAPIVersion xsi:type="xsd:int">0</clientAPIVersion> 
     <username xsi:type="xsd:string">someapiusername</username> 
     <password xsi:type="xsd:string">someapipassword</password> 
     </login> 
     <memberLogin xsi:type="ns1:MemberLoginCredentials"> 
     <username xsi:type="xsd:string">somememberusername</username> 
     <password xsi:type="xsd:string">somememberpassword</password> 
     </memberLogin> 
     </ns1:ValidateMemberLogin> 
    </SOAP-ENV:Body> 
</SOAP-ENV:Envelope> 
在第一肥皂請求

: - 在第二<req:initiatePaymentDetailsReq>肥皂請求<ns1:>例如: - <ns1:ValidateMemberLogin> 它們之間有什麼不同。

回答

1

命名空間前綴不同的事實純粹是美麗的,您可以選擇任何您喜歡的名稱空間前綴,因爲它的唯一目的是充當名稱空間URI的本地縮寫。

但這兩個消息使用不同的名稱空間URI的事實是非常重要的。 (一個使用http://olp.bank.com/payement/service/olppaymentmanager/req,另一個使用urn:brsmembersapi)這意味着這兩個消息使用完全不同的詞彙表,由不同的人定義,意思是不同的東西。

當沒有相似性時,很難「解釋差異」 - 這就像要求解釋考古學和博若萊之間的區別。

+0

謝謝@Michael Kay。當第一個SOAP請求與PHP代碼集成在一起時,我面臨一個問題(http://stackoverflow.com/questions/39571363/how-to-create-soap-client-in-php)。第二次成功完成。我認爲這個問題的原因是

相關問題