none
Erro na classe references.cs gerada pelo visual studio RRS feed

  • Pergunta

  • Bom pessoal, estou com um service web que preciso consumir via WP esse service é SOAP. O problema esta na classe references.cs que é gerada pelo visual studio, quando uma referencia de serviço é adicionada. Nos métodos esta dando erro de conversão de tipo (Não alterei nada no codigo da classe references). Acho que isso esta ocorrendo por que o serviço não retorna um dado direto (tipo: string, inteiro) ele retorna um xml que contem os dados. Provavelmente é isso por que já testei outros serviços que retornam os dados direto e não ocorre esse erro, só ocorre com esse service web. Ah, testei esse serviço em um aplicativo do windows 8 (PC) e funcionou normalmente. Já tentei quase tudo e não consigo resolver.

    Agradeço a quem me dar uma luz. :D

    Obrigado!

    sábado, 28 de dezembro de 2013 03:42

Todas as Respostas

  • Ta muito vago!

    Erro aonde, qual o erro, cole uma imagem aqui no forum, indica o que se ta fazendo ?


    Fulvio Cezar Canducci Dias

    domingo, 29 de dezembro de 2013 15:17
  • Cara se o método REMOTO do Serviço te retornar um XML dentro e uma STRING você vai ter que fazer o PARSER do XML MANUALMENTE pra ter acesso aos elementos e atributos...

    Tire um print SCREEN do ERRO, do código...


    Leonardo Lourenço Silva


    domingo, 29 de dezembro de 2013 15:19
  • Obrigado pelas respostas e desculpem se fui confuso.

    Seguinte, estou criando uma aplicação que consome um web service SOAP. Mas esse serviço, diferente de outros, não retorna os dados um por um com seus respectivos tipos. Ele retorna um xml, e é nesse xml que contém os dados. Segue a descrição de um método do serviço:

    POST /webservice/webservice.asmx HTTP/1.1
    Host: wwws.exemple.com.br
    Content-Type: text/xml; charset=utf-8
    Content-Length: length
    SOAPAction: "http://tempuri.org/AutenticarUsuario"
    
    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
      <soap:Body>
        <AutenticarUsuario xmlns="http://tempuri.org/">
          <login>string</login>
          <senha>string</senha>
          <token>string</token>
        </AutenticarUsuario>
      </soap:Body>
    </soap:Envelope>
    HTTP/1.1 200 OK
    Content-Type: text/xml; charset=utf-8
    Content-Length: length
    
    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
      <soap:Body>
        <AutenticarUsuarioResponse xmlns="http://tempuri.org/">
          <AutenticarUsuarioResult>xmlxml</AutenticarUsuarioResult>
        </AutenticarUsuarioResponse>
      </soap:Body>
    </soap:Envelope>

    O erro esta ocorrendo na classe references.cs, acho que porque a geração automática desta classe não está preparada para esse tipo de retorno. Segue imagens do código e do erro.

    Essa imagem mostra minha chamada ao método:

    imageshack.com/a/img837/1107/8b1v.png

    Nesta, a linha destacada é onde ocorre o erro, e mostra também o método completo onde o erro ocorre:

    imageshack.com/a/img38/6931/hn14.png

    Esta imagem tem a caixa de erro com o texto:

    imageshack.com/a/img827/4290/wci4.png

    "An unhandled exception of type 'System.InvalidOperationException' occurred in System.Xml.dll

    Additional information: There was an error reflecting type 'PhoneApp2.wsMagister.AutenticarUsuarioResponseAutenticarUsuarioResult'."

    Obs.: Coloquei os links dessa forma pq minha conta não esta verificada, com isso não pude colocar as imagens diretamente, e nem os links.

    Espero ter sido mais claro. Agradeço a todos.

    segunda-feira, 30 de dezembro de 2013 15:57
  • Tópico atualizado. Respondi os dois com só uma resposta. Obrigado
    segunda-feira, 30 de dezembro de 2013 16:00