![]() |
Webservice: Element als "any" deklariert - Datenty
Hallo allerseits,
ich versuche mit TurboDelphi Pro (VCL32) auf einen Java- oder .net-Webservice zuzugreifen. Die WSDL-Datei habe ich importiert; allerdings treten genau da wahrscheinlich die Probleme auf. Die WSDL-Datei enthält Abschnitte, die in etwa so aufgebaut sind:
Delphi-Quellcode:
Probleme macht dabei das "<s:any/>" für das Element "Request". Der WSDL-Importer generiert daraus zu recht die TRemotable-Klasse
<s:element name="SubmitXml">
<s:complexType> <s:sequence> <s:element maxOccurs="1" minOccurs="0" name="Profile" type="s:string"/> <s:element maxOccurs="1" minOccurs="0" name="Request"> <s:complexType> <s:sequence> <s:any/> </s:sequence> </s:complexType> </s:element> (usw...)
Delphi-Quellcode:
Daraus kann ich nicht ableiten, welchen Datentyp ich an den Webservice schicken muss. Da es sich um ein XML-String handelt, habe ich schon mal versucht, den Parameter "Request" als einen WideString an die Methode zu übergeben (mit entsprechend angepaßter WSDL), bekam dann aber nur die Exception vom Server um die Ohren gehauen, dass (sinngemäß) "ein notwendiger Parameter der Methode SubmitXML null" sei ("Required parameters for Method SubmitXml are null.").
Request = class(TRemotable)
private published end; Der Hersteller liefert Demos in C# bzw VB.NET mit; darin wird die SubmitXml aufgerufen mit
Delphi-Quellcode:
wobei xmlRequest eine Instanz von XmlDocument ist. Jetzt weiß ich allerdings nicht weiter. Kann ich das notwendige Datenformat aus den Angaben ableiten (wenn das überhaupt möglich ist)? Sonst muss ich mal beim Hersteller nachfragen, was da konkret erwartet wird - aber da ist sicherlich niemand, der Delphi spricht...
xws.SubmitXml(profile, xmlRequest.DocumentElement,...)
Greetings Udo |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz