Forum Coders' city Strona Główna Coders' city
Nasza pasja to programowanie!
 

 PomocPomoc   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy  RejestracjaRejestracja 
Archiwum starego forum + teoria    RSS & Panel/SideBar
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Potrzebuję szybkiej odpowiedzi na moje pytanie... Zasady

java SOAP gus api



 
Odpowiedz do tematu    Forum Coders' city Strona Główna -> Java
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
r3v3l
Gość





PostWysłany: Wto Lip 11, 2017 8:12 pm  OP    Temat postu: java SOAP gus api Odpowiedz z cytatem Pisownia

Mam pytanie dotyczące samego połączenia się z serwisami birp. Otóż posiadam taką klasę, która powinna się wdzwaniać w metodę Zaloguj:

Kod:

public class GusSignInMessageRepository {

    public SOAPMessage signInToGus() {

        try {

            SOAPConnectionFactory soapConnectionFactory = SOAPConnectionFactory.newInstance();
            SOAPConnection soapConnection = soapConnectionFactory.createConnection();

            SOAPMessage connectionMessage = createSOAPRequest();

            SOAPMessage soapMessage = soapConnection.call(connectionMessage, RegonConstantsRepository.BASE_WSDL_URL);
            return soapMessage;

        }catch (Exception e){
            e.printStackTrace();
        }

        return null;

    }

    public SOAPMessage createSOAPRequest() {

        try {
            MessageFactory messageFactory = MessageFactory.newInstance();
            SOAPMessage soapMessage = messageFactory.createMessage();
            SOAPPart soapPart = soapMessage.getSOAPPart();

            SOAPEnvelope soapEnvelope = soapPart.getEnvelope();

            SOAPHeader soapHeader = soapEnvelope.getHeader();
            QName toQname = new QName(RegonConstantsRepository.BASE_WSDL_ADDRESS, "To", "wsa");
            SOAPHeaderElement toElement = soapHeader.addHeaderElement(toQname);
            QName actionQname =  new QName(UrlRepository.signInUrl, "Action", "wsa");
            SOAPHeaderElement actionElement = soapHeader.addHeaderElement(actionQname);

            soapEnvelope.addNamespaceDeclaration("ns", "Zaloguj");
            SOAPBody soapBody = soapEnvelope.getBody();
            SOAPElement userKey = soapBody.addChildElement(
                    "ns", "pKluczUzytkownika",
                    Play.application().configuration().getString("gus.apiKey")
            );

            MimeHeaders headers = soapMessage.getMimeHeaders();
            headers.removeHeader("Accept");
            headers.removeHeader("Content-Type");
            headers.addHeader("Content-Type", "application/xop+xml");
            soapMessage.saveChanges();
            return soapMessage;

        }catch (Exception e){
            e.printStackTrace();
        }

        return null;

    }

}



BASE_WSDL_ADDRESS to https://wyszukiwarkaregon.stat.gov.pl/wsBIR/UslugaBIRzewnPubl.svc
BASE_WSDL_URL to

https://wyszukiwarkaregontest.stat.gov.pl/wsBIR/wsdl/UslugaBIRzewnPubl.xsd

Odpowiedź serwera to 405 method not allowed.
Czy można się dowiedzieć, co robię źle? Zaznaczam, nie chcę używać httpclient'a.
Powrót do góry
Wyświetl posty z ostatnich:   
Odpowiedz do tematu    Forum Coders' city Strona Główna -> Java Wszystkie czasy w strefie CET (Europa)

Strona 1 z 1

 
Skocz do:  
Możesz pisać nowe tematy
Możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Możesz dodawać załączniki na tym forum
Możesz pobierać pliki z tego forum




Debug: strone wygenerowano w 0.17177 sekund, zapytan = 11
contact

| Darmowe programy i porady Jelcyna | Tansze zakupy w Helionie | MS Office Blog |