मैं अपने सोप अनुरोध में इस नोड की आवश्यकता है (1.1 का प्रयोग करके):सोपवार नामस्थान को कैसे परिभाषित किया जाए?
<CredentialsHeader xmlns="http://www.url.com/Services/P24ListingService11"
<EMail>[email protected]</EMail>
<Password>password</Password>
</CredentialsHeader>
तो मैं निम्नलिखित PHP:
$client = new SoapClient("https://exdev.www.example.com/Services/example.asmx?WSDL",
array(
"trace" => 1,
"exceptions" => 0,
"cache_wsdl" => 0,
'soap_version' => SOAP_1_1
)
);
$CredentialObject = new SoapVar(array('EMail' => '[email protected]', 'Password' => 'password'), SOAP_ENC_OBJECT);
कौन उत्पन्न करता है:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://www.example.com/Services/Example">
<SOAP-ENV:Header>
<ns1:CredentialsHeader>
<EMail>[email protected]</EMail>
<Password>password</Password>
</ns1:CredentialsHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<ns1:EchoAuthenticated/>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
सभी मैं ऐसा करने की आवश्यकता है ns1
का उपयोग करके इसे रोकें और वास्तव में xmlns
को नोड में परिभाषित करें:
<CredentialsHeader xmlns="http://www.example.com/Services/Example">
<EMail>[email protected]</EMail>
<Password>password</Password>
</CredentialsHeader>
मैंने फ़ायरफ़ॉक्स पोस्टर में परीक्षण किया है और एक तथ्य के बारे में पता है कि परिवर्तन समस्या को हल करता है।
सबसे सुंदर नहीं है, लेकिन यह काम किया! धन्यवाद – rickyduck