Wie sende ich eine SOAP-Anfrage mit WebServiceTemplate?
Ich versuche zum senden einer Anfrage zu einem SOAP-webservice. Ich lese dieses tutorial und bereitete den folgenden code. Aber ich werde senden verschiedene Anfragen an mehrere SOAP-webservices, in der Erwägung, dass das tutorial konzentriert sich auf eine Anfrage. Wie kann ich das senden von SOAP-Anfrage unter Verwendung WebserviceTemplate
?
WebServiceTemplate
SoapMessage soapMsg = new SoapMessage();
soapMsg.setUsername("Requester");
soapMsg.setPassword("Pass");
soapMsg.setLanguageCode("EN");
Request request = new Request();
request.setDeparture("FDH");
request.setDestination("HAM");
Date date = new Date();
SimpleDateFormat frm2 = new SimpleDateFormat("yyyy-MM-dd");
request.setDepartureDate(frm2.parse(frm2.format(date)));
request.setNumADT(1);
request.setNumCHD(0);
request.setNumInf(0);
request.setCurrencyCode("EUR");
request.setWaitForResult(true);
request.setNearByDepartures(true);
request.setNearByDestinations(true);
request.setRronly(false);
request.setMetaSearch(false);
soapMsg.setRequest(request);
WebServiceTemplate webServiceTemplate = new WebServiceTemplate(). //how to create object and send request!
Object response = webServiceTemplate.marshalSendAndReceive(
"https://aaa5.elsyarres.net", soapMsg);
Response msg = (Response) response;
System.err.println("size of results of wogolo:"
+ msg.getFlights().getFlight().size());
InformationsquelleAutor der Frage Jack | 2015-12-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie verwenden Sie folgenden code, die Sie nicht brauchen, um zu definieren, nichts in der xml-Datei.
InformationsquelleAutor der Antwort Daniel Newtown
Senden verschiedene SOAP-Anfragen an verschiedene SOAP-Dienste, die Sie gerade brauchen, um Ihr WebServiceTemplate bewusst alle Anfragen und Antworten verarbeitet werden müssen.
Erstellen Sie eine Java-Klasse für jede Anforderung und Antwort etwa so:
(Die @XmlRootElement wird, weil wir uns mit JAXB marshaller unten; siehe Jaxb-Referenz für weitere Informationen).
Den Aufbau der Vorlage erfolgt zum Beispiel so:
"Modelle" ist der name des Pakets, wo die Anforderungen/Antworten-Klassen sind, so, dass jaxb kann Sie finden.
Dann müssen Sie nur instanziieren, die die Anforderung der Klasse, die Sie durchführen wollen, um den Anruf, etwa so:
Ähnlich, Sie werfen kann, ist die response-Objekte in Ihre JAXB-Klassen, die oben definiert werden.
InformationsquelleAutor der Antwort smarquis
Davon aus, dass Ihr SoapMessage ist marhsallable
Senden der gleichen Nachricht an mehrere endpoints, die Sie nur brauchen, um eine Schleife auf das senden von code und der request-handler.
Etwas wie dieses:
Dieser code verwendet das Spring WebServiceTemplate
InformationsquelleAutor der Antwort Mike Murphy
Hier ist ein Beispiel, was Sie gesucht werden soll
Seife hat eine Menge der Einschränkung im Gegensatz zu
REST
Es folgt einige standards zu erfüllen, bevor Sie Netzwerk-Aufruf zu arbeiten,Aber im Gegensatz zu
Rest
in Seife, wenn SieWSDL
URL erhalten Sie alle Informationen, die zum Aufruf der Soap-Aufrufdieser code wurde geschrieben in
Android
so können Sie ignorieren, einige Teil, aber ich behielt es in der Antwort, dass jemand von android-hintergrund setzen kann eine gute Nutzung zuÖffnen
[WSDL][1]
im browser und überprüfen Sie die Dinge, die Materie zu nennen, eine remote Methode auf dem server.InformationsquelleAutor der Antwort Pankaj Nimgade