Der Delphi Code sieht nicht falsch aus - eine Namespacedefinition dieser Art sollte der Server eigentlich verstehen (siehe auch Wikipedia
http://de.wikipedia.org/wiki/SOAP). Denn "irgendwo" müssen die Namespaces ja deklariert werden.Wikipedia-Beispiel:
Code:
<?
xml version="1.0"?>
<s:Envelope xmlns:s="http://www.w3.org/2003/05/
soap-envelope">
<s:Body>
<m:TitleInDatabase xmlns:m="http://www.lecture-
db.de/
soap">
DOM,
SAX und
SOAP
</m:TitleInDatabase>
</s:Body>
</s:Envelope>
Ob die Namespace-Prefixe vom Client dann m oder anders genannt werden ist irrelevant, auch die von Delphi gewählten NS1, NS2 usw. sind daher
Soap-konform.
Leider sind aber längst nicht alle Web Services so
Soap-konform wie es möglich wäre.
Ich würde den Anbieter fragen, mit welchen
Soap Toolkits (c.B. .Net WCF oder Java JAX-WS) bisher erfolgreich gearbeitet wurde.
Einen Test mit SoapUI würde ich auch versuchen, das ist eine anerkannte Test-Referenz. Aber wenn der Anbieter sagt, dass es nur so und nicht anders aussehen darf, hilft nur noch zusammenstricken der
XML Payload mit
XML Bibliotheken.
p.s. als Alternative zum Delphi
WSDl Importer gibt es noch das Free Pascal Web Service Toolkit, das auch Delphi unterstützt und sowohl einen Wizard als auch ein
WSDL Kommandozeilentool bietet.