ERRO AO RECEBER RESPOSTA DO WEBSERVICE
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 ?
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 ?
A resposta é um objeto do WebService? Ou é texto puro mesmo? Acredito que seja um objeto mesmo...
é 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
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
Verifique no WSDL se o tipo de retorno para o método fWSCadastraCategoria é esse mesmo...
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...
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...
dentro dessa variavel retVal , existem duas variaveis... ambas do tipo String
ninguem ?
http://caminho_do_webService/nome.asmx?WSDL
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