Вход SOAP:
POST /service.asmx HTTP/1.1
Host: 197.251.5.188
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://tempuri.org/ReportDetail"
<?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:Body>
<ReportDetail xmlns="http://tempuri.org/">
<req>
<clientId>string</clientId>
<terminalId>string</terminalId>
<tranDateTime>string</tranDateTime>
<rptDateFrom>string</rptDateFrom>
<rptDateTo>string</rptDateTo>
</req>
</ReportDetail>
</soap:Body>
</soap:Envelope>
Выход мыла:
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?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:Body>
<ReportDetailResponse xmlns="http://tempuri.org/">
<ReportDetailResult>
<clientId>string</clientId>
<terminalId>string</terminalId>
<tranDateTime>string</tranDateTime>
<responseCode>string</responseCode>
<responseStatus>string</responseStatus>
<responseMessage>string</responseMessage>
<reportDt>
<ReportDt>
<TransName>string</TransName>
<PAN>string</PAN>
<approvalCode>string</approvalCode>
<tranAmount>string</tranAmount>
<tranDateTime>string</tranDateTime>
<systemTraceAuditNumber>string</systemTraceAuditNumber>
<TransCount>string</TransCount>
</ReportDt>
<ReportDt>
<TransName>string</TransName>
<PAN>string</PAN>
<approvalCode>string</approvalCode>
<tranAmount>string</tranAmount>
<tranDateTime>string</tranDateTime>
<systemTraceAuditNumber>string</systemTraceAuditNumber>
<TransCount>string</TransCount>
</ReportDt>
</reportDt>
</ReportDetailResult>
</ReportDetailResponse>
</soap:Body>
</soap:Envelope>
Я пытаюсь подключиться к веб-службе c # на php с этим кодом:
$clientId="DARICT";
$terminalId="08000008";
$tranDateTime="20082019";
$rptDateFrom="01012019";
$rptDateTo="01102019";
$client = new SoapClient("http://197.251.5.188:12340/service.asmx?WSDL", array('trace' => 1, "exception" => 0));
//$wsdl_url = 'http://197.251.5.188:12340/service.asmx?WSDL';
//$client = new SOAPClient($wsdl_url);
$params = array(
'clientId'=>$clientId,
'terminalId'=>$terminalId,
'tranDateTime'=>$tranDateTime,
'rptDateFrom'=>$rptDateFrom,
'rptDateTo'=>$rptDateTo
);
//$s=$params->terminalId;
//echo $s;
$result = $client->__soapCall("ReportDetail", array($params));
var_dump($result);
Я использую restful api (почтальон), и он работает, но когда я вызываю веб-сервис с php, я получаю эту ошибку: (!) SoapFault: Серверу не удалось обработать запрос. ---> Ссылка на объект не установлена на экземпляр объекта. в C: \ wamp64 \ www \ test \ test.php в строке 14