SOAP Grundsätzliche Frage zur Response

Bild Microsoft Dynamics NAV 2017

SOAP Grundsätzliche Frage zur Response

Beitragvon LandorCaeyran » 25. Februar 2021 14:34

Hallo zusammen,

ich habe die schöne Aufgabe einen Automaten an NAV anzubinden. Der Automat kommuniziet über ein Webservice.
Das ich Daten empfangen kann und mit den Informationen in NAV weiterarbeiten kann, habe ich schon hinbekommen.

Nun sendet der Automat eine Auftragsnummer und erwartet dann Werte zu diesem Auftrag.
Hier genau hört dann mein Verständnis auf.
Den Wert empfangen und damit die Daten holen bekomme ich noch hin, aber wie "antworte" ich nun auf die Anfrage?

Ich hatte es erst mit einer Funktion in einer Codeunit versucht und dann die Parameter als var gekennzeichnet. Das scheint aber nicht der Weg zu sein.
In der Beschreibung des Automaten steht als Antwort folgendes Beispiel, siehe Bild.
Dateianhänge
soap_response.PNG
Erwartete Antwort
LandorCaeyran
 
Beiträge: 64
Registriert: 9. Juli 2013 15:18
Arbeitsort: Viersen
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2017

Re: SOAP Grundsätzliche Frage zur Response

Beitragvon LandorCaeyran » 26. Februar 2021 16:07

hmm keiner? Ist das zu einfach und ich ĂĽbersehe nur etwas?

Die meisten Beispiele im Netz zeigen, wie ich von Nav einen externen Webservice ansprechen kann.
Ich suche den umgekehrten Weg. Eine Maschine spricht Nav an und ich soll Daten in deren Format liefern.
LandorCaeyran
 
Beiträge: 64
Registriert: 9. Juli 2013 15:18
Arbeitsort: Viersen
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2017

Re: SOAP Grundsätzliche Frage zur Response

Beitragvon DerBexucher1 » 5. März 2021 11:34

Hallo LandorCaeyran,

Eine Var-Parameter als Rückgabewert eines SOAP-Webservices funktioniert definitiv. Das nutze ich regelmäßig.
Du kannst sogar ganze XMLPorts als Parameter einer CU-Funktion definieren (sowohl Input als auch Output (var)).

Wir haben auf dieser Basis ein komplettes Portal angebunden, das Daten an NAV sendet und als Antwort Ergebnisse dieser Anfrage erhält.

Wenn ich deine Frage richtig verstanden habe, benötigst du also eine Funktion mit folgenden Parametern:
1. OrderNo (Auftragsnr.)
2. XMLPort mit dem gewĂĽnschten Aufbau der Antwort. Dieser XMLPort muss dann eben dem Aufbau des Bildes erstellt werden.

Wir haben einen ähnlichen WebService gebaut, der eine Kontaktnr. angibt und dann über einen XMLPort die Informationen aus Tabelle 5050 ausgibt.
Im Anhang der Aufbau der Funktion und der SOAP-Request aus SOAP-UI. MemberNo (Kontaktnr) ist hierbei der Parameter, der in meiner Anfrage vorgegeben wird (1014876711).
Die XMLPort Felder sind mit ? gefĂĽllt und werden dann RĂĽckgabewerte in der Antwort befĂĽllt
Dateianhänge
2021-03-05 10_43_20-SoapUI 5.5.0.png
2021-03-05 10_40_16-nav100dev_neu - Microsoft Dynamics NAV Development Environment - [Codeunit 50057.png
DerBexucher1
 
Beiträge: 39
Registriert: 6. Mai 2015 15:35
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: NAV 2017/BC 14

Re: SOAP Grundsätzliche Frage zur Response

Beitragvon LandorCaeyran » 22. April 2021 15:19

Hallo,

in etwa. ich habe 2 Parameter.
Und der weg ĂĽber den XML Port als Var geht eben NICHT. Ich kann keinen dritten Parameter einbauen. Leider habe ich keinen Einfluss auf die Abfrage des Fremdsystems.
LandorCaeyran
 
Beiträge: 64
Registriert: 9. Juli 2013 15:18
Arbeitsort: Viersen
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2017

Re: SOAP Grundsätzliche Frage zur Response

Beitragvon LandorCaeyran » 22. April 2021 15:40

Zum Verständnis, so sieht die Abfrage aus. Dort bekomme ich keinen "Response" Parameter unter, da ich keinen Einfluss auf die Abfrage habe.
Es fängt schon mit der Groß- und Kleinschreibung der Parameter an. Nav scheint nur Kleinschreibung zu akzeptieren :/

Code: Alles auswählen
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:com="http://com.domain.endung/">
   <soapenv:Header/>
   <soapenv:Body>
      <com:Identification>
         <com:Systemnumber>999</com:Systemnumber>
         <com:Identifier>001234567890</com:Identifier>
      </com:Identification>
   </soapenv:Body>
</soapenv:Envelope>
LandorCaeyran
 
Beiträge: 64
Registriert: 9. Juli 2013 15:18
Arbeitsort: Viersen
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2017

Re: SOAP Grundsätzliche Frage zur Response

Beitragvon Anistou » 7. Mai 2021 08:40

Ich habe solche Abfragen dann über eine Page gelöst.
Ich ĂĽbergebe einen Filter und bekomme einen Datensatz mit den Daten zurĂĽck.
Anistou
 
Beiträge: 15
Registriert: 6. Mai 2021 10:56
Microsoft Dynamics Produkt: Microsoft Dynamics NAV


ZurĂĽck zu NAV 2017

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast