WSDL gus api вернул ошибку или пустые данные. как это исправить? - PullRequest
0 голосов
/ 28 апреля 2019

Я много раз пытался подключиться к Api wsdl, и я не представляю, почему этот код не работает.

пример запроса из документации:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:tem="http://tempuri.org/"
xmlns:arr="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
 <soapenv:Header/>
 <soapenv:Body>
 <tem: GetMigrationData201901>
 <tem:AuthToken>user key</tem:AuthToken>
 <tem:NIP>
 <arr:string>5840778201</arr:string>
 </tem:NIP>
 </tem: GetMigrationData201901>
 </soapenv:Body>
</soapenv:Envelope>

мой код:

<code>$options = array('trace'=>1,
    'exceptions'=> 1,
    'style'=> SOAP_DOCUMENT,
    'use'=> SOAP_LITERAL
);

$soapClient = new SoapClient('https://datastoretest.ceidg.gov.pl/CEIDG.DataStore/services/DataStoreProvider201901.svc?wsdl',$options);
try {



    $versionResponse = $soapClient->GetMigrationData201901(array("tem:AuthToken"=>"abcde12345abcde12345","tem:NIP"=>['arr:string'=>'8252052153']));

} catch (\Exception $e){
    throw new \Exception("Soup request failed! Response: ".$soapClient->__getLastResponse());
}
echo "VERSION RESPONSE: <pre>";
print_r($versionResponse);
echo "


";
echo 'SOAP CLIENT PRINT: <pre>';
print_r($soapClient);
echo "

ПОСЛЕДНЯЯ ЗАПРОС:
";
print_r($soapClient->__getLastRequest());
echo "
";

мой результат:

request:
[__last_response_headers] => HTTP/1.1 200 OK
Cache-Control: private
Content-Type: text/xml; charset=utf-8
Server: Microsoft-IIS/8.5
X-AspNet-Version: 4.0.30319
Set-Cookie: ASP.NET_SessionId=scsd2k14jytmlrb14l4mnmof; path=/; HttpOnly
X-Powered-By: ASP.NET
Date: Sun, 28 Apr 2019 15:22:49 GMT
Content-Length: 272
response - empty
...