none
WebService não conecta RRS feed

  • Pergunta

  • Boa tarde.

    Estou com um seguinte problema antigo que ainda não consegui resolver.
    Desenvolvi um webservice de cadastro de clientes simples que está hospedado em meu computador no servidor IIS e uma aplicação que consome este webservice, adicionei a referencia no projeto com o seguinte endereço http://192.168.0.15/webservice/CadCliente.asmx ele encontra todos os métodos perfeitamente. Assim funciona em todas as maquinas da minha rede.
    Meu webservice está rodando na porta 9440 então no NAT do meu modem fiz um redirecionamento para que tudo que chegar na porta 9440 ele direcionara para meu ip 192.168.0.15 ate ai blz.
    Se eu pego o ip externo do meu modem e colocar no browser http://xxx.xxx.xxx.xxx/webservice/CadCliente.asmx aparece todos os métodos do webservice então quer dizer que o redirecionamento e a hospedagem do webservice está ok.
    O problema e que quando envio minha aplicação para fora da minha rede quando executo algum metodo  ela me da o seguinte erro
    "Unable to connect to the remote server" o que estaria de errado com meu webservice?

    Pensei que fosse conexao com o banco mas não é pq fiz um simples metodo Hello Word que chamei em um botão para testar e me da essa bendita mensagem..

    Alguem já passo por essa novela??

    Obrigado.
    Jean Carlos Quaresma Mariano
    terça-feira, 2 de março de 2010 18:39

Todas as Respostas

  • Boa Tarde , Jean
    Você já tentou colocar

    clientaccesspolicy.xml

    <?xml version="1.0" encoding="utf-8" ?>
    <access-policy>
        <cross-domain-access>
            <policy>
                <allow-from http-request-headers="*">
                    <domain uri="*"/>
                </allow-from>
                <grant-to>
                    <resource path="*" include-subpaths="true"/>
                </grant-to>
            </policy>
        </cross-domain-access>
    </access-policy>
    

    crossdomain.xml

    <?xml version="1.0"?>
    <!DOCTYPE cross-domain-policy SYSTEM 
    	"http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
    <cross-domain-policy>
        <allow-http-request-headers-from domain="*" headers="*"/>
    </cross-domain-policy>
    

    na pasta onde está o webservice?

    ref http://msdn.microsoft.com/en-us/library/cc838250(VS.95).aspx#crossdomain_communication
    ref http://msdn.microsoft.com/en-us/library/cc645032(VS.95).aspx

    Américo Arvani MCP/MCTS - WEB Se ajudou , marque como resposta.
    terça-feira, 2 de março de 2010 19:05
  • Américo e so clica esses dois arquivos onde está hospedado o webservice cadCliente.asmx?
    Jean Carlos Quaresma Mariano
    terça-feira, 2 de março de 2010 19:07
  • Isso crie esses dois arquivos na pasta aonde está o webservice ,entre no site do nosso amigo Israel  para saber mais detalhes .
    http://www.israelaece.com/post/ClientAccessPolicyxml-sem-IIS.aspx

    Américo Arvani MCP/MCTS - WEB Se ajudou , marque como resposta.
    terça-feira, 2 de março de 2010 19:17
  • Olha fiz do jeito que vc me passo coloquei no servidor mas deu a mesma mensagem tenho que alterar algum parametro nos arquivos.
    So lembrando que não estou trabalhando com Silverlight, estou consumindo apenas de uma aplicação normal.

    Obrigado.
    Jean Carlos Quaresma Mariano
    terça-feira, 2 de março de 2010 19:23
  • É mesmo essa solução é para SilverLight, desculpa qual a sintaxe completa do erro?


    Américo Arvani MCP/MCTS - WEB Se ajudou , marque como resposta.
    terça-feira, 2 de março de 2010 19:29
  • System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: Uma tentativa de conexão falhou porque o componente conectado não respondeu
    corretamente após um período de tempo ou a conexão estabelecida falhou
    porque o host conectado não respondeu 192.168.0.15:80
       at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
       at System.Net.Sockets.Socket.InternalConnect(EndPoint remoteEP)
       at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception& exception)
       --- End of inner exception stack trace ---
       at System.Net.HttpWebRequest.GetRequestStream()
       at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
       at ConsomeWebService.Cliente2.Service1.somar(Decimal s1, Decimal s2)
       at ConsomeWebService.Form1.zBotao1_Click(Object sender, EventArgs e)
       at System.Windows.Forms.Control.OnClick(EventArgs e)
       at System.Windows.Forms.Button.OnClick(EventArgs e)
       at zFerramentas.zBotao.OnClick(EventArgs e)
       at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
       at zFerramentas.zBotao.OnMouseUp(MouseEventArgs mevent)
       at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
       at System.Windows.Forms.Control.WndProc(Message& m)
       at System.Windows.Forms.ButtonBase.WndProc(Message& m)
       at System.Windows.Forms.Button.WndProc(Message& m)
       at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
       at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
       at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


    ************** Loaded Assemblies **************
    mscorlib
        Assembly Version: 2.0.0.0
        Win32 Version: 2.0.50727.3603 (GDR.050727-3600)
        CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
    ----------------------------------------
    ConsomeWebService
        Assembly Version: 1.0.0.0
        Win32 Version: 1.0.0.0
        CodeBase: file:///C:/Documents%20and%20Settings/Administrador/Desktop/webservice/ConsomeWebService.exe
    ----------------------------------------
    System.Windows.Forms
        Assembly Version: 2.0.0.0
        Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
        CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
    ----------------------------------------
    System
        Assembly Version: 2.0.0.0
        Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
        CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
    ----------------------------------------
    System.Drawing
        Assembly Version: 2.0.0.0
        Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
        CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
    ----------------------------------------
    zFerramentas
        Assembly Version: 1.0.3468.28748
        Win32 Version: 1.0.0.0
        CodeBase: file:///C:/Documents%20and%20Settings/Administrador/Desktop/webservice/zFerramentas.DLL
    ----------------------------------------
    DevExpress.Utils.v8.3
        Assembly Version: 8.3.4.0
        Win32 Version: 8.3.4.0
        CodeBase: file:///C:/Documents%20and%20Settings/Administrador/Desktop/webservice/DevExpress.Utils.v8.3.DLL
    ----------------------------------------
    DevExpress.XtraEditors.v8.3
        Assembly Version: 8.3.4.0
        Win32 Version: 8.3.4.0
        CodeBase: file:///C:/Documents%20and%20Settings/Administrador/Desktop/webservice/DevExpress.XtraEditors.v8.3.DLL
    ----------------------------------------
    DevExpress.Data.v8.3
        Assembly Version: 8.3.4.0
        Win32 Version: 8.3.4.0
        CodeBase: file:///C:/Documents%20and%20Settings/Administrador/Desktop/webservice/DevExpress.Data.v8.3.DLL
    ----------------------------------------
    System.Xml
        Assembly Version: 2.0.0.0
        Win32 Version: 2.0.50727.3082 (QFE.050727-3000)
        CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
    ----------------------------------------
    System.Web.Services
        Assembly Version: 2.0.0.0
        Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
        CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Web.Services/2.0.0.0__b03f5f7f11d50a3a/System.Web.Services.dll
    ----------------------------------------
    System.Data
        Assembly Version: 2.0.0.0
        Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
        CodeBase: file:///C:/WINDOWS/assembly/GAC_32/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll
    ----------------------------------------
    System.Configuration
        Assembly Version: 2.0.0.0
        Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
        CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
    ----------------------------------------
    ckrzj09t
        Assembly Version: 1.0.0.0
        Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
        CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
    ----------------------------------------

    ************** JIT Debugging **************
    To enable just-in-time (JIT) debugging, the .config file for this
    application or computer (machine.config) must have the
    jitDebugging value set in the system.windows.forms section.
    The application must also be compiled with debugging
    enabled.

    For example:

    <configuration>
        <system.windows.forms jitDebugging="true" />
    </configuration>

    When JIT debugging is enabled, any unhandled exception
    will be sent to the JIT debugger registered on the computer
    rather than be handled by this dialog box.

    Jean Carlos Quaresma Mariano
    terça-feira, 2 de março de 2010 19:46
  • Você tem algum proxy na sua rede? ISA SERVER por exemplo?
    Américo Arvani MCP/MCTS - WEB Se ajudou , marque como resposta.
    terça-feira, 2 de março de 2010 20:00
  • Nao...rede simples mesmo, com um modem adsl apenas que fornece ip para as estações.
    Percebi agora olhando o erro pq ele tatentando bater na porta 80 sendo que falo pra ele que e a 9440?

    Jean Carlos Quaresma Mariano
    terça-feira, 2 de março de 2010 20:06
  • Pelo que eu vi a causa pode ser o tempo de resposta da porta tente fazer as instruções
    ref http://stackoverflow.com/questions/1339142/wcf-system-net-socketexception-only-one-usage-of-each-socket-address-protocol
    ref http://msdn.microsoft.com/en-us/library/aa560610(BTS.20).aspx
    ref http://support.microsoft.com/default.aspx/kb/314053

    Américo Arvani MCP/MCTS - WEB Se ajudou , marque como resposta.
    terça-feira, 2 de março de 2010 20:09
  • Boas Jean,

    Se você já alterou a porta no servidor e consegue visualizar o serviço através dela, então não deveria mencionar essa porta também na aplicação cliente?
    http://www.israelaece.com
    quarta-feira, 3 de março de 2010 15:28
    Moderador
  • Então Israel na aplicação cliente quando adiciono a referencia do webservice coloco o seguinte endereço http://192.168.0.15:9440/webservice/CadCliente.asmx que internamente da certo o problema é exeterno mesmo.

    Américo fiz o procedimento que menciono e tambem nao deu certo.

    So lembrando nao uso nenhum firewall nem antivirus.

    Outra coisa na minha aplicaçao que consome o webservice ja coloquei tanto o ip do modem quanto o  ip local citado acima.
    E percebo que ele demora um pouquinho pra responder quando tento acessar qualquer metodo do webservice..creio que deva ser tempo de resposta mesmo.

    Obrigado.
    Jean Carlos Quaresma Mariano
    quarta-feira, 3 de março de 2010 20:22
  • Como você faz esse acesso externo?
    Qual versão windows você está trabalhando?
    Ele está hospedado em um IIS?

    Américo Arvani MCP/MCTS - WEB Se ajudou , marque como resposta.
    quinta-feira, 4 de março de 2010 15:54
  • Através de uma aplicação windows form, e coloquei esse programinha em uma maquina com windows xp e o webservice esta hospedado tambem em um windows xp no IIS.
    Jean Carlos Quaresma Mariano
    quinta-feira, 4 de março de 2010 21:00
  • Como você faz o endpoint? o databind? Tem como você disponibilizar o codigo?
    alguns links de security interessantes com NAT.

    http://msdn.microsoft.com/en-us/library/ms734691.aspx

    http://msdn.microsoft.com/en-us/library/ms733133.aspx

    http://msdn.microsoft.com/en-us/library/ms731094.aspx

    http://msdn.microsoft.com/en-us/library/ms731948.aspx
    Américo Arvani MCP/MCTS - WEB Se ajudou , marque como resposta.
    segunda-feira, 8 de março de 2010 15:31
  • Pra te falar a verdade nem sabia o que era isso vo da uma pesquisada e ve como devo implementar isso.

    Obrigado.
    Jean Carlos Quaresma Mariano
    segunda-feira, 8 de março de 2010 19:42
  • Para começar sugiro.

    http://www.israelaece.com/post/WCF-Introducao.aspx


    Américo Arvani MCP/MCTS - WEB Se ajudou , marque como resposta.
    segunda-feira, 8 de março de 2010 20:03
  • Jean,

    Alguma novidade quanto a sua dúvida?
    André Alves de Lima
    Visite o meu site: http://andrealveslima.spaces.live.com
    Me siga no Twitter: @andrealveslima
    sábado, 13 de março de 2010 18:34
    Moderador
  • Então...quanto...ao webservice não...mas pelo que andei lendo wcf é diferente..eu gostaria mesmo é de fazer o webservice em asmx.
    To tentando ainda.

    Obrigado
    Jean Carlos Quaresma Mariano
    segunda-feira, 15 de março de 2010 11:32
  • OK Jean!

    Assim que tiver novidades, por favor, nos informe como resolveu!

    []'s!
    André Alves de Lima
    Visite o meu site: http://andrealveslima.spaces.live.com
    Me siga no Twitter: @andrealveslima
    segunda-feira, 15 de março de 2010 11:54
    Moderador