none
Prblemas com Classes ambiguas em WebService RRS feed

  • Pergunta

  • Estou com problemas de Ambiguidade de classes no meu webservice, por exemplo:

    Tenho dois Webservice os dois fazem referencia e manipulam a classe Pessoa

    No Webservice A eu tenho um método que retorna uma classe Pessoa.
    O Webservice B consome este método.

    Bom ai começa o problema, pois o retorno do metodo A é um objeto do tipo Pessoa.
    O que esta acontecendo é que o objeto retornado que é do tipo Pessoa não é do mesmo tipo Pessoa do webservice B, pois estão em namespace diferente.
    Se eu tentar atribuir o objeto de retorno do metodo (A) para uma variável do tipo pessoa do webservice (B), ele não aceita dizendo que são de tipos diferentes.

    Como eu posso resolver isto já que com os tipos nativos (int, string, datetime) isto não acontece?
    quinta-feira, 17 de fevereiro de 2011 11:52

Respostas

  • Marcio,

    O ideal é você criar uma DLL de interface, nesta dll você irá colocar a classe pessoa.

    Dai você irá usar nos 2 Web Services a classe Pessoa que está nesta dll que você criou.

    Depois você vai adicionar uma referencia na sua aplicação cliente para esta dll de interface e ao criar a referencia do serviço, você vai selecionar nas configurações da referência para reutilizar as classes referenciadas: "Reuse types in all referenced assemblies".

    Assim você terá uma classe pessoa comum em ambos os Web Services.

    at.,


    Rogério de Resende Ohashi | Ohashi.NET (.NET, Security, C#, WinForms, WCF, Workflow, Azure, Windows Phone, Mono)
    sexta-feira, 11 de março de 2011 22:39

Todas as Respostas

  • Marcio,

    O ideal é você criar uma DLL de interface, nesta dll você irá colocar a classe pessoa.

    Dai você irá usar nos 2 Web Services a classe Pessoa que está nesta dll que você criou.

    Depois você vai adicionar uma referencia na sua aplicação cliente para esta dll de interface e ao criar a referencia do serviço, você vai selecionar nas configurações da referência para reutilizar as classes referenciadas: "Reuse types in all referenced assemblies".

    Assim você terá uma classe pessoa comum em ambos os Web Services.

    at.,


    Rogério de Resende Ohashi | Ohashi.NET (.NET, Security, C#, WinForms, WCF, Workflow, Azure, Windows Phone, Mono)
    sexta-feira, 11 de março de 2011 22:39
  • Marcio,

     

    Podes me ajudar no seguinte:

    Preciso consumir um webservice e repassar as classes dele. Como faço? Ou seja;

    Instanciei o ws com o nome de MewWs, agora quero apenas expor o que instanciei.

     

    Att

    Luis

     

    sábado, 4 de junho de 2011 19:18