SOAP Nachrichtenaustausch zwischen Axis2-WSs

Status
Nicht offen für weitere Antworten.

romzac

Mitglied
Nabend allerseits!

Ich habe zwei WS entwickelt, zwischen denen per SOAP Nachrichten ausgetauscht werden sollen.
Der erste Axis2-WS stellt mir Axiom ein XML Dokument zusammen (OMDocument).

Dies kann leicht in die SOAP Nachricht verpackt werden:
Code:
			SOAPFactory sf = OMAbstractFactory.getSOAP12Factory();
			SOAPEnvelope se = sf.getDefaultEnvelope();
			se.getBody().addChild(document);
			System.out.println(se);

Nur steht in meiner doku vorlage leider nicht, mit welchen Befehlen ich den Envelope nun an den anderen WS absenden kann, und wie ich den Envelope auf der anderen Seite auspacken kann, also so, dass ich dort auch wieder ein OMDocument vorliegen habe.

Was mir auch nicht klar ist, wie ich eine Verbindung vom ersten WS zu dem anderen WS herstelle.
Ich vermute, es wird über die Klasse endpoint.publish(adress) gehen, wo ich danach getBinding oder so etwas machen muss. Klappt aber bisher nicht, deshalb wäre ich an diesen Stellen für ein paar Vorschläge dankbar.

Muchas Gracias!
 

kama

Top Contributor
Hallo,

Axis2 bietet die Möglichkeit Skeletons (Interfaces) sowohl für client als auch für Server seite zu erstellen....Die muss man dann nur noch anpassen....das ist einfacher als alles andere...

MfG
Karl Heinz Marbaise
 

romzac

Mitglied
Ja, das Interface für den Client habe ich. Ich kann von einer Java Klasse aus als Client mit dem WS kommunizieren.

Ich brauche aber, dass zwei Web-Services direkt miteinander kommunizieren über eine SOAP Nachricht.

Und das bekomme ich noch nicht hin. Mit Axoim die Nachricht zusammen zu stellen ist einfach. Aber wie versenden, und wie empfangen???

THX.
 

kama

Top Contributor
Hi,

genau wie mit dem Client....denn Du willst ja eine Nachricht an den einen Webservice verschicken ....
Oder wo liegt das Problem ?

MfG
Karl Heinz Marbaise
 

romzac

Mitglied
Naja, in den Interface Klassen steht der WS als Endpunkt feste drinne.

Wenn ich aber mehrere WS betreibe, die lose gekoppelt sind, kann ich keinen Endpoint zum aufrufen angeben. Stattdessen soll die SOAP nachricht an einen ESB wie z.B. Apache Service Mix übergeben werden, der leitet dass dann an eine WS weiter, den er im Servicedirectory gefunden hat.

Also muss ich im ersten WS irgendwie eine SOAP Nachricht zusammen bauen, die ich dann abschicke. Wie gesagt, das Nachrichten zusammen bauen klappt ja auch mit Axiom ganz gut.

Aber wie schicke ich die ab?

Übrigens noch ne andere Frage:

Ich habe in dem 2ten WS schon mal angenommen, dass die SOAP Nachricht angekommen ist (ja, hab die xml Datei erstmal aus nem FileStream gelesen).

Wie kann ich innerhalb der XML Struktur ein Element direkt finden, das z.B. in der 5. Unterebene ist?

Ich kann bisher immer nur ein Child auf der nächsten Ebene ansprechen, und müßte mich dann darin wieder rekursiv weiter hangeln, bis ich das gesuchte Elemente finde. Es geht natürlich um den Wert von dem Element.

THX.

Edit: also nochmal ganz plaktiv: eine SOA sieht eine lose Kopplung zwischen Services vor. Wenn ich es über die Stubs mache, bin ich zu fets an den anderen Service gebunden.
Der erste WS soll die Nachricht in dne Transportstrom schrieben, ohne zu wissen, was danach damit passiert.
Der andere empfängt die Nachricht, ohne zu wissen woher.

Das nachrichtenrouting übernimmt ein ESB oder ein "speziller" service, der für die "Orchestrierung" der beiden anderen Services gut sein kann.
 

romzac

Mitglied
Tja, ich habe es dann letztendlich doch mit den Skeletons gemacht, obwohl ich es nach wievor nicht für ideal halte. Ich war die ganze Zeit immer davon ausgegangen, dass ich selber die SOAP Nachricht zusammen bauen müßte, oder zumindest irgendwie Einfluss darauf hätte. Nun egal, lassen wir das also.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Behörden Soap service konsumieren SOA 4
M problem mit großem SOAP Response SOA 3
pkm Struktur einer SOAP-Anwendung SOA 28
N SOAP-Nachrichten verschlüsseln | jax-ws SOA 0
S Soap Request absenden - Anfängerfrage SOA 0
I SOAP Webservice Methoden und Parameter auslesen SOA 3
D [SOAP] wsdl & maven & java 1.8 SOA 6
P SOAP Webservice mit HTTP Basic Authentifizierung SOA 1
E SOAP-Endpunkt per Eclipse-Wizard erstellt, wie nun mit Auth schützen? SOA 2
M Kann man das Protokoll eines REST (Jersey) bzw. SOAP Web Services manipulieren? SOA 5
G SOAP Response "faken" SOA 8
D SOAP Webservice (SAP) SOA 3
K Flex-Ablöse - Was mit den SOAP-Services tun? SOA 5
G Soap, http SOA 3
A Soap with Attachments - Unmarshalling Error SOA 4
K Axis2 SOAP Logging via Client SOA 2
E mit Apache SOAP verschachtelte XML-Tags generieren SOA 2
F XML per SOAP übermitteln SOA 2
H SOAP und Synonym-Wortschatz Leipzig SOA 4
V SOAP over JMS - wie funktionierts? SOA 3
C Undefinierte Zeichenketten in SOAP Nachricht SOA 4
E Lesen der kompletten SOAP als WebService Provider/Server SOA 4
R Webservice aufrufen mit SOAP Style.DOCUMENT ? SOA 5
I SOAP WSDL und UDDI SOA 12
G --> SOAP zwischen Intranet und Internet SOA 3
K Mappen von Objektmethoden bei SOAP SOA 7

Ähnliche Java Themen

Neue Themen


Oben