Erro: Erro ocorre ao tentar adicionar uma referência da Web a um serviço da Web que um servidor proxy publicações

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 815213
Sintomas
Em um projeto ASP.NET Web Application, quando você tenta adicionar uma referência da Web para um serviço da Web que publica um servidor proxy, você receberá uma mensagem de erro é semelhante a seguinte mensagem de erro.

Microsoft .NET Framework 1.0
Não é possível baixar os seguintes arquivos de http:// <wsproxyserver>/WebService2/service1.asmx?op=HelloWorld, http:// <wsproxyserver>: 6789/WebService2/service1.asmx?wsdl. Você deseja ignorar esses arquivos e continuar?
Microsoft .NET Framework 1.1
Não é possível baixar o seguinte arquivo de http:// <wsproxyserver>: 6789/WebService2/service1.asmx?wsdl. Você deseja ignorar este arquivo e continuar?
Observação No decorrer deste artigo, wsproxyserver é um espaço reservado para o endereço IP do servidor proxy.
Causa
De uma Web do cliente, você tenta adicionar uma referência da Web para um serviço da Web para que seja o servidor Web interno dentro de uma rede de proxy. O número de porta de redirecionamento do servidor proxy, em seguida, é anexado ao endereço IP (Internet Protocol) do servidor proxy na classe proxy gerada em vez do número de porta ouvinte do servidor proxy sendo anexado ao IP endereço do servidor proxy na classe proxy gerado.
Como Contornar
Para contornar esse bug, use a ferramenta Web Services Description Language (WSDL.exe) para criar uma classe de proxy do cliente e, em seguida, modificar a classe proxy para atualizar as informações de URL com o número de porta correta.

Para fazer isso, execute as seguintes etapas:
  1. Crie uma classe de proxy do cliente.

    Para fazer isso, execute as seguintes etapas:
    1. No Microsoft Windows Explorer, crie uma pasta chamada Clientproxy no diretório raiz C:\.
    2. Em um prompt de comando Microsoft Visual Studio. NET, altere o caminho do diretório para o diretório C:\Clientproxy.
    3. No prompt de comando Visual Studio. NET, execute o comando a seguir.

      Microsoft Visual translation from VPE for Csharp .NET
      WSDL http:// wsproxyserver /WebServiceProxy/Service1.asmx?wsdl
      A classe de proxy do cliente é salvo como o Service1.cs arquivo.

      Microsoft Visual Basic .NET
      WSDL /l:VB http:// wsproxyserver /WebServiceProxy/Service1.asmx?wsdl
      A classe de proxy do cliente é salvo como o Service1.vb arquivo.
  2. Modificar a classe de proxy do cliente.

    Para fazer isso, execute as seguintes etapas:
    1. Use o bloco de notas para abrir o arquivo Service1.cs ou para abrir o arquivo Service1.vb.

      A URL de proxy contém o número da porta (6789) do servidor Web interno como follows:
      http://<wsproxyserver>:6789/WebServiceProxy/service1.asmx
    2. No Visual translation from VPE for Csharp. NET, modifique o método Service1 da classe proxy e salve o método de Service1 da classe proxy, da seguinte maneira:
      public Service1() {   this.Url = "http://<wsproxyserver>/WebServiceProxy/service1.asmx"; }
      no Visual Basic .NET, modificar a nova classe de método da classe proxy e, em seguida, salve o método New do proxy, da seguinte maneira:
      Public Sub New()  MyBase.New  Me.Url =  "http://<wsproxyserver>/WebServiceProxy/service1.asmx"End Sub
  3. Compilar o código de classe de proxy que é armazenado no arquivo Service1.cs ou no arquivo Service1.vb para criar o Service1.dll assembly.

    Para fazer isso, execute as seguintes etapas:
    1. Em um prompt de comando do Visual Studio .NET, altere o caminho diretório para o C:\Clientproxy diretório.
    2. No prompt de comando Visual Studio. NET, execute o seguinte comando:

      o Visual translation from VPE for Csharp .NET
      csc/t: Library Service1.cs
      Visual Basic .NET
      vbc/t: Library /r:System.XML.dll,System.Web.Services.dll,System.Data.dll,System.Web.dll,System.dll Service1.vb
      O arquivo Service1.dll é criado.
  4. Crie um projeto ASP.NET Web Application.

    Para fazer isso, execute as seguintes etapas:
    1. Inicie o Visual Studio NET..
    2. Use translation from VPE for Csharp Visual .NET ou use o Visual Basic .NET para criar um projeto ASP.NET Web Application chamado Projeto1 .
    3. No Solution Explorer, clique com o botão direito do mouse Projeto1 e, em seguida, clique em Add Reference .
    4. Na caixa de diálogo Add Reference , clique em Procurar .
    5. Na caixa de diálogo Selecionar componente , localize a pasta C:\Clientproxy.
    6. Clique em Service1.dll e em seguida, clique em Abrir .
    7. Clique em OK para fechar o Adicionar referência caixa de diálogo.
Situação
Esse comportamento é por design.
Mais Informações

Configurações necessárias do servidor proxy

Regras de publicação do ISA Server quando ele está instalado em um servidor proxy

Definir a regra de publicação para o ISA server redirecionar todas as solicitações recebidas para o servidor Web interno. O ouvinte escuta na porta 80 e, em seguida, redireciona a entrada todas as solicitações para porta 6789.

Observação Você pode configurar o servidor proxy para redirecionar solicitações de entrada para qualquer porta diferente da porta 6789.

Configuração do site no servidor Web interno

Configure o site padrão para executar em porta 6789 no servidor Web interno.

Passos para reproduzir o problema

Criar um projeto de serviço ASP.NET em um computador (servidor Web interno) dentro de uma rede de proxy

  1. Inicie o Visual Studio NET..
  2. Use translation from VPE for Csharp Visual .NET ou use o Visual Basic .NET para criar um projeto ASP.NET Web Service chamado WebServiceProxy .

    Por padrão, o Service1.asmx arquivo é criado.
  3. No Solution Explorer, clique com o botão direito do mouse em Service1.asmx e, em seguida, clique em View Code .
  4. Não comentar o método HelloWorld Web service.
  5. No menu Build , clique em Build Solution .
  6. Configure o site padrão para executar em porta 6789.

    Para fazer isso, execute as seguintes etapas:
    1. Clique em Iniciar e, em seguida, clique em Executar .

      A caixa de diálogo Executar é exibida.
    2. Tipo Inetmgr em Abrir caixa e, em seguida, clique em OK .
    3. Na janela Internet Information Services Manager, clique em seu Computer Name.
    4. Clique na pasta Sites .
    5. Sob a pasta sites, clique com o botão direito do mouse a pasta de Site padrão . Clique em Propriedades .
    6. Na caixa de diálogo Propriedades de Site padrão , clique na guia Site .
    7. Na caixa de texto porta TCP/IP, digite 6789 .
    8. Clique em OK para fechar o padrão propriedades do site caixa de diálogo.
  7. Para verificar se o serviço da WebServiceProxy Web está funcionando corretamente, use seu navegador para visitar o seguinte URL:
    http:// internalwebserver: 6789/WebServiceProxy/Service1.asmx
    Observação Esta URL, internalwebserver é um espaço reservado para o nome do seu servidor Web interno.

Criar um projeto de aplicativo ASP.NET em um computador fora o servidor proxy

  1. Inicie o Visual Studio NET..
  2. Use translation from VPE for Csharp Visual .NET ou use o Visual Basic .NET para criar um projeto ASP.NET Web Application chamado Projeto1 .
  3. No menu Build , clique em Build Solution .

Adicionar uma referência da Web ao serviço da Web

  1. No Solution Explorer, clique com o botão direito do mouse em References e, em seguida, clique em Add Web Reference .

    A caixa de diálogo Add Web Reference é exibida.
  2. Digite http:// wsproxyserver /WebServiceProxy/Service1.asmx na caixa endereço e, em seguida, clique em Ir .
  3. Quando o servidor proxy solicita credenciais de autenticação, digite seu UserName e digite sua Password nas caixas de texto correspondente.

    Você receber a mensagem de erro mencionada na seção "Sintomas" deste artigo.

    Observação Se o endereço IP na mensagem de erro contém o número de porta do servidor Web interno, configurar as propriedades publicação do ISA server para exibir o endereço IP do servidor proxy em vez de exibir o endereço IP do servidor Web interno.
Referências
Para obter informações adicionais, clique nos números abaixo para ler os artigos na Base de dados de Conhecimento da Microsoft:
308359COMO: Gravar um serviço da Web simples usando o Visual translation from VPE for Csharp .NET
313072 COMO: Configurar o serviço de publicação para trabalhar com o Internet Security and Acceleration Server no Windows 2000 na Web

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 815213 - Última Revisão: 11/14/2003 22:12:03 - Revisão: 1.3

Microsoft ASP.NET 1.1, Microsoft ASP.NET 1.0

  • kbmt kbip kberrmsg kbdll kbwebservices kbprb KB815213 KbMtpt
Comentários