ERLEDIGT
NEIN
NEIN
ANTWORTEN
9
9
ZUGRIFFE
1309
1309
EMPFEHLEN
-
Hallo zusammen,
Meine Situation:
Ich würde gerne einen WebService in Java erstellen. Dieser WebService soll aber nur die ankommende Soap abfangen. Diese soll dann unverändert per Socket weitergeschickt werden.
Meine Frage:
Ist es möglich einen solchen WebService aufzubauen, welcher eine komplette Soap empfängt?
Ich wäre euch für jede Hilfe oder Idee dankbar.
-
13.04.09 14:17 #2
Was ist denn die Soap?
SOAP ist das Protokoll, nich irgendwas, was hin und her geschickt wird... http://de.wikipedia.org/wiki/SOAP
REINHAUN!In theory, there is no difference between theory and practice. In practice, there is!
www.olivergierke.de
-
Wenn ich dich richtig verstehe kommt die SOAP gar nicht am Server an?
Was kommt den am Server an? :-D
Was macht ein WebService im Hintergrund?
Gruß
-
14.04.09 07:27 #4
Nochmal, es gibt nicht "die SOAP". Lies doch bitte mal den Wikipediaartikel. Wenn das nicht klar ist, wird man dir nur wenig helfen können fürchte ich.
XML Nachrichten bestehend aus Envelope und Payload.Was kommt den am Server an? :-D
Ich versteh die Frage nicht. Er macht eben das, was du implementierst.Was macht ein WebService im Hintergrund?
Gruß
OllieIn theory, there is no difference between theory and practice. In practice, there is!
www.olivergierke.de
-
Mal ein bisschen konkreter anhand eines Beispieles:
Das Beispiel ist von http://www.torsten-horn.de/techdocs/soap.htm:
Wenn dieses meine SOAP-Request ist:
POST /perl/soaplite.cgi HTTP/1.0
Host: services.xmethods.net:80
Content-Type: text/xml; charset=utf-8
Content-Length: 546
SOAPAction: ""
<?xml version='1.0' encoding='UTF-8'?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SOAP-ENV:Body>
<ns1:BabelFish xmlns:ns1="urn:xmethodsBabelFish"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<translationmode xsi:type="xsd:string">de_en</translationmode>
<sourcedata xsi:type="xsd:string">Hallo Welt, Guten Tag</sourcedata>
</ns1:BabelFish>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Dann möchte ich folgendes als Server in meinem Java Programm empfangen:
<SOAP-ENV:Body>
<ns1:BabelFish xmlns:ns1="urn:xmethodsBabelFish"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<translationmode xsi:type="xsd:string">de_en</translationmode>
<sourcedata xsi:type="xsd:string">Hallo Welt, Guten Tag</sourcedata>
</ns1:BabelFish>
</SOAP-ENV:Body>
-
15.04.09 14:27 #6
- Registriert seit
- Jun 2002
- Ort
- Saarbrücken (Saarland)
- Beiträge
- 9.886
- Blog-Einträge
- 29
Hallo,
wie (mit welchem Framework, SWS, AXIS 1/2, JAX-WS, CXF, "von Hand" via HTTP Post...?) sprinchst du denn deinen Webservice an?
Je nachdem ergeben sich unterschiedliche Möglichkeiten wie man die SOAP Response abfangen kann. Um hier aber nicht alle Aufzählen zu müssen wäre es schon sehr hilfreich zu wissen wie du die SOAP Calls machst.
Prinzipiell geht dass dann je nach Framework über sowas wie einen Interceptor / Handler / Proxy der an entsprechender Stelle der Respone Behandlung eingehängt wird bzw. im Falle des Proxies den Request stellvertretend für den Service empfängt und den Aufruf an das eigentliche Ziel (den Webservice Endpoint) weitergibt. Kommt dann die Antwort zurück wird diese vom PROXY empfangen. Dieser kann dann die Antwort weiterleiten / dumpen / ignorieren, what ever.
Weiterhin ist hier auch beschrieben, wie man mit AXIS Clients SOAP Messages abfangen kann:
http://www.torsten-horn.de/techdocs/soap.htm
Übirgens nicht wundern, wenn das babelfish Webservice Beispiel nicht funktioniert. Der Service wurde mittlerweile deaktiviert.
Gruß TomJava rocks!
How to become a good Java Programmer?
Does IT in Java and .Net
The only valid measurement of code quality: WTFs / minute
Blog
Xing
Twitter
-
Hallo,
erst einmal Vielen Dank für deine Antwort.
Aber, mir geht es nicht darum eine SOAP Response abzufangen, sondern die SOAP-Request. Ich will einen WebService Server schreiben. Dieser soll eine ähnliche Funktion haben, wie du beschrieben hast, nur auf der anderen Seite(Server-Seite). Ein Händler(WebService Server), welcher die SOAP-Request vom Client abfängt und weiterleitet.
Beispielablauf:
1) SOAP -Request wird von Client Seite abgeschickt
2) SOAP- Request soll von meinem WebService Händler als XML(komplette SOAP-Request) empfangen werden
3) Mein Händlerprogramm leitet die SOAP-Response per Socket an einen anderen Server weiter
4) Ich kriege eine Antwort über eine Socket Verbindung in welcher die SOAP-Response steht.
5) Diese SOAP Response leite ich weiter an den Client welcher den WebService aufgerufen hat.
Es ist ein merkürdiges vorhaben, aber es ist eins
Ich hoffe du kannst mit helfen.
Gruß elro
-
Ja, ist es. Einfach Code anhand des WSDLs generierung und Implementierung dazu schreiben, dem Client die URL mitteilen.Ist es möglich einen solchen WebService aufzubauen, welcher eine komplette Soap empfängt?
gruss
slowfly
-
05.05.09 08:46 #9
- Registriert seit
- May 2006
- Beiträge
- 110
Hallo,
ich möchte ähnlich vorgehen. Nur ist mein Hintergrund, das Debugging:
Ich habe nämlich einen sehr einfachen Java Webservice (erstmal zu testzwecken) geschrieben. Hier will ich es schaffen, dass ich einen eigene Klasse übergeben kann (bzw ein Objekt einer eigenen Klasse). Die Klasse habe ich mit den XML Annotationen (XMLAccessortype und XMLType) ausgestattet, sodass diese beim veröffentlichen mittels Enpoint korrekt als xsd angelegt werden, die mit der wsdl-datei verknüpft wird.
Soweit so gut. Das Problem ist jedoch, dass der Client kein Java Client ist sondern der BPMS von intalio. Wenn ich hier die wsdl importiere und werte demenstsprechend mappe, wird der Webservice NICHT aufgerufen. Ich vermute den Grund, dass die SOAP nicht in der korrekten form ankommt.
Daher brauche ich einen Weg alle SOAP-Nachrichten am Webservice-Rechner abfangen zu können um mir diese mal anzuschauen.
Ich weiß nämlich nur, dass intalio irgendwas verschickt und dass nicht das richtige ankommt.
Könnt ihr mir da weiterhelfen?
-
05.05.09 09:32 #10
WebServices sind im Allgmeinen plain XML über HTTP. D.h. wenn du mit nem HTTP Monitor die Requests monitorst, siehst du genau was über die Leitung geht.
Gruß
OllieIn theory, there is no difference between theory and practice. In practice, there is!
www.olivergierke.de
Ähnliche Themen
-
SOAP-Webservice mit PHP5 : no xml?
Von edelmeier im Forum PHPAntworten: 3Letzter Beitrag: 10.12.08, 23:28 -
SOAP Webservice Authentifizierung
Von norti im Forum PHPAntworten: 0Letzter Beitrag: 07.12.08, 02:31 -
Soap Webservice Timeout
Von BillaBong im Forum PHPAntworten: 0Letzter Beitrag: 16.09.08, 15:32 -
SOAP Webservice Problem
Von scaerry im Forum PHPAntworten: 1Letzter Beitrag: 15.02.08, 15:11 -
Datenbankanbindung und Webservice / Soap
Von Hetthornie im Forum JavaAntworten: 4Letzter Beitrag: 18.03.04, 13:22





Zitieren

Login





