Foros del Web » Programación para mayores de 30 ;) » .NET »

Problemas WebService y XmlDocument como parametro y retorno

Estas en el tema de Problemas WebService y XmlDocument como parametro y retorno en el foro de .NET en Foros del Web. Hola, tengo problemas al consumir un webService el cual retorna un XmlDocument Sobre mi codigo: He creado un WebService en vb .net 2005 el cual ...
  #1 (permalink)  
Antiguo 23/04/2009, 08:57
Avatar de totigo  
Fecha de Ingreso: marzo-2007
Ubicación: America
Mensajes: 103
Antigüedad: 17 años, 1 mes
Puntos: 3
Problemas WebService y XmlDocument como parametro y retorno

Hola, tengo problemas al consumir un webService el cual retorna un XmlDocument

Sobre mi codigo:

He creado un WebService en vb .net 2005 el cual contiene un metodo que recibe como parametro un XmlDocument y retorna un XmlDocument.

Igualmente he creado la aplicacion cliente que consumirá el WebService.

El siguiente es el codigo cliente.

Código vb:
Ver original
  1. Dim objXMLDoc As New XmlDocument
  2. Dim objXMLDoc2 As New XmlDocument
  3. Dim sXML As String
  4.  
  5. Dim s As New wsri.Service  ' Referencia al WebService
  6.  
  7. sXML = "<datusuario>"
  8. sXML &= "<id>8501</id>"
  9. sXML &= "<cliente>PABLO</cliente>"
  10. sXML &= "</datusuario>"
  11.  
  12. objXMLDoc.LoadXml(sXML)
  13.  
  14. objXMLDoc2 = s.verifica_EstadoServicio(objXMLDoc)
Le entrego al metodo verifica_EstadoServicio un XmlDocument como parametro.

Efectivamente mi WebService asimila el XmlDocument lo procesa y al final hace el return de un XmlDocument.

sin embargo al recibir el resultado en mi variable objXMLDoc2 de tipo XmlDocument me vota el siguiente error:

Message="No se puede convertir un objeto de tipo 'System.Xml.XmlElement' al tipo 'System.Xml.XmlDocument'."

Alguien puede sugerirme a que se debe ese error?
  #2 (permalink)  
Antiguo 23/04/2009, 10:33
Avatar de totigo  
Fecha de Ingreso: marzo-2007
Ubicación: America
Mensajes: 103
Antigüedad: 17 años, 1 mes
Puntos: 3
De acuerdo Respuesta: Problemas WebService y XmlDocument como parametro y retorno

Tengo la solucion a mi problema:

He leido que lo mejor es devolver el XML en un tipo de dato String que puede perfectamente contener el XML, ademas ese tipo de dato si es compatible con cualquier tecnologia. El XMLDocument es la sugerida entre tecnologias .net.


Webservice y XMLDocument

Using Web Services for Interoperability


Y finalmente una solucion con XMLdocument pero solo en tecnologias .net:

'System.Xml.XmlNode' to 'System.Xml.XmlDocument'


Using Returned XML with VB.NET

Saludos!

Última edición por totigo; 13/05/2009 a las 07:30
  #3 (permalink)  
Antiguo 27/05/2009, 21:08
 
Fecha de Ingreso: enero-2009
Mensajes: 4
Antigüedad: 15 años, 2 meses
Puntos: 0
Exclamación Respuesta: Problemas WebService y XmlDocument como parametro y retorno

Bueno me atrevo a escribir en este tema para no abrir otro.

Lo que sucede es que tengo el problema de que estoy devolviendo un XML, al verlo por la pagina con que se prueba el servicio, no hay problema, pero los que deben leer la información no reciben nada y además el wsdl no muestra información de lo que se retorna.

He leído los artículos pero aún no tengo solución, si alguien podría ayudarme se lo agradecería.

Salu2
  #4 (permalink)  
Antiguo 28/05/2009, 06:34
Avatar de totigo  
Fecha de Ingreso: marzo-2007
Ubicación: America
Mensajes: 103
Antigüedad: 17 años, 1 mes
Puntos: 3
Respuesta: Problemas WebService y XmlDocument como parametro y retorno

Hola!

Mi caso finalmente lo pude resolver! devuelvo un XmlDocument y los que consumen el servicio lo consumen como un XmlDocument como tal! Asi que puedo ayudarte!

Tu .asmx te muestra informacion del webservice? se ven los metodos publicos a consumir?


Estas devolviendo un XmlDocument o un XML como String?
Tienes publico el WebService para poder consumirlo desde internet (Por ejemplo desde mi equipo?).

Por favor enviame detalles!
  #5 (permalink)  
Antiguo 28/05/2009, 06:41
 
Fecha de Ingreso: enero-2009
Mensajes: 4
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Problemas WebService y XmlDocument como parametro y retorno

A ver, soy un novato en lo que es web service así que solo te diré que la información me refiero a cuando colocas h tt p://mipagina.com:1236/?wsdl => eso muestra la lista del xml mira esto lo que da(Sólo un aparte):

Cita:

<s:element name="mifuncion">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="mifuncion">
- <s:complexType mixed="true">
- <s:sequence>
<s:any /> => en esta parte no se ve nada y el valor de retono es un XML
</s:sequence>
</s:complexType>
</s:element>
</s:sequence>
</s:complexType>
</s:element>
</s:schema>

Cuando coloco un retorno de string no me da problema y todos pueden verlo...

Gracias por su atención
  #6 (permalink)  
Antiguo 28/05/2009, 06:59
Avatar de totigo  
Fecha de Ingreso: marzo-2007
Ubicación: America
Mensajes: 103
Antigüedad: 17 años, 1 mes
Puntos: 3
Mensaje Respuesta: Problemas WebService y XmlDocument como parametro y retorno

Ok!

Mira dices que retornas un xml como string y todos pueden verlo!

Si esta retornando un XML como un XmlDocument, entonces los clientes que consumen tu webservice deben recibirlo como XmlNode.


Código vb:
Ver original
  1. Public Function consumeServicio(ByVal docXML As XmlNode) As string
  2.  
  3.        Dim sXML As String
  4.  
  5.        sXML = docXML.OuterXml
  6.  
  7.        return sXML
  8.  
  9. End Function

si aun asi no queda claro publica el codigo para analizarlo! o publica el url de tu webservice! imagino estas usando vb .net 2005
  #7 (permalink)  
Antiguo 28/05/2009, 07:09
 
Fecha de Ingreso: enero-2009
Mensajes: 4
Antigüedad: 15 años, 2 meses
Puntos: 0
Información Respuesta: Problemas WebService y XmlDocument como parametro y retorno

Bueno mi consulta ve por ser que pasa si el que recibe los datos no es .net, refiriéndome específicamente a java, ¿Has tenido algún caso con eso?

Se que con .net se pueden recibir (estoy con visual web developer 2008 Express), pero me gustaría saber si se puede con otros o lo único que se puede hacer es enviar un string?

Disculpa la molestia, es que es algo un poco urgente...

Código PHP:
                h "<body><code>" valorx "</code><text>Exito</text></body>"
                
Dim f As New XmlDocument
                f
.LoadXml(h)
                Return 

Eso es lo que estoy devolviendo, gracias por tu tiempo

Última edición por alfredo_miranda; 28/05/2009 a las 07:11 Razón: reemplazar datos importantes por ficticios
  #8 (permalink)  
Antiguo 28/05/2009, 07:18
Avatar de totigo  
Fecha de Ingreso: marzo-2007
Ubicación: America
Mensajes: 103
Antigüedad: 17 años, 1 mes
Puntos: 3
Respuesta: Problemas WebService y XmlDocument como parametro y retorno

El XMLDocument es la sugerida entre tecnologias .net en tu caso por estandarizacion y lo que he leido deberas retornar un XML como string y las herramientas como JAVA tienen sus funcionalidades para tomas ese XML string y convertirlo a un XML objeto como tal.

Segun este articulo:

Application Interoperability: Microsoft .NET and J2EE

Asi que prueba solo haciendo.... return h

Última edición por totigo; 28/05/2009 a las 07:31 Razón: Agregando referencia de msdn
  #9 (permalink)  
Antiguo 28/05/2009, 07:20
 
Fecha de Ingreso: enero-2009
Mensajes: 4
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Problemas WebService y XmlDocument como parametro y retorno

Muchas gracias, sólo quería aclarar esa duda, gracias por tu tiempo y ayuda.
  #10 (permalink)  
Antiguo 17/10/2012, 13:12
Avatar de NetFcruz  
Fecha de Ingreso: agosto-2012
Ubicación: Reynosa
Mensajes: 32
Antigüedad: 11 años, 8 meses
Puntos: 0
Pregunta Respuesta: Problemas WebService y XmlDocument como parametro y retorno

Cita:
Iniciado por totigo Ver Mensaje
Ok!

Mira dices que retornas un xml como string y todos pueden verlo!

Si esta retornando un XML como un XmlDocument, entonces los clientes que consumen tu webservice deben recibirlo como XmlNode.


Código vb:
Ver original
  1. Public Function consumeServicio(ByVal docXML As XmlNode) As string
  2.  
  3.        Dim sXML As String
  4.  
  5.        sXML = docXML.OuterXml
  6.  
  7.        return sXML
  8.  
  9. End Function

si aun asi no queda claro publica el codigo para analizarlo! o publica el url de tu webservice! imagino estas usando vb .net 2005

Hola TOTIGO, saludos.

Sabes quiero saber como programaria mi envio de xml, genero mi nodo el cual inserto en otro para que este completo el nuevo xml y este lo quiero enviar a un webservice.
Pasa que genero un xml y este lo tengo que enviar al webservice siguiente: http://www2.soriana.com/Integracion/RecibeCFD/wseDocRecibo.asmx
Ahora solo me falta implementar el codigo, pero me podrias auxiliar veo ke se parece tu codigo al que prentendo generar como enviar el XML si como string o tomo el valor de la variable que contiene mi xml como xmldocument, o cargar desde un dir el xml y enviarlo, saludos, espero me haya explicado.
__________________
!El conocimiento se LIMITA cuando dices NO PUEDO!

By NetFcruz
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:39.