1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

WebService

Discussão em 'Programação' iniciada por DnlCY, 30 de Janeiro de 2006. (Respostas: 9; Visualizações: 1292)

  1. DnlCY

    DnlCY Power Member

    Boas
    Alguem sabe trabalhar com XML Web Services?

    O meu problema é com o namespace. Será possivel indicar o namespace dinamicamente?
    É que eu gostaria de desenvolver um webservice igual para dois servidores diferentes. Se podesse dispensar de compilar o projecto com um namespace de um servidor e dps voltar a compilar para o outro servidor...

    Indicar por exemplo num ficheiro web.config ou do genero
     
  2. Rechousa

    Rechousa Power Member

    Olá !

    Eu uso Web Services em .Net e podes indicar o URL do webService dinamicamente (penso que é isso que pretendes).

    Vais ter que ter 2 projectos:
    1) WebServices Project
    2) ASP.Net Project (por exemplo)

    Faz o seguinte:
    1) Crias o teu WebService, podes usar um return "Hello World"; para testar.
    2) No teu projecto ASP.Net vais adicionar uma WebReference (e apontas para o teu webService, exemplo: http://localhost/myWebService/Service1.asmx)
    3) Edita as propriedades da WebReferencia criada e, em vez de ser estática, muda para dinâmica
    4) Dá uma olhadela ao teu Web.Config. Vais ver que contém o URL do WebService ;)

    Espero ter ajudado,

    Abraço
     
  3. DnlCY

    DnlCY Power Member

    Rechousa, não é isso k eu quero. eu refiro-me ao namespace k esta dentro do ficheiro asmx.vb k por defeito vem tempuri.org
     
  4. Rechousa

    Rechousa Power Member

    Fonix....

    Eu tenho webservices a correr em varios servidores e a build é sempre a mesma.

    Eu costumo usar C# e funciona tudo na boa. O namespace nao tem nada que ver com o servidor.

    Na pratica, qual é o erro que te acontece qdo tentas fazer o deploy de uma build noutro servidor ?

    Abraço
     
  5. Tuaregue

    Tuaregue Power Member

    O rapaz não deve estar a registrar o namespace, posso estar a dizer uma grande barbarie, ou seja, o rapaz deve estar a usar um namespace do género

    Código:
    namespace xx
    e depois o webservice deve estar com outro namespace, o que ele deve querer é como registar aquele namespace dentro do namespace xxx.
     
  6. DnlCY

    DnlCY Power Member

    Tuareque, huh?! eu nem percebi o k querias dizer lol

    É k eu quero o mm webservice a correr em dois servidores diferentes.
    Exemplo:
    servidor xxx e servidor yyy
    respectivos namespace http://xxx/ e http://yyy/

    E queria definir o nome do servidor dinamicamente, tipo num ficheiro de configuracao


    O erro é k a aplicacao encontra o webservice de um mas nao de outro...
    Mas o problema deve vir de outro lado (eu ja tinha a questao original antes de detectar o erro)


    E ja agora k falamos em webservices, se quiser usa-lo num windows form e fazer atribuicao dinamica (tal cm o Rechousa falou no seu 1ºpost, m para win form) onde tenho k editar o endereço de referencia? app.config ou nome_aplicacao.exe.config??? ha algum sitio onde possa definir o local? é k ja me esteve a funcionar para os dois casos e para nenhum deles lol
     
  7. Rechousa

    Rechousa Power Member

    Boas,

    DnlCY, antes de mais, há que esclarecer algumas coisas:
    - tens uma aplicação servidora e vários clientes em máquinas distintas, certo ?
    - como estás a invocar o WebService ? Estás a utilizar a entrar existente no web.config ?
    - estás a invocar os webServices das 2 máquinas imediatamente ? já experimentaste isoladamente ?
    - no teu caso, nao é o servidor que comunica com os clientes, mas sim os clientes que comunicam com o servidor, certo ? (é sabido que poderás utilizar bi-direccionalidade se, no momento em que o cliente se regista no servidor, guardas o endereço do cliente (do lado do servidor) e, o servidor passa a conhecer tb mais este cliente que se ligou.

    No caso de windows forms à partida seria no app.config.

    Abraço
     
    Última edição: 1 de Fevereiro de 2006
  8. SoundSurfer

    SoundSurfer Power Member

    Exacto... depois quando chamas o webService no código, vais às configurações buscar o endereço e colocas na propriedade correcta do webservice.
     
  9. DnlCY

    DnlCY Power Member

    em relacao ao windows forms e pelos testes k aki tava a fazer parece-me mais o nome_aplicacao.exe.config, apesar de k qd crias o webreference ele cria-te no projecto o app.config...:P

    em relacao a maquinas o k tenho é uma servidor de testes e um servidor permanente. E o webservice so funciona no servidor de testes:(
    A invocação de webservice é atraves de uma aplicacao windows form do lado do cliente e serve so para enviar uma imagem para a base de dados do servidor

    A ideia era nao ter k recompilar o codigo com novo namespace dependendo do servidor onde quero instalar
     
  10. SoundSurfer

    SoundSurfer Power Member

    Não precisas de compilar de novo... no Visual Studio (se é isso que estás a utilizar) nas propriedades da WebReference metes "dinamico"... não te preocupes com o NameSpace...
    Depois no código, só precisas de chamar por exemplo (C#):

    Código:
    this.webServiceURLs = ConfigurationSettings.AppSettings.Get("CacheWebServiceURLs").Split(';');
    
    CacheManagerWebService.CacheManager cacheManager;
    foreach(string url in this.webServiceURLs)
    {
    	cacheManager = new CacheManager(url);
    	count += cacheManager.DeleteAllCache();
    }
    
    Neste caso tenho uma propriedade no web.config em que o seu valor é uma string com os URLs dos serviços separados por ";" .
     
    Última edição: 1 de Fevereiro de 2006

Partilhar esta Página