Table Record Link, XmlPort und Webservice

29. Januar 2013 15:03

Tag zusammen,

ich habe einen XmlPort zur Tabelle 200000068 Record Link. Diesen XmlPort habe ich in einer Codeunit eingebunden als Funktion: SelectRecords(VAR reclinks : XMLport "Record Links In/Out")

Exportiere ich nun die Daten über den XmlPort in eine Datei, dann werden die Daten brav reingeschrieben. Veröffentliche ich nun diese Codeunit als Webservice und will diese in VS einbeinden kommt folgender Fehler:

Fehler beim Downloaden von 'http://myServer:7047/DynamicsNAV/WS/Codeunit/VSRecordLinks'.
Fehler bei der Anforderung mit folgender Fehlermeldung:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><s:Fault><faultcode xmlns:a="urn:microsoft-dynamics-schemas/error">a:Syst

Der Übeltäter ist die Spalte Record ID im XmlPort. Nehme ich die raus, dann klappt die Einbindung ohne Probleme.

Was ich nicht verstehe, warum ein und der selbe XmlPort die Record ID zwar in eine Datei schreiben kann, aber nicht als Webservice veröffentlichen kann. Hat da jemand eine Erklärung für?

Volker

Re: Table Record Link, XmlPort und Webservice

30. Januar 2013 09:55

Ich denke das hängt damit zusammen, dass das erzeugen der Datei mit xml Endung funktioniert, aber das ganze in den WebService (Soap-Envelope Tag) dazu führt, dass die xml struktur nicht wohlgeformt ist.

Schau dir mal die Record IDs an und nehme die Datei des XML-Ports und lass sie von einem XML Validator im Netz prüfen. (Als Vortest geht auch einfach die xml Datei im Internet Explorer zu öffnen, der wirft bei einigen XMl Problemen auch schon Fehler aus und zeigt nicht das ganze "Dokument" an.)
Könnte mir gut vorstellen, dass es dort eine Fehlermeldung gibt.
Nimm eine DB Kopie und trage nur einzelne Record IDs ein, die einen "trivialen" Eintrag einer Standardtabelle ohne & und / im Record ID haben.

Re: Table Record Link, XmlPort und Webservice

30. Januar 2013 10:04

Hi Jan,

Code:
<?xml version="1.0" encoding="UTF-16" standalone="no"?>
<myRecordLinks>
   <RecordLink>
      <LinkID>1</LinkID>
      <URL1>C:\currentwork\PLZ.xls</URL1>
      <URL2/>
      <URL3/>
      <URL4/>
      <Description>PLZ.xls</Description>
      <RecType>Verknüpfung</RecType>
      <CreateDate>28.01.10 12:44</CreateDate>
      <CreateUser>VOLKER</CreateUser>
      <Company>Strähle</Company>
      <Notify>Nein</Notify>
      <NotifyUser/>
      <RecordID>Customer: 10</RecordID>
   </RecordLink>
</myRecordLinks>


das ist die XML-Datei. Irgendwie sehe ich da eigentlich nichts, was den Aufbau für Soap zerstören könnte.

Volker