BC14: XMLBuffer-Inhalt an Webservice zurückgeben

8. Dezember 2022 12:19

Hallo zusammen,

ich habe gerade das Thema, daß ein NAV-Webservice XML-Daten empfängt (Parameter in der als Webservice veröffentlichten Codeunit ist vom Typ Text)
ich diese Daten in die XML-Buffer Tabelle einfüge, dort in ein Preisfeld einen Preis einfüge und die um den Preis angereicherte XML-Datei als Response
zurückgeben möchte.
Das Einlesen in den XML-Buffer hat mittels der Funktion LoadFromText funktioniert.
Könnt ihr mir sagen wie ich nun die XML-Daten wieder zurückschreiben und somit als Response an den Webserviceaufrufer geben kann?
Der Textparameter hat dieses Setup:

[pic]1.png[/pic]

Vielen Dank für eure Hilfe.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: XMLBuffer-Inhalt an Webservice zurückgeben

21. Dezember 2022 13:09

Hallo fragglet,

das Problem des XMLBuffers ist, dass keine direkte Ausgabe in eine TextVariable möglich ist. Du müsstest da also ein bisschen drum herum bauen.
Auf die Schnelle würden mir drei Alternativen einfallen, wie du das umsetzen könntest.

1. Der XMLBuffer unterstützt die Möglichkeit einer Ausgabe in Richtung einer Server-Datei. Diese könntest du in Verbindung mit der Codeunit File Management nutzen um den XML-Inhalt in einem temporären Verzeichnis zu speichern und anschließend einzulesen und den INhalt in deine XMLData Textvariable zu überführen
2. Du baust einen XMLPort, der die Ausgabe übernimmt. Dort kannst du über SETDESTINATION einen OutStream angeben, der für die Übertragung in eine Textdatei sorgt.
3. Du baust über .NET XMLDocument auf Basis einer Tabelle manuell dein XML zusammen und gibt es an die Textdatei aus.

Für genauere Hilfe, müsste man wissen, was genau du vorhast.
Grundsätzlich wäre die zweite Variante wahrscheinlich am einfachsten, sofern du die passenden Datensätze gefiltert bekommst (SETTABLEVIEW)

Gruß

Re: XMLBuffer-Inhalt an Webservice zurückgeben

21. Dezember 2022 14:01

@fragglett
Um welche Version geht es hier genau? Das Thema muss verschoben werden. Das Bild zeigt die C/SIDE Entwicklungsumgebung, die es für Business Central (SaaS) nicht gibt.

Re: XMLBuffer-Inhalt an Webservice zurückgeben

21. Dezember 2022 14:09

Hallo Kai,

es handelt sich um BC14.
In welches Forum gehört das Thema dann?

Viele Grüße

Re: XMLBuffer-Inhalt an Webservice zurückgeben

21. Dezember 2022 14:28

Thema verschoben von Business Central nach Business Central (On-Premises) und Version im Betreff eingetragen.

fragglet hat geschrieben:In welches Forum gehört das Thema dann?

Das ursprüngliche Forum ist nur für Cloudsysteme, die von Microsoft als SaaS angeboten werden, mittels Apps im AppSpurce erweitert werden können und nur in AL mit Visual Studio Code programmiert werden.