Ich habe ein Webservice mit D6.2 Ent erstellt. Für den Rückgabewert verwende ich einen von TRemotabele abgeleiteten Datentyp. Ein ebenfalls mit Delphi erstellter Client funktioniert problemmlos.
Alle anderen Clients (Java, .Net) funktionieren jedoch nicht.
Im .NET WebService Studio bekomme ich folgende Fehlermeldung: System.Reflection.TargetInvocationException: Ein Aufrufziel hat einen Ausnahmefehler verursacht. ---> System.InvalidOperationException: Fehler im XML-Dokument (2,790). ---> System.InvalidOperationException: Das referenzierte Element mit der ID '1' wurde nicht im Dokument gefunden.
Der XML-String sieht wie folgt aus:
<PRE>
<?xml version="1.0" encoding="utf-16"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<NS1:GetVfeSpResponse xmlns:NS1="urn:ICS2ZUSDIEIntf-IICS2ZUSDIE" xmlns:NS2="urn:ICS2ZUSDIEIntf">
<return href="#1" />
<NS2:TVfeSp id="1" xsi:type="NS2:TVfeSp">
<Kz xsi:type="xsd:string">0123</Kz>
<FNr xsi:type="xsd:string">1234567</FNr>
<Sts xsi:type="xsd:int">0</Sts>
<Mtlg xsi:type="xsd:string">OK</Mtlg>
<Info xsi:type="xsd:int">0</Info>
<Vfe xsi:type="xsd:string">
</Vfe>
<Sp xsi:type="xsd:string">077401</Sp>
</NS2:TVfeSp>
</NS1:GetVfeSpResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
</PRE>
Vergleiche mit funktionierenden Webservices - alle nicht mit Delphi programmiert - haben ergeben, dass dort die XML-Syntax anders aussieht: die Zeile </NS1:GetVfeSpResponse> müsste lt. diesen Vergleichen nicht nach </NS2:TVfeSp> sondern nach <return href="#1" /> kommen.
Kann mir bitte jemand weiterhelfen? Vielen Dank im Voraus!
Alle anderen Clients (Java, .Net) funktionieren jedoch nicht.
Im .NET WebService Studio bekomme ich folgende Fehlermeldung: System.Reflection.TargetInvocationException: Ein Aufrufziel hat einen Ausnahmefehler verursacht. ---> System.InvalidOperationException: Fehler im XML-Dokument (2,790). ---> System.InvalidOperationException: Das referenzierte Element mit der ID '1' wurde nicht im Dokument gefunden.
Der XML-String sieht wie folgt aus:
<PRE>
<?xml version="1.0" encoding="utf-16"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<NS1:GetVfeSpResponse xmlns:NS1="urn:ICS2ZUSDIEIntf-IICS2ZUSDIE" xmlns:NS2="urn:ICS2ZUSDIEIntf">
<return href="#1" />
<NS2:TVfeSp id="1" xsi:type="NS2:TVfeSp">
<Kz xsi:type="xsd:string">0123</Kz>
<FNr xsi:type="xsd:string">1234567</FNr>
<Sts xsi:type="xsd:int">0</Sts>
<Mtlg xsi:type="xsd:string">OK</Mtlg>
<Info xsi:type="xsd:int">0</Info>
<Vfe xsi:type="xsd:string">
</Vfe>
<Sp xsi:type="xsd:string">077401</Sp>
</NS2:TVfeSp>
</NS1:GetVfeSpResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
</PRE>
Vergleiche mit funktionierenden Webservices - alle nicht mit Delphi programmiert - haben ergeben, dass dort die XML-Syntax anders aussieht: die Zeile </NS1:GetVfeSpResponse> müsste lt. diesen Vergleichen nicht nach </NS2:TVfeSp> sondern nach <return href="#1" /> kommen.
Kann mir bitte jemand weiterhelfen? Vielen Dank im Voraus!
Comment