Я пытаюсь создать простую страницу PHP, которая берет строку ввода и отправляет ее в службу SOAP.
Я много читаю, но не могу заставить ее работать какожидается.
Мой файл input.php:
$soapClient = new SoapClient("https://cpsapi.tdc.dk/sendsmsservice?wsdl", array("trace" => 1, "exceptions" => 0,
"login" => "user123", "password" => "pass123") );
// Prepare SoapHeader parameters
$sh_param = array(
"login" => 'user123',
"password" => 'pass123'
);
$headers = new SoapHeader('http://www.csapi.org/schema/parlayx/sms/send/v2_3/local', 'sendsms', $sh_param);
// Prepare Soap Client
$soapClient->__setSoapHeaders(array($headers));
// Setup the RemoteFunction parameters
$ap_param = array(
'addresses' => $_REQUEST["nr"],
'senderName' => "static",
'message' => $_REQUEST["besked"]);
// Call RemoteFunction ()
$error = 0;
try {
$info = $soapClient->__call("SendSms", array($ap_param));
print("OK");
// } catch (\Exception $e) {
} catch (SoapFault $fault) {
$error = 1;
// throw new \Exception("Soup request failed! Response: ".$soapClient->__getLastResponse());
print("Sorry, blah returned the following ERROR: ".$fault->faultcode." String: ".$fault->faultstring.". Text: ");
}
Сгенерированный XML должен выглядеть следующим образом:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:loc="http://www.csapi.org/schema/parlayx/sms/send/v2_3/local">
<soapenv:Body>
<loc:sendSms>
<loc:addresses>xx-value of nr-xx</loc:addresses>
<loc:senderName>static</loc:senderName>
<loc:message>xx-value of besked-xx</loc:message>
</loc:sendSms>
</soapenv:Body>
</soapenv:Envelope>
Я обычно работаю с VB Script и очень простым PHP, поэтому работа с этой "простой" интеграцией с SOAP доставила мне немало хлопот
С уважением, Расмус