• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

API GUS SOAP

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
0 głosów
120 wizyt
pytanie zadane 4 kwietnia w PHP przez Wiiiciu Obywatel (1,110 p.)

Cześć, walczę od kilku dni z API GUS z SOAP ale cały czas coś jest nie tak.

Mam taki kod:

<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);

$wsdl = "https://wyszukiwarkaregon.stat.gov.pl/wsBIR/wsdl/UslugaBIRzewnPubl-ver11-prod.wsdl";

$options = array(
    'trace' => 1,
    'exceptions' => 1,
    'cache_wsdl' => WSDL_CACHE_NONE,
    'connection_timeout' => 30,
    'soap_version' => SOAP_1_2,
);

try {
    $client = new SoapClient($wsdl, $options);
} catch (Exception $e) {
    die("Błąd tworzenia klienta SOAP: " . $e->getMessage());
}

$apiKey = "klucz";

$params = array("pKluczUzytkownika" => $apiKey);
try {
    $loginResult = $client->Zaloguj($params);
    if (empty($loginResult->ZalogujResult)) {
        die("Logowanie nie powiodło się: pusta wartość sesji.");
    }
    $sessionId = $loginResult->ZalogujResult;
    echo "Zalogowano – identyfikator sesji: " . $sessionId . "\n";
} catch (SoapFault $fault) {
    die("Błąd SOAP podczas logowania: (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})");
}

$header = new SoapHeader('http://tempuri.org/', 'sid', $sessionId);
$client->__setSoapHeaders($header);

$searchNip = "5250000944"; // Przykładowy NIP do wyszukiwania
$searchParams = array(
    "pParametryWyszukiwania" => array(
        "Nip" => $searchNip
    )
);

try {
    $searchResult = $client->DaneSzukajPodmioty($searchParams);
    if (empty($searchResult->DaneSzukajPodmiotyResult)) {
        die("Wyszukiwanie nie zwróciło danych.");
    }
    echo "Wynik wyszukiwania:\n";
    echo $searchResult->DaneSzukajPodmiotyResult;
} catch (SoapFault $fault) {
    die("Błąd SOAP podczas wyszukiwania: (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})");
}
?>

mam hosting na home, i wyskakuje mi błąd: 

Błąd tworzenia klienta SOAP: SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://wyszukiwarkaregon.stat.gov.pl/wsBIR/wsdl/UslugaBIRzewnPubl-ver11-prod.wsdl' : failed to load external entity "https://wyszukiwarkaregon.stat.gov.pl/wsBIR/wsdl/UslugaBIRzewnPubl-ver11-prod.wsdl"

BIR1.1 wersja testowa
Adres usługi:
https://wyszukiwarkaregontest.stat.gov.pl/wsBIR/UslugaBIRzewnPubl.svc
Adres wsdl:
https://wyszukiwarkaregontest.stat.gov.pl/wsBIR/wsdl/UslugaBIRzewnPubl-ver11-test.wsdl
Klucz:
abcde12345abcde12345

 

Czy ktoś byłby tak miły i mógł mi pomóc z tym

1 odpowiedź

+1 głos
odpowiedź 5 kwietnia przez overcq Pasjonat (22,600 p.)

Szczegółowy opis błędu był, że ‘server’ zwraca nagłówek “Content-Type” z zawartością “text/xml”, a powinien – “application/xop+xml”.

Być może przyczyną tego błędu było to, że ‘client’ wysyłał w żądaniu podczas tworzenia “SoapClient” nagłówek z zawartością “text/xml”, a powinien – “application/soap+xml”. Jak zmienić nagłówek “Content-Type” wysyłany podczas tworzenia “SoapClient” jest napisane tutaj.

Jednak po kilkunastu próbach nie mogę odtworzyć tego błędu ponownie. Być może zmienili coś na ‘serverze’, że wysyła poprawny nagłówek mimo żądania “text/xml”.

komentarz 5 kwietnia przez Wiiiciu Obywatel (1,110 p.)
hej, dziękuję za odpowiedź. niestety nadal nie działa :(
komentarz 5 kwietnia przez overcq Pasjonat (22,600 p.)

Teraz występuje błąd podczas logowania. Nie wiadomo, jaki to błąd, ponieważ ‘server’ odsyła tylko ogólne HTTP 500. Łączysz się z jednego z adresów IP podanych podczas rejestracji konta? Może to jest przyczyną. A jeśli nie, to zawsze możesz skorzystać z pomocy technicznej GUS.

Podobne pytania

0 głosów
0 odpowiedzi 2,811 wizyt
pytanie zadane 21 kwietnia 2017 w PHP przez Michał Kazula Pasjonat (19,540 p.)
+2 głosów
1 odpowiedź 234 wizyt
0 głosów
0 odpowiedzi 678 wizyt
pytanie zadane 2 grudnia 2021 w PHP przez bartek9999 Nowicjusz (120 p.)

93,440 zapytań

142,432 odpowiedzi

322,679 komentarzy

62,802 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

...