Я пытался настроить клиент SOAP на основе PHP для подключения к другому серверу .NET SOAP, но безуспешно. : / Я попробовал практически все, что мог придумать, и что мог найти дядя Google - NuSOAP, Zend Framework SOAP и внутренний SOAP PHP. Все 3 дали мне ошибки, но внутренний SOAP в PHP казался самым простым и многообещающим. Итак, я вложил еще 2 дня во внутренний SOAP-клиент PHP, и в конце я обнаружил эту ошибку:
SoapFault exception: [soap:Server] System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.NullReferenceException: Object reference not set to an instance of an object.<br />at p_client.p_data.read(PgSqlDataReader e) in c:\inetpub\wwwroot\p_client\p_client.asmx.cs:line 642<br />at p_client.p_client.p_login(Int32 pid, String username, String password) in c:\inetpub\wwwroot\p_client\p_client.asmx.cs:line 172<br /> --- End of inner exception stack trace --- in /home/techouse/public_html/beta/test/new2_soap_client.php:76<br />Stack trace:<br />#0 /home/techouse/public_html/beta/test/new2_soap_client.php(76): SoapClient->__soapCall('p_login', Array)<br />#1 {main}
Мой запрос XML выглядит так:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://www.dhimahi.com/">
<SOAP-ENV:Body>
<ns1:p_login>
<ns1:pid>1234</ns1:pid>
<ns1:username>username1234</ns1:username>
<ns1:password>password1234</ns1:password>
</ns1:p_login>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Есть идеи как это исправить?