मैं बहुत सोप करने के लिए नया हूँ (यानी कोई सुराग नहीं!)php में सोप प्रमाणन हेडर भेजने समस्याएं
मैं एक ग्राहक द्वारा कहा गया है एक मौजूदा सोप सेवा है कि मेरे सोप हेडर के माध्यम से किया प्रमाणीकरण की आवश्यकता के साथ बातचीत करने के लिए (एक सरल उपयोगकर्ता नाम और पासवर्ड)
मैं अपने निपटान में 3 तरीकों,
IsAlive IsAliveSecure ChangeUserDetails
IsAlive बस सच वापस आती है और मैं इसे कोई कॉल कर सकते हैं समस्या
IsAliveSecure उचित प्रमाणीकरण के साथ सच हो जाता है और मैं इसे सही वापस नहीं कर सकता।
मूल रूप से मैं निम्नलिखित अनुरोध भेजने के लिए की जरूरत है:
POST /ripplecomprovisioning.asmx HTTP/1.1
Host: provisioning.example.ie
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://www.blueface.ie/provisioning/IsAliveSecure"
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<SoapAuthHeader xmlns="http://www.example.ie/provisioning/">
<Username>myusername</Username>
<Password>mypassword</Password>
</SoapAuthHeader>
</soap:Header>
<soap:Body>
<IsAliveSecure xmlns="http://www.example.ie/provisioning/" />
</soap:Body>
</soap:Envelope>
मेरा प्रश्न है कि कैसे मैं एक अनुरोध php में ऊपर की तरह स्वरूपित भेजूं?
इसमैं क्या कोशिश की, लेकिन कोई सफलता के साथ:
$ soapClient = नए SoapClient ("https://provisioning.example.ie/ripplecomprovisioning.asmx?WSDL");
object(stdClass)#3 (1) {
["IsAliveResult"]=>
bool(true)
}
<br /><br />
Fatal error: Uncaught SoapFault exception: [soap:Server] System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.UnauthorizedAccessException: Attempted to perform an unauthorized operation.
at example.VoIP.Provisioning.RipplecomProvisioningServices.IsAliveSecure()
--- End of inner exception stack trace --- in /var/www/ripplecomweb/authentication/soap.php:20
Stack trace:
#0 [internal function]: SoapClient->__call('IsAliveSecure', Array)
#1 /var/www/ripplecomweb/authentication/soap.php(20): SoapClient->IsAliveSecure()
#2 {main}
thrown in /var/www/ripplecomweb/authentication/soap.php on line 20
किसी भी मदद के इस के साथ बहुत सराहना की जाएगी:
// Prepare SoapHeader parameters
$sh_param = array(
'Username' => 'myusername',
'Password' => 'mypassword');
$headers = new SoapHeader('ripplecomprovisioning', 'SoapAuthHeaders', $sh_param);
// Prepare Soap Client
$soapClient->__setSoapHeaders(array($headers));
$result = $soapClient->isAlive();
echo var_dump($result);
echo "<br /><br />";
$result = $soapClient->IsAliveSecure();
echo var_dump($result);
ऊपर से उत्पादन इस प्रकार है। मैं असफल होने का जोखिम नहीं उठा सकता !!
धन्यवाद
कीव