Hi.
Ich hab da ein mittelgroßes Problem.
Ich habe einen Webservice (namentlich die Microsoft
SQL Server Reporting Services), den ich von einer Delphi 2009 Applikation aus Abfrage. Das ganze funktioniert einwandfrei.
Will ich das nun von Delphi 6 aus machen, so schmeisst mir der Webservice eine
Exception dass ein Parameter nicht gefüllt oder NULL sei.
Folgendes schickt Delphi 6:
XML-Code:
<?
xml version="1.0"?>
<
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:ListChildren
xmlns:NS1="http://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices">
<Item xsi:type="xsd:string">/</Item>
<Recursive xsi:type="xsd:boolean">true</Recursive>
</NS1:ListChildren>
</
SOAP-ENV:Body>
</
SOAP-ENV:Envelope>
Der Webserver meint, der Parameter 'Item' (also das, wo der Slash drinsteht), sei nicht da.
So sieht der Aufruf aus:
catitems := (HttpRio1 as ReportingService2005Soap).ListChildren('/', true);
Und ich würde nun gerne mal beim 2009er das
Soap angucken. Das läuft ja einwandfrei durch und ich würd mir gern mal den Unterschied angucken. Nur weiss ich nicht, wie ich dort da dran komme.
Bzw. hat wer direkt eine Idee die zur Lösung führen könnte?