Ошибка при попытке вызвать функцию SOAP в переполнении стека

Я застрял на пару недель при попытке вызвать функцию SOAP в PHP.

Ошибка:

Server was unable to process request. ---> Object reference not set to an instance of an object

XML:

POST /example.com/example.asmx HTTP/1.1
Host: URL
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://www.example.com/action"
<?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>
<AuthenticationHeader xmlns="http://www.example.com/">
<username>string</username>
<password>string</password>
<Id>long</Id>
</AuthenticationHeader>
</soap:Header>
<soap:Body>
<GetCardInfo xmlns="http://www.example.com/">
<cardnumber>string</cardnumber>
<pincode>string</pincode>
</GetCardInfo>
</soap:Body>
</soap:Envelope>

Я использую этот код для вызова функции:

$client = new SoapClient("http://example.com/example.asmx?WSDL", array('trace' => 1));

$card = array(
'cardnumber' => 'example card number',
'pincode' => 'example pin code'
);

try {
$result = $client->__soapCall('GetCardInfo', $card);
print_r($result);
}

catch (SoapFault $q)
{
print_R($q);
}

Если вам нужна дополнительная информация, пожалуйста, спросите меня. Я новичок в этом сообществе.

Заранее спасибо.

0

Решение

Я решил это, мне пришлось поместить SoapHeader в объект stdClass и привести его к массиву. Я понятия не имею, почему это работает, но это делает.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector