Visual Basic.NET - Ayuda con Serializacion y Consumo Soap por Excel

 
Vista:

Ayuda con Serializacion y Consumo Soap por Excel

Publicado por Rodrigo Flores (1 intervención) el 20/10/2003 08:40:49
Hola Comunidad:

Me dirijo a ustedes porque ya estoy algo loco con esto de la serializacion y el ASP.NET y ando muy perdido, mi problema es el siguiente.

Tengo que hacer que un web service X, retorne una estructura XML con ciertas caracteristicas como las siguientes
<Root>
<Nivel1 Nombre="" Tipo="">
<Elemento Nombre="" Tipo="" Localizacion=""/>
<Elemento Nombre="" Tipo="" Localizacion=""/>
<Elemento Nombre="" Tipo="" Localizacion=""/>
</Nivel1>
</Root>

Como se puede ver la estructura contiene niveles anidados con elementos que poseen atributos, hasta ahora he logrado crear una clase que serializa esto y lo transforma a un XML que al ser consultado por medio de XMLSPY usando un mensaje soap es resuelto. pero mi problema no radica ahi, puesto que esto sera consumido por Excel y es ahi el punto de mi locura.

Excel me arroja problemas con las estructura resuelta, pues con tanto buscar me di cuenta que especificandole los elementos con las instrucciones de XmlElement, XmlArray, XmlArrayItem, XmlElementAttribute, etc.... podia hacer en cierta forma que excel entienda pero cuando se trata de array de elementos me arroja "Restoring Data into SoapMapper XXX Failed", por lo que he visto de otros WSDL que si el excel puede consumir sin problemas (Google Api- WebService) el indica en el WSDL lo siguiente:

<xsd:complexType name="ResultElementArray">
<xsd:complexContent>
<xsd:restriction base="soapenc:Array">
<xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="typens:ResultElement[]"/>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>

soapenc:Array y soapenc:arrayType" wsdl:arrayType="typens:ResultElement[] son la clave a mi problema, ahora no he podido encontrar como hacer para que el webservice de ASP.NET al ser llamado bajo un metodo SOAP me responda en la definicion de WSDL los elementos de array con esa descripcion como lo hace google-api.

Ruego si alguno puede responder al entuerto en que me encuentro y aclararme la vision sobre esto puesto que soy solo un principiante en .net, aun no comprendo muy bien el uso de las instrucciones de serializacion y como controlar la serializacion de soap, solo encontre por ahi unas lineas que hablaban de una opcion que al especificarle el valor SoapOption.XsdString le indicaba que especificara los datos en XSD al momento de serializar.

Ruego un respuesta a este problema. y de antemano muchas gracias.

Atte
Rodrigo Flores

PD: Para el consumo desde excel utilizo el software "Office XP Web Services Toolkit" que sirve para cualquier version Excel
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder