Los foros del Guille

Si no encuentras respuesta, puedes buscar en el sitio del Guille

Google
 

dotNetManía + el sitio del Guille:
¡La mejor información de punto NET!
¡Suscríbete ya! y consigue un 10% de descuento

Selecciona el foro y pulsa en mostrar:     Mostrar 
De tu interés (algunos de los avisos publicados)

15/sep/2007
Nueva opción para ver los hilos resueltos: Ver los mensajes resueltos
Por favor acuérdate de marcar los que te respondan correctamente para que esto sea de utilidad. Gracias.

  Foro: .NET VB Cantidad:  Desde:   Hasta:    Aplicar   Responder 
Respuestas a: 57773 - Leer servicio web, realizado en php (iso-8859-1)
IDAsuntoFechaNick 
57773 Leer servicio web, realizado en php (iso-8859-1)28/10/14 12:26Manuel_74   
Hola a todos, espero que alguien pueda sacarme de la duda.
Estoy intentando leer un servicio web realizado en php desde vb.net. Cuando hago la llamada al método desde soapUI, me devuelve esto:




<?xml version="1.0" encoding="iso-8859-1"?><Bookings lote="24" pendientes="0"><Booking BookingVendorCode="PRERRESERVA WEB" BookingCanalCode="594705" ActionType="1" TotalLin="3" TotalAdults="5" TotalChildren1="1" TotalChildren2="0" TotalChildren3="0" Babies="0"



Sin embargo en mi proyecto, hago referencia a ese servicio y llamo al método que devuelve un string tal que así:

Dim sw As New ServicioSidetour.EBOOKINGPortTypeClient
Dim x as string = sw.getBookingList("user", "passw")

Y este es el error que me salta:
“El tipo de contenido text/xml; charset=ISO-8859-1 del mensaje de respuesta no coincide con el tipo de contenido del enlace (text/xml; charset=utf-rie_gafas. Si usa un codificador personalizado, asegúrese de que el método IsContentTypeSupported se implemente correctamente. Los primeros 1024 bytes de la respuesta fueron: '
Muchas gracias a todos.
IDAsuntoFechaNick 
57775 Re: Leer servicio web, realizado en php (iso-8859-1) (Resp: 57773)29/10/14 12:15Pipe[hgjfkdls]   
Manuel,

El problema es que tu app al consumir el WS lo consume mediante un MessageEncoder para utf-8 cuando debería decodificar según ISO-8859-1, por lo que tengo entendido.

En pocas palabras, deberás generar un MessageEncoder que reconozca el contenido del mensaje.

Primero, deberás crear tu MessageEncoder personalizado.
Segundo, agregar las directivas en tu AppConfig para obligar al textencoder leer el mensaje y descifrarlo.

Te dejo tres enlaces, ve cual te conviene más.

Invoking a web service returning ISO-8859-1 encoded data with BizTalk 2010

Calling a webservice that uses ISO-8859-1 encoding from WCF

Codificador de mensaje personalizado: codificador de texto personalizado

Saludos,

Pipe [hgjfkdls]
[Editado: Pipe[hgjfkdls], 29/10/2014 12:15:31]


Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.
IDAsuntoFechaNick 
57776 Re: Leer servicio web, realizado en php (iso-8859-1) (Resp: 57775)29/10/14 13:33Manuel_74   
Millones de gracias por la respuesta, como siempre ahi.. rie gracias..
Lo he resuelto de la siguiente manera, en vez de agregar el servicio, como "agregar referencia de servicio" lo que he hecho ha sido, "agregar referencia web", con esto simplemente se ha solucionado mi problema..
Saludos.


Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.

 
(c) Guillermo 'guille' Som, 2005-2017  - foros.elGuille v1.0.5.3 (23/Mar/2009 14:50 GMT +1)  - (ASP.NET 2.0 v2.0.50727.8762)
 
Usuarios activos: 60 - App. iniciada: 20/10/2017 8:43:42 GMT - La hora GMT del servidor es: 21/10/2017 06:31:58 GMT