Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Problemas con envío de XML a un WebService (https://www.clubdelphi.com/foros/showthread.php?t=40312)

davidvamo 13-02-2007 14:09:40

Problemas con envío de XML a un WebService
 
Buenas a todos/as,

soy muy novato, con el tema de WebServices, y me han pedido una aplicación con Delphi7, que se conecte a través de web services a otra empresa, para que me devuelva un XML.

He conseguido conectar el fichero WSDL y crear una instancia al objecto que envia el XML pero cuando lo envío me aparece el siguiente error:

Project SOAPClient.exe raised exception class ERemotableException with message "Server was unable to read request. --> There is an error in XML document (35,10) --> The specified node cannot be inserted as the valid child of this node, because the specified node is the wrong type.'. Process stopped. Use Step or Run continue.

Comentaros que el fichero XML tiene 34 lineas y es el ejemplo que me envía la empresa con la que tengo que conectar.

Os paso parte del código WDSL de la función que envia el XML.

-
Código:

<wsdl:types>- <s:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/AutosWS/AutosWS">
- <s:element name="Presupuesta">
- <s:complexType>
- <s:sequence>
 <s:element minOccurs="0" maxOccurs="1" name="claseUsuario" type="s:string" />
 
 <s:element minOccurs="0" maxOccurs="1" name="usuario" type="s:string" />
 
 <s:element minOccurs="0" maxOccurs="1" name="password" type="s:string" />
 
- <s:element minOccurs="0" maxOccurs="1" name="xml">
- <s:complexType mixed="true">
- <s:sequence>
 <s:any />
 
 </s:sequence>
 
 
 </s:complexType>
 
 
 </s:element>
 
 
 </s:sequence>
 
 
 </s:complexType>
 
 
 </s:element>
 
 
 
 
 
...

Tengo que enviar el codigo en la etiqueta XML que el tipo ¿complex? :confused:

Cuando importo el codigo a Delphi me lo conviente a ...

function Presupuesta(const claseUsuario: WideString; const usuario: WideString; const password: WideString; const xml: xml): PresupuestaResult; stdcall;

yo lo he pasado a ...

function Presupuesta(const claseUsuario: WideString; const usuario: WideString; const password: WideString; const xml: WideString): PresupuestaResult; stdcall;

pero sigue sin funcionar.

Alguien sabe como ayudarme. Gracias por todo.

mamcx 13-02-2007 16:49:20

Y como es el request?

Podrias pegar el resquest en formato XML aqui?


La franja horaria es GMT +2. Ahora son las 11:08:24.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi