Серверу не удалось обработать запрос. ---> Ссылка на объект не установлена ​​на экземпляр объекта PHP Soap Проблема: - PullRequest
0 голосов
/ 16 октября 2019

Вход 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...