Retorno de un método de un webservices como XmlDocument

11/12/2006 - 12:35 por Jordi Julià | Informe spam
Hola a todos,

Defini un servicio web con VB2003 de la siguiente manera:
<System.Web.Services.WebService(Namespace:="http://tecnicsoft.com/webservices/")>
_

Public Class Central_Reservas

Inherits System.Web.Services.WebService

<WebMethod(), _

SoapHeader("CabeceraTransaccion", Direction:=SoapHeaderDirection.InOut), _

SoapHeader("unknownHeaders")> _

Public Function Get_Disponibilidad_Habitaciones(ByVal Filtros_Seleccion As
XmlDocument) As XmlDocument

End Function

End Class


Lo ejecuto de esta manera:
Dim CabeceraSoap As New Central_Reservas.CabeceraSOAP

Dim WS As New Central_Reservas.Central_Reservas

Dim Filtros_Seleccion As XmlDocument

Dim Respuesta_Disponibilidad As XmlDocument

Respuesta_Disponibilidad =
WS.Get_Disponibilidad_Habitaciones(Filtros_Seleccion)


¿ cómo es que me considera el retorno de la función como XmlElement y me da
un error de conversión ?
si lo convierto a VB2005 el problema persiste

Saludos
Jordi

Preguntas similare

Leer las respuestas

#1 Alejandro Mezcua
11/12/2006 - 13:02 | Informe spam
Hola Jordi.

Ten en cuenta que lo que devuelves a través de un método web es sólo parte
de un documento XML, en concreto es sólo la parte Body del mensaje SOAP,
siendo el mensaje completo un documento XML bien formado, que el sistema
se encarga de interpretar por tí, quitando las cabeceras SOAP y demás.

De esta forma, el contenido del mensaje SOAP sólo puede ser parte del documento
XML completo, o sea, XmlElement, con el contenido que sea.

Lo puedes ver muy claro si usas alguna herramienta que te permita ver el
tráfico HTTP que se produce en la comunicación de tu cliente con tu servidor
Web. Unas utilidades gratuitas que están bastante bien las tienes en www.pocketsoap.com.

Un saludo,

Alejandro Mezcua
MVP Device Application Development
http://www.byteabyte.net/

Hola a todos,

Defini un servicio web con VB2003 de la siguiente manera:
<System.Web.Services.WebService(Namespace:="http://tecnicsoft.com/webs
ervices/")> _

Public Class Central_Reservas

Inherits System.Web.Services.WebService

<WebMethod(), _

SoapHeader("CabeceraTransaccion",
Direction:=SoapHeaderDirection.InOut), _

SoapHeader("unknownHeaders")> _

Public Function Get_Disponibilidad_Habitaciones(ByVal
Filtros_Seleccion As XmlDocument) As XmlDocument

End Function

End Class

Lo ejecuto de esta manera:
Dim CabeceraSoap As New Central_Reservas.CabeceraSOAP
Dim WS As New Central_Reservas.Central_Reservas

Dim Filtros_Seleccion As XmlDocument

Dim Respuesta_Disponibilidad As XmlDocument

Respuesta_Disponibilidad > WS.Get_Disponibilidad_Habitaciones(Filtros_Seleccion)

¿ cómo es que me considera el retorno de la función como XmlElement y
me da
un error de conversión ?
si lo convierto a VB2005 el problema persiste
Saludos
Jord
Respuesta Responder a este mensaje
#2 Jordi Julià
11/12/2006 - 15:51 | Informe spam
¿ Entonces cuando te solicitan que programes un método que de como respuesta
un documento XML con un determinado formato, la respuesta del método se debe
definir como XmlElement ?

La cuestión es que debo crear unos métodos para interactuar con diversas
webs que no las desarrollo yo y no se como estarán desarrolladas, tengo unos
formatos de entrada y salida, y éstos deben ser documentos Xml.

Saludos
Jordi






"Alejandro Mezcua" <alejandro.mezcua en byteabyte.net> escribió en el
mensaje news:
Hola Jordi.

Ten en cuenta que lo que devuelves a través de un método web es sólo parte
de un documento XML, en concreto es sólo la parte Body del mensaje SOAP,
siendo el mensaje completo un documento XML bien formado, que el sistema
se encarga de interpretar por tí, quitando las cabeceras SOAP y demás.

De esta forma, el contenido del mensaje SOAP sólo puede ser parte del
documento XML completo, o sea, XmlElement, con el contenido que sea.

Lo puedes ver muy claro si usas alguna herramienta que te permita ver el
tráfico HTTP que se produce en la comunicación de tu cliente con tu
servidor Web. Unas utilidades gratuitas que están bastante bien las tienes
en www.pocketsoap.com.

Un saludo,

Alejandro Mezcua
MVP Device Application Development
http://www.byteabyte.net/

Hola a todos,

Defini un servicio web con VB2003 de la siguiente manera:
<System.Web.Services.WebService(Namespace:="http://tecnicsoft.com/webs
ervices/")> _

Public Class Central_Reservas

Inherits System.Web.Services.WebService

<WebMethod(), _

SoapHeader("CabeceraTransaccion",
Direction:=SoapHeaderDirection.InOut), _

SoapHeader("unknownHeaders")> _

Public Function Get_Disponibilidad_Habitaciones(ByVal
Filtros_Seleccion As XmlDocument) As XmlDocument

End Function

End Class

Lo ejecuto de esta manera:
Dim CabeceraSoap As New Central_Reservas.CabeceraSOAP
Dim WS As New Central_Reservas.Central_Reservas

Dim Filtros_Seleccion As XmlDocument

Dim Respuesta_Disponibilidad As XmlDocument

Respuesta_Disponibilidad >> WS.Get_Disponibilidad_Habitaciones(Filtros_Seleccion)

¿ cómo es que me considera el retorno de la función como XmlElement y
me da
un error de conversión ?
si lo convierto a VB2005 el problema persiste
Saludos
Jordi




email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida