RE: [csharp-l] The root element of a W3C XML Schema should be and its namespace should be 'http://www.w3.org/2001/XMLSchema'.

Intersol Soluções Internet

me deparei com esse problema com uma empresa que trabalhamos com web service, e detectamos que o erro é que o genexus não permite mudar o esquema do XML.

no caso esse cara aqui:
xmlns:xsd="http://www.w3.org/2001/XMLSchema", se a outra empresa possuir um esquema próprio deles exemplo: xmlns:xsd="http://meuSchema/2001/XMLSchema"

ai o genexus ele não consegue mudar o o esquema. Acredito que deva ser esse o seu erro.

Solução:

tivemos que fazer esse trabalho de consumir o web service do cliente fora do genexus em C#.
 
Atenciosamente, 
Paulo Cardoso - Analista de Sistema




From: ogoml2011@gmail.com
Date: Fri, 29 Jun 2012 10:25:07 -0300
To: csharp-l@gxtech.com.uy
Subject: Re: [csharp-l] The root element of a W3C XML Schema should be <schema> and its namespace should be 'http://www.w3.org/2001/XMLSchema'.

Leandro, gracias por responder, te envio el xml debajo, por lo que entiendo que lei por ahi, la etiqueta schema debe comenzar en el root, y comienza bajo la etiqueta types. De todas formas si leiste toda la historia la importación utilizando el archivo guardado (xml) funciona, recien acabo de probar importar el archivo tambien en GX9 pero me da otro error, increible.

<?xml version = "1.0" encoding = "utf-8"?>
<definitions name="pWS" targetNamespace="WebServiceCobranza" xmlns:wsdlns="WebServiceCobranza" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="WebServiceCobranza">
<types>
<schema targetNamespace="WebServiceCobranza" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" elementFormDefault="qualified">
<complexType name="ArrayOfSDT_CS.RecItem">
<sequence>
<element minOccurs="0" maxOccurs="unbounded" name="SDT_CS.RecItem" type="tns:SDT_CS.RecItem">
</element>
</sequence>
</complexType>
<complexType name="SDT_CS.RecItem">
<all>
<element name="RId" type="xsd:byte">
</element>
<element name="RAnio" type="xsd:short">
</element>
<element name="RMes" type="xsd:byte">
</element>
<element name="MId" type="xsd:byte">
</element>
<element name="RTot" type="xsd:int">
</element>
<element name="RObs" type="xsd:string">
</element>
<element name="REst" type="xsd:string">
</element>
</all>
</complexType>
<element name="pWS.Execute">
<complexType>
<sequence>
<element minOccurs="1" maxOccurs="1" name="Accion" type="xsd:string" />
<element minOccurs="1" maxOccurs="1" name="Cliid" type="xsd:long" />
<element minOccurs="1" maxOccurs="1" name="Rid" type="xsd:byte" />
</sequence>
</complexType>
</element>
<element name="pWS.ExecuteResponse">
<complexType>
<sequence>
<element minOccurs="1" maxOccurs="1" name="CliNom" type="xsd:string" />
<element minOccurs="1" maxOccurs="1" name="Recibos" type="tns:ArrayOfSDT_CS.RecItem" />
<element minOccurs="1" maxOccurs="1" name="Resultado" type="xsd:string" />
</sequence>
</complexType>
</element>
</schema>
</types>
<message name="pWS.ExecuteSoapIn">
<part name="parameters" element="tns:pWS.Execute" />
</message>
<message name="pWS.ExecuteSoapOut">
<part name="parameters" element="tns:pWS.ExecuteResponse" />
</message>
<portType name="pWSSoapPort">
<operation name="Execute">
<input message="wsdlns:pWS.ExecuteSoapIn" />
<output message="wsdlns:pWS.ExecuteSoapOut" />
</operation>
</portType>
<binding name="pWSSoapBinding" type="wsdlns:pWSSoapPort">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
<operation name="Execute">
<soap:operation soapAction="WebServiceCobranzaaction/APWS.Execute" />
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
</binding>
<service name="pWS">
<port name="pWSSoapPort" binding="wsdlns:pWSSoapBinding">
<soap:address location="http://172.16.0.99/ws/apws.aspx" />
</port>
</service>
</definitions>

El 28 de junio de 2012 17:32, Leandro Minatel <leandro@minatel.com.ar> escribió:
Hola Omar, podrias adjuntar el XML que te devuelve el navegador apuntando a tu WS con el '?wsdl' ???

Gracias!




2012/6/28 Omar Gomez <ogoml2011@gmail.com>
Sigo con mi problema.
Cree una nueva KB en GX Ev1
Exporte el objeto, con las tablas necesarias, marque que estaba todo reorganizado y compile de 0.

Intente nuevamente importar el WS y no resulto.
Ya que no tengo aun respuesta de ustedes... segui.

Instale el GX9 en otro equipo, y cree una nueva kb para leer el WS
Cuando le doy  Tools - WSDL Inspector, ingreso la URL y le doy Inspect
me da el siguiente error

The root element of a W3C XML Schema should be <schema> and its namespace should be 'http://www.w3.org/2001/XMLSchema'. at http://miservidor/mipath/genexusws.aspx?wsdl

Alguna idea? segun google y se entiende, la etiqueta schema no esta en el root, o sea, no es una etiqueta inicial, por lo que vi que genero así es.

Espero que me puedan dar una mano.

Saludos,
Omar

El 28 de junio de 2012 10:11, Omar Gomez <ogoml2011@gmail.com> escribió:
Al importar el WS me da el error: 

http://mixsitio/xlugar/genexusws.aspx does not represent a valid WSDL (WSDLInspector)

Bien, como aun no puedo resolver ese error, lei mensajes anteriores donde podría llamar al ws con ?wsdl guardar el archivo e importarlo.
Esto resulto.

Pero al consumirlo me da: 

Malformed SOAP message.(-20001)

Les sucedió algo similar?
Los creadores de la bestia saben por donde viene el problema?

Gracias.
Saludos,
Omar


El 28 de junio de 2012 09:11, Omar Gomez <ogoml2011@gmail.com> escribió:
gracias por responder, fue lo que hice, exporte el objeto y lo importe
en el servidor, lo compile.
Se lo pase a la gente, me comentan de un problema al trabajar con el
WS, aparentemente podían trabajar con una función del WS, por lo que
intente consumirlo en mi modelo local hacia el servidor para hacer las
pruebas.
Pero me da ese mensaje.

Aun no he podido resolver esto, estoy trancado.

Saludos
Omar.

El 27/06/12, Mancilla <jgabriel.mancilla@gmail.com> escribió:
> por que no tratas exportandolo del modelo donde ya te funciona y lo iportas
> al modelo que no te funciona
> y otra forma es usando httpclient
>
> http://genexus-mancilla.blogspot.mx/2012/06/ejemplo-basico-httpclient.html
> El 27 de junio de 2012 14:20, Omar Gomez <ogoml2011@gmail.com> escribió:
>
>> Buenas tardes
>>
>> Como dice el asunto, ese error es el que me sale al importar el Web
>> Service
>>
>> Da resultados si lo veo desde el navegador y agregando ?wsdl
>> Pero no me lo importa.
>>
>> El WS ya esta probado en otro modelo, y cuando lo pase a la realidad me
>> sucede esto.
>> Estoy con GX Ev1 .Net IIS Win2003 x64
>>
>> No encontré ningún tema similar en google ni en los mensajes del foro.
>>
>> Saludos,
>> Omar
>>
>>
>
>
> --
>

> -----------------------------------------

> Para Suscribirse/Desuscribirse:

> http://www.gxtechnical.com/cgi-bin/hforum.exe?2,3,30,1

> Por consultas owner-gx-l@gxtech.com.uy

>




0 Response to "RE: [csharp-l] The root element of a W3C XML Schema should be and its namespace should be 'http://www.w3.org/2001/XMLSchema'."

Publicar un comentario