![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 4.03.2015 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam problem z uruchomieniem SOAP w PHP..
Próbując wywołać metodę dostaję błąd: Fatal error: Uncaught SoapFault exception: [HTTP] Internal Server Error wywołuję metodę Zaloguj - logowanie udane- zwracany jest 20 znakowy identyfikator sesji - logowanie nieudane- zwracany jest pusty ciąg tak samo dzieje się przy PobierzCaptcha; - jeśli wymagane jest wprowadzenie kodu - obrazek 5 znakowego ciągu, liter i cyfr, zakodowany w formacie BASE64 - jeśli niewymagane jest wprowadzenie kodu - pusty ciąg , jeśli wygasła sesja - ciąg „-1” Mój kod:
Może ktoś pomoże, bo walczę dwa dni i stoję w miejscu .... |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 50 Pomógł: 4 Dołączył: 15.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Polecam do HEADERA dodać:
i poczytać o http://php.net/manual/pl/soapclient.call.php W razie pytań CALL ME (IMG:style_emoticons/default/wink.gif) |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 4.03.2015 Ostrzeżenie: (0%) ![]() ![]() |
Polecam do HEADERA dodać:
i poczytać o http://php.net/manual/pl/soapclient.call.php W razie pytań CALL ME (IMG:style_emoticons/default/wink.gif) Dodane i to samo... |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Jakiś problem z serwerem API
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 4.03.2015 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
No to tym bardziej (IMG:style_emoticons/default/tongue.gif)
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 4.03.2015 Ostrzeżenie: (0%) ![]() ![]() |
No to tym bardziej (IMG:style_emoticons/default/tongue.gif) HE he (IMG:style_emoticons/default/smile.gif) nie no dzwoniłem do nich i zapewniają że działa poprawnie. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Błąd jednak wskazuje na problem serwera, więc poproś ich o jakiś przykładowy kod czy coś.
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 4.03.2015 Ostrzeżenie: (0%) ![]() ![]() |
Błąd jednak wskazuje na problem serwera, więc poproś ich o jakiś przykładowy kod czy coś. Raczej nie podeślą przykładu w PHPie.. Bo serwer SOAP jest na Windows więc przykład jak coś podeślą pewnie w ASP. Jedynie co mi podesłali to przykładowe żadanie:
Ten post edytował gerffi 4.03.2015, 16:51:52 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Ja nadal twierdzę że coś jest nie tak po Ich stronie (IMG:style_emoticons/default/wink.gif)
Ew. potrzebne są jakieś dane autentykacyjne które trzeba podać przy każdym requeście. |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 4.03.2015 Ostrzeżenie: (0%) ![]() ![]() |
Nie dane auth nie są wymagane.. Metody bez problemu mogę odczytać jakie są w tym soap..
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Niech podeślą przykład wywołania Zaloguj
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 4.03.2015 Ostrzeżenie: (0%) ![]() ![]() |
Raczej gotowego przykładu w PHP mi nie podeślą ;-)
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Jakikolwiek może być nawet w Assemblerze (IMG:style_emoticons/default/wink.gif)
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 4.03.2015 Ostrzeżenie: (0%) ![]() ![]() |
he he (IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 2.11.2013 Ostrzeżenie: (0%) ![]() ![]() |
Witaj,
jak odpytasz $client = new SoapClient('https://wyszukiwarkaregontest.stat.gov.pl/wsBIR/wsdl/UslugaBIRzewnPubl.xsd'); $client->__doRequest($xml, 'https://wyszukiwarkaregontest.stat.gov.pl/wsBIR/UslugaBIRzewnPubl.svc', 'Zaloguj', 2); to otrzymasz kod sesji. Potem ten kod sesji musisz dokładać do nagłówka HTTP przy następnych żądaniach. Ja aktualnie utknąłem nad strukturą XML PobierzCaptcha - dwie pokazane w dokumentacji przykładowej działają a ta wywala mi błędy składni. Posiada ktoś może gotową strukturę XML dla następnego kroku - czyli metody PobierzCaptcha ? |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 2 Dołączył: 1.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam ten sam problem. Czy jest rozwiązanie na komuniakcje z tym API. U mnie nawet nie działa zaloguj. Pytanie w $xml podajesz to przykłądowe wywołanie z dokumentacji ? |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 13.05.2015 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Czy udało się komuś z tą usługą faktycznie połączyć? U mnie nieustannie jest: Internal Server Error
|
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Trzaśnij coś takiego:
|
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 13.05.2015 Ostrzeżenie: (0%) ![]() ![]() |
Trzaśnij coś takiego Trzasnąłem (IMG:style_emoticons/default/smile.gif) Dzięki, byłem tak blisko a jednocześnie tak daleko! (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#21
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 3 Dołączył: 25.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam wszystkich.
Niemożliwe że nie potrafią napisać porządnej dokumentacji (albo nawet porządnego API) bo widać że każdy ma z tym cholerstwem problem. Ale do rzeczy, ja również się z tym bujam. Logowanie udało się prawidłowo, dostaję token, ale już pobieranie Captcha nie działa jak powinno. Moje zapytanie wygląda tak, ktoś ma pomysł co moze być nie tak? Kod POST /wsBIR/UslugaBIRzewnPubl.svc HTTP/1.1 Host: wyszukiwarkaregontest.stat.gov.pl Connection: Keep-Alive User-Agent: PHP-SOAP/5.4.32 Content-Type: application/soap+xml; charset=utf-8; action="http://CIS/BIR/2014/07/IUslugaBIR/PobierzCaptcha" Content-Length: 437 Sid: 4p9p2g6d4f7v3f8t4c2r
Response Kod HTTP/1.1 500 Internal Server Error Connection: Keep-Alive Content-Length: 941 Date: Mon, 18 May 2015 18:39:13 GMT Content-Type: multipart/related; type="application/xop+xml";start="<http://tempuri.org/0>";boundary="uuid:68818fb7-ddb6-4368-8c77-d9b40e1eea29+id=114";start-info="application/soap+xml" Server: Microsoft-IIS/7.5 Cache-Control: private X-AspNet-Version: 2.0.50727 MIME-Version: 1.0 X-Powered-By: ASP.NET PS. Podejrzane wydaje mi się action w nagłówku http "http://CIS/BIR/2014/07/IUslugaBIR/PobierzCaptcha", adres jest nieco inny niż przy metodzie Zaloguj Przy okazji, wie ktoś moze jaki jest adres produkcyjnego wsdl? https://wyszukiwarkaregon.stat.gov.pl/wsBIR...BIRzewnPubl.xsd nie działa Ten post edytował extreme-dh 20.05.2015, 20:17:02 |
|
|
![]()
Post
#22
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 13.05.2015 Ostrzeżenie: (0%) ![]() ![]() |
Również utknąłem na pobieraniu niemniej temat rozwojowy więc dzielę się tym, co z GUSu niemal siłą wyszarpałem (IMG:style_emoticons/default/wink.gif)
|
|
|
![]()
Post
#23
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 24.01.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
po wielu bojach, udało mi się przedrzeć przez API GUS, z wykorzystaniem podstawowych metod klasy SoapClient. Gdyby ktoś był zainteresowany takim rozwiązaniem, bez wchodzenia w CURLe i inne niskopoziomowe __doRequest() z zabawą w tworzenie całych zapytań XML, to (pozwolę sobie również podsumować wcześniejsze spostrzeżenia w tym wątku): 1. Internal Server Error otrzymujemy, kiedy stosujemy domyślną wersję SOAP 1.1, należy zmienić ją koniecznie na SOAP 1.2
2. Wyjątek pt. "looks like we got no XML document" związany jest z faktem, że SoapClient nie jest na tyle elastyczny, aby przetworzyć odpowiedź wygenerowaną przez server SOAP GUS, zawierającą dodatkowe dane (nagłówki). Konieczne jest więc niestety stworzenie własnej klasy dziedziczącej po SoapClient, nadpisującej metodę __doRequest(), wyciągającej do przetworzenia sam kod XML:
3. Serwer GUS wymaga, aby dodać do zapytania XML dwa nagłówki:
URL_WYBRANEJ_MEDOTY (np. http://CIS/BIR/PUBL/2014/07/IUslugaBIRzewnPubl/Zaloguj) można pobrać i sparsować XML z pliku WSDL lub zdefiniować na stałe dzięki uprzejmości kolegi mkola, post 22 (niestety, nie każda metoda ma ten sam początek adresu http://CIS/BIR/PUBL/2014/07/IUslugaBIRzewnPubl/). 4. Z tak skonstruowanym zapytaniem, możemy śmiało się logować:
5. Po zalogowaniu (otrzymaniu identyfikatora sesji), należy ten identyfikator dodawać do każdego następnego zapytania:
6. Przejście na środowisko produkcyjne. Na dzień dzisiejszy, przy przejściu na środowisko produkcyjne, zmienia się klucz użytkownika oraz adres usługi, nie zmienia się natomiast adres pliku WSDL. Dodatkowo, klient SoapClient, bez względu na powyżej wprowadzone parametry, nadal pobiera adres usługi z pliku WSDL (a więc testowy). Skutkiem takiego stanu rzeczy będzie błąd autoryzacji, jako że klient będzie łączył się z usługą testową z wykorzystaniem klucza produkcyjnego. Dlatego też konieczne jest "brutalne" nadpisanie parametru adresu usługi w naszej klasie dziedziczącej.
|
|
|
![]()
Post
#24
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Tak jakby nie dało się zrobić normalnego API RESTfull (IMG:style_emoticons/default/wink.gif)
|
|
|
![]()
Post
#25
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 19.11.2013 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Skorzystałem z porad i udało mi się poprawnie zalogować. Jednak mam problem z wykonaniem kolejnych operacji np. pobranie danych o statusie.
Zapytanie zwraca błąd
Prośba o jakieś wskazówki. Pozdrawiam, |
|
|
![]()
Post
#26
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 24.01.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
z góry przepraszam, popełniłem gafę w moim poście pisząc, że można pobrać adresy URL metod z postu #22. Jak przyjrzałem się teraz głębiej, okazuje się, że właściwy plik WSDL zawiera inne adresy tych metod, i tak dla przykładu właśnie GetValue ma adres http://CIS/BIR/2014/07/IUslugaBIR/GetValue, a nie tak jak kolega wprowadził w swoim kodzie http://CIS/BIR/PUBL/2014/07/IUslugaBIRzewnPubl/GetValue. To tak na szybko, pierwszy wykryty błąd. |
|
|
![]()
Post
#27
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 19.11.2013 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Dziękuję za szybką odpowiedź. Faktycznie po zmianie adresu i małej poprawce w zwracanej wartości, zaczęło działać. Powoli zacznę wszystko zbierać w całość i podrzucę na forum. Pozdrawiam,
|
|
|
![]()
Post
#28
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 0 Dołączył: 21.02.2015 Skąd: Bielsko-Biała Ostrzeżenie: (0%) ![]() ![]() |
Czy udalo się komuś z tym poradzić w końcu ?
|
|
|
![]()
Post
#29
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 5.08.2016 Ostrzeżenie: (0%) ![]() ![]() |
Z tego co wiem to w lipcu 2016r. API do GUS znowu uległo zmianie.... Szczegóły opisali w dokumentacji, ale jak tak dalej pójedzie, to raz na pół roku trzeba będzie grzebać w kodzie żeby dostosować się do wprowadzanych przez nich zmian.. (IMG:style_emoticons/default/sad.gif)
Na github.com albo sourceforge.com masz gotowe, darmowe biblioteki, które umożliwiają wykorzystanie GUS API, np: https://sourceforge.net/projects/nip24-pl-gus-api/files/ Z tego co widzę to są na bieżąco aktualizowane. |
|
|
![]()
Post
#30
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 18.11.2016 Ostrzeżenie: (0%) ![]() ![]() |
Dzień Dobry!
Potrzebuję na mojej stronie skorzystać z wyszukiwarki danych z GUS po NIP-ie i gdy podany nip będzie prawidłowy uzupełni mi pola tekstowe takie jak Nip, Kod-pocztowy, miasto itp. Potrzebuję jakiegoś kodu php, żebym miał się na czym wzorować. Z poważaniem. |
|
|
![]()
Post
#31
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 6.07.2017 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Próbuję się dostać do testowych danych GUS i wygląda to tak: udaje mi się zalogować (dostaję identyfikator sesji), ale nie potrafię wyciągnąć nic, co wymaga podania tego identyfikatora. Jeśli zapytam przez GetValue o KomunikatUslugi lub StatusUslugi - dostaję odpowiedź (usługa dostepna). Ale te parametry nie wymagają podania sid. Kiedy pytam o StatusSesji - dostaję 0 (czyli wg instrukcji "sesja nie istnieje"). Wygląda to tak, jakbym nie podawał prawidłowo identyfikatora, chociaż wszystko robiłem na podstawie Waszych postów:
Może czegoś tu jednak brakuje? Czegoś, co jest dla Was oczywiste? (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#32
|
|
Grupa: Zarejestrowani Postów: 1 086 Pomógł: 8 Dołączył: 10.12.2003 Ostrzeżenie: (0%) ![]() ![]() |
Odgrzebuję ten stary temat, bo to jedyne miejsce gdzie znalazłem dyskusję i pomocne informacje na temat używania SoapClient do komunikacji z REGON API. Korzystając z powyższych doświadczeń napisałem swoją klasę rozszerzającą SoapClient.
Zalety:
Do tego dosyć kompletny przykład użycia:
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 16:49 |