ERRO AO RECEBER RESPOSTA DO WEBSERVICE

CLSCARLOS 19/08/2011 14:39:59
#382080
Pessoal, preciso da ajuda urgente de voces...

Meu sistema está em VB.net... eu estou consumindo um webservice que ao requisitar um cadastro, retorna dois parametros. Eu consigo cadastrar, eu passo os parametros do request, verifico no site, e ele cadastra normal, mas ao receber a resposta do servidor, ele dá o seguinte erro:

O tipo de conteúdo text/xml; charset=ISO-8859-1 da mensagem de resposta não corresponde ao tipo de conteúdo da ligação (text/xml; charset=utf-8). Se estiver usando um codificador personalizado, verifique se o método IsContentTypeSupported está implementado corretamente. Os primeiros 582 bytes da resposta foram: [ô]<?xml version=[Ô]1.0[Ô] encoding=[Ô]ISO-8859-1[Ô]?><SOAP-ENV:Envelope SOAP-ENV:encodingStyle=[Ô]http://schemas.xmlsoap.org/soap/encoding/[Ô] xmlns:SOAP-ENV=[Ô]http://schemas.xmlsoap.org/soap/envelope/[Ô] xmlns:xsd=[Ô]http://www.w3.org/2001/XMLSchema[Ô] xmlns:xsi=[Ô]http://www.w3.org/2001/XMLSchema-instance[Ô] xmlns:SOAP-ENC=[Ô]http://schemas.xmlsoap.org/soap/encoding/[Ô]><SOAP-ENV:Body><ns1:fWSCadastraMarcaResponse xmlns:ns1=[Ô]urn:fWSCadastraMarcawsdl[Ô]><status xsi:type=[Ô]xsd:string[Ô]>ok</status><id_marca xsi:type=[Ô]xsd:integer[Ô]>20</id_marca></ns1:fWSCadastraMarcaResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>[ô].

Já dei um CTRL+H pra substituir todos os [Ô]UTF-8[Ô] por [Ô]ISO-8859-1[Ô] e nada.. nada funciona.

Já perguntei pro meu chefe, meu professor na faculdade, pra analistas de sistemas, e nada, ninguem consegue resolver... lembrando, q eu consigo fazer a requisição, mas n consigo ler a resposta...


alguem pode me ajudar, por favor ?
KERPLUNK 19/08/2011 14:46:47
#382081
A resposta é um objeto do WebService? Ou é texto puro mesmo? Acredito que seja um objeto mesmo...
CLSCARLOS 19/08/2011 14:57:26
#382084
é um objeto cara, do tipo fWSCadastraCategoriaResponse... a linha do codigo que eu pego é essa:


Public Function fWSCadastraCategoria(ByVal request As tray.fWSCadastraCategoriaRequest) As tray.fWSCadastraCategoriaResponse Implements tray.TrayWebServicewsdlPortType.fWSCadastraCategoria

Dim retVal As tray.fWSCadastraCategoriaResponse = ws.fWSCadastraCategoria(request)

Return retVal

End Function
KERPLUNK 19/08/2011 15:00:13
#382086
Verifique no WSDL se o tipo de retorno para o método fWSCadastraCategoria é esse mesmo...
CLSCARLOS 19/08/2011 15:02:57
#382087
aonde que eu verifico esse WSDL ?

mas eles estão retornando pra mim um charset do tipo [Ô]ISO-8859-1[Ô] e o nosso é [Ô]UTF-8[Ô], acredito que esse seja o erro... só que a empresa que fornece o webservice, nao quer troca-lo... e eu nao consigo trocar o meu para o deles...
CLSCARLOS 19/08/2011 15:07:40
#382089
dentro dessa variavel retVal , existem duas variaveis... ambas do tipo String
CLSCARLOS 22/08/2011 17:10:57
#382258
ninguem ?
KERPLUNK 22/08/2011 17:18:34
#382261
http://caminho_do_webService/nome.asmx?WSDL
KERPLUNK 22/08/2011 17:20:07
#382262
dificilmente o retorno será fWSCadastraCategoriaResponse, já que essa é a instância do serviço que trabalha com a resposta. Tente ver o webservice como uma [Ô]dll[Ô] que está registrada em outro computador e cada método como se fosse uma função da DLL cada uma com seu retorno...
Tópico encerrado , respostas não são mais permitidas