FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Problemas con Deserializacion
Hola a todos!,
Me estoy rompiendo al cabeza desde hacer rato y no encuentro nada resolver este tema de deserialización. El caso es el siguiente: Tengo que pegarle a un Web Service, entonces importo toda la info con el WSDL importer de Delphi. Todas las llamadas que le haga me retorna un Obj "Response" con la siguiente estructura: Código:
<s:complexType name="Response"> <s:sequence> <s:element minOccurs="1" maxOccurs="1" name="Status" type="tns:ProcessCode" /> <s:element minOccurs="0" maxOccurs="1" name="Objects" type="tns:ArrayOfObjectBase" /> <s:element minOccurs="0" maxOccurs="1" name="Errors" type="tns:ArrayOfError" /> </s:sequence> </s:complexType> <s:simpleType name="ProcessCode"> <s:restriction base="s:string"> <s:enumeration value="Successfully" /> <s:enumeration value="Error" /> </s:restriction> </s:simpleType> <s:complexType name="ArrayOfObjectBase"> <s:sequence> <s:element minOccurs="0" maxOccurs="unbounded" name="ObjectBase" nillable="true" type="tns:ObjectBase" /> </s:sequence> </s:complexType> <s:complexType name="ObjectBase"> <s:sequence> </s:sequence> </s:complexType> <s:complexType name="User"> <s:complexContent mixed="false"> <s:extension base="tns:ObjectBase"> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="Prop1" type="s:string" /> </s:sequence> </s:extension> </s:complexContent> </s:complexType> <s:complexType name="ArrayOfError"> <s:sequence> <s:element minOccurs="0" maxOccurs="unbounded" name="Error" nillable="true" type="tns:Error" /> </s:sequence> </s:complexType> <s:complexType name="Error"> <s:sequence> <s:element minOccurs="1" maxOccurs="1" name="Code" type="s:int" /> <s:element minOccurs="1" maxOccurs="1" name="Name" type="tns:ErrorCode" /> <s:element minOccurs="0" maxOccurs="1" name="Description" type="s:string" /> <s:element minOccurs="0" maxOccurs="1" name="Trace" type="s:string" /> <s:element minOccurs="0" maxOccurs="1" name="Source" type="s:string" /> </s:sequence> </s:complexType> Código:
<Response xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns=""> <Status>Successfully</Status> - <Objects> - <ObjectBase xsi:type="User"> <prop1> asd </prop1> </ObjectBase> </Objects> <Errors /> </Response> Entonces despues de debugear durante horas me encuentro que cuando tiene que leer el tag "<ObjectBase xsi:type="User">" reserva el espacio para el tipo "ObjectBase" pero no para el tipo "User", luego cuando deserializa los datos para saber con cuantos se va a encontrar usa una funcion que retorna la cantidad de propiedades del obj, ahora esta funcion la llama con "ObjectBase" en vez de con "User" por ende no lee nada ya que esta retorna '0'. Al fin al cabo no me termina deserializando nada de la informacion importante que nesecito. Por favor alguien que halla usado Web service en delphi que responda, lo nesecito urgente y no se como seguir. Saludos! |
#2
|
|||
|
|||
Alguien tiene al menos un manual groso en pdf de uso de WebService en Delphi que me pueda mandar?
La info que encuentro en internet un muy poca y muy simple no me sirve para lo que estoy tratando de hacer... si alguien tiene o encuentra buena info mandenme los link pliz. saludos |
|
|
|