Ben (yani hiçbir ipucu!) SOAP için çok yeni
Benim soap üstbilgileri aracılığıyla yapılır kimlik doğrulaması gerektiren varolan SOAP hizmeti ile etkileşim için bir istemci tarafından (basit bir kullanıcı adı ve şifre) soruldu
Benim emrinde 3 yöntemleri var,
IsAlive IsAliveSecure ChangeUserDetails
IsAlive sadece doğru döner ve hiçbir sorun çağırabilirsiniz
IsAliveSecure uygun yetki ile gerçek döner ve ben bunun doğru geri alınamıyor.
temelde aşağıdaki isteği göndermek gerekir:
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>
Benim soru nasıl php yukarıdaki gibi biçimlendirilmiş bir istek gönderebilir yapmak nedir?
Bu ne denedim ama hiçbir başarı ile:
$ SoapClient = new SoapClient ("https://provisioning.example.ie/ripplecomprovisioning.asmx?WSDL");
// 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);
, aşağıdaki gibi elde edilen çıktı:
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
Bu herhangi bir yardım büyük mutluluk duyacağız. Ben başarısız göze alamaz!
Teşekkürler
Kev