SOAP Inputstream auslesen

14. Dezember 2009 12:54

Hallo,

ich möchte mit Navision eine SOAP-Abfrage realisieren. Im Forum habe ich einige Vorgaben gefunden die mir auch weitergeholfen haben.
Jetzt habe ich aber noch eine Frage: Wie kann ich den Inputstream des HTTP-Connectors auslesen bzw. in eine Datei speichern?
Ich möchte damit gerne die Strutkur/Aufbau des Request-Streams anschauen.


CREATE(locautSoapSerializer);
locautSoapSerializer.Init(locautSoapHttpConnector.InputStream); <-- diesen Inputstream
locautSoapSerializer.startEnvelope('SOAP','STANDARD');
locautSoapSerializer.startBody;
locautSoapSerializer.startElement('HelloWorld');
locautSoapSerializer.endElement;

Vielen Dank für eure Hilfe.

Gruß Marco

Re: SOAP Inputstream auslesen

14. Dezember 2009 13:38

naja, ich habe bissher nicht raus gefunden wie ich das, was ich rausschicke zwischenspeichern kann.
Evtl. kannst du mit "Fiddler 2" was erreichen?!

Re: SOAP Inputstream auslesen

14. Dezember 2009 13:56

MatthiasKönig hat geschrieben:naja, ich habe bissher nicht raus gefunden wie ich das, was ich rausschicke zwischenspeichern kann.
Evtl. kannst du mit "Fiddler 2" was erreichen?!


Fiddler 2 hab ich probiert. Funktioniert leider nicht. Verbindung geht über HTTPS und ist somit verschlüsselt.

Re: SOAP Inputstream auslesen

14. Dezember 2009 15:14

jo, aber ich mein das konnte Fiddler auch irgendwie O.o aber sonst weiss ich halt nicht wie man das anders machen sollte... leider. Wenns jemand weiss, egal wie lang dieser Thread her ist, bitte posten!!

Re: SOAP Inputstream auslesen

14. Dezember 2009 15:23

Bin mir nicht sicher, aber kann der Windows Message Queue nicht die Daten anzeigen?
Bzw. im MS SOAP Toolkit ist glaube ich ein Objekt drin, das die Nachrichten anzeigen kann.

Ich habe hier noch ein Stück code bei mir gefunden, evtl. hilft der dir weiter?!
(Ich bin der Meinung, damit habe ich mir die Daten anzeigen lassen (ist leider schon so lange her))
Code:
// Variable     DataType       Subtype
locautXmlDoc    Automation    'Microsoft XML, v6.0'.DOMDocument


IF EXISTS('c:\temp1.xml') THEN
  ERASE('c:\temp1.xml');

CREATE(locautXmlDoc);
locautXmlDoc.load(locautSoapHttpConnector.OutputStream);
locautXmlDoc.save('c:\temp1.xml');
HYPERLINK('c:\temp1.xml');

Re: SOAP Inputstream auslesen

14. Dezember 2009 15:39

Hallo Mikka,

vielen Dank für deine Hilfe. Dein Code gibt nur das Ergebnis der Antwort aus. Ich möchte aber die Anfrage auslesen.

Gruß Marco

Re: SOAP Inputstream auslesen

14. Dezember 2009 15:47

Hmm, jetzt wo du es sagtst, klar :-?
Ich sende ja erst um etwas zu empfangen, das habe ich mir anzeigen lassen.

Dann, entweder war es der Message Queue oder das SOAP Toolkit womit ich mir die Nachrichten anzeigen lassen habe.
Evtl. wirst du bei MIBUSO.com fündig?

Hast du eine wdsl Datei, in der ist doch die Struktur beschrieben?!
(Das sage unser .NET entwickler, da würde alles drin stehen. Für mich war es nur Bahnhof...)

Re: SOAP Inputstream auslesen

14. Dezember 2009 15:51

Ich bin deiner Meinung....SOAP = Bahnhof.
Ich hab eine WSDL-Datei. Mich würde aber trotzdem mal interessieren, was mein Navision an diesen SOAP-Server sendet.

Re: SOAP Inputstream auslesen

14. Dezember 2009 16:08

Habe mal irgendwo gelesen, das eine korrekte WSDL Datei von NAV eingelesen werden kann. ich glaube es war irgend ein Tool bei http://www.mibuso.com!

Re: SOAP Inputstream auslesen

14. Dezember 2009 16:50

Wumme hat geschrieben:Ich bin deiner Meinung....SOAP = Bahnhof.
Ich hab eine WSDL-Datei. Mich würde aber trotzdem mal interessieren, was mein Navision an diesen SOAP-Server sendet.


Bin ich auf dem "Holzweg" oder liege ich richtig (ich glaube es hat gerade "Klick" gemacht)?
In Navision kannst du die gesendeten Daten nicht sehen, da erst die SOAP Libary die Daten übersetzt (dann müssten die eigentlich schon raus sein?!). Daher müsstest du wie Matthias oder ich vorgeschlagen haben die Daten mit einem zusatzlichen Tool lesen.

Wir nutzen bei uns eigene DLL´s um per SOAP / Webservice Daten zu versenden. Auch hier muss ich an die Automation methode Daten senden (dann sind die Daten ausserhalb von Nav), diese "übersetzt" die Daten und verschickt diese.

Re: SOAP Inputstream auslesen

18. Dezember 2009 09:00

Hallo,

es gibt auf MIBUSO.COM einen Beitrag/Download zum Thema "Communicating with Web Service", in dem anhand eines Code-Beispiels erläutert wird, wie mit einem Webservice aus Navision "kommuniziert" werden kann.
In diesem Beispiel wird auch gezeigt, wie der Request an den Webservice (zu Testzwecken) als XML-Datei gespeichert werden kann.
Natürlich ist da auch enthalten, wie die Response des Webservices als Datei gespeichert und in Navision eingelesen/verarbeitet werden kann.

Schau' einfach mal hier: http://www.mibuso.com/dlinfo.asp?FileID=539

Viele Grüße - vielleicht hilft dies weiter.
Jörg