none
認証付きプロキシ環境下でサービスバスを利用すると例外が発生する RRS feed

  • 質問

  • いつも大変お世話になっております。初めて質問させていただきます。ご指導いただければ幸いです。

    【質問】

    認証付きプロキシ環境下でWindows Azure platform AppFabricのサービスバスを利用できるでしょうか。

    【質問の経緯】

    現在、認証つきプロキシ環境下で、サービスバスにWCFサービスを登録し、エンドポイントを公開するためのコードを実行すると以下のような例外が発生します。

      System.ServiceModel.CommunicationException はハンドルされませんでした。
      Message=Unable to reach watchdog.servicebus.windows.net via TCP (9351, 9352) or HTTP (80, 443)
      Source=Microsoft.ServiceBus
      StackTrace:
           場所 Microsoft.ServiceBus.NetworkDetector.ChooseConnectivityModeForAutoDetect(Uri uri)
           場所 Microsoft.ServiceBus.TcpRelayTransportBindingElement.BuildInnerBindingElement(BindingContext context)
           場所 Microsoft.ServiceBus.TcpRelayTransportBindingElement.GetProperty[T](BindingContext context)
           場所 System.ServiceModel.Channels.BindingElement.GetIndividualProperty[T]()
           場所 System.ServiceModel.Description.DispatcherBuilder.SecurityContractInformationEndpointBehavior.AddBindingParameters(ServiceEndpoint endpoint, BindingParameterCollection parameters)
           場所 System.ServiceModel.Description.DispatcherBuilder.InitializeServiceHost(ServiceDescription description, ServiceHostBase serviceHost)
           場所 System.ServiceModel.ServiceHostBase.InitializeRuntime()
           場所 System.ServiceModel.ServiceHostBase.OnBeginOpen()
           場所 System.ServiceModel.ServiceHostBase.OnOpen(TimeSpan timeout)
           場所 System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
           場所 System.ServiceModel.Channels.CommunicationObject.Open()
           場所 HelloAppFabricService.Program.Main(String[] args) 場所 C:\Users\azure\documents\visual studio 2010\Projects\HelloAppFabricService\HelloAppFabricService\Program.cs:行 48
           場所 System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
           場所 System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
           場所 Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
           場所 System.Threading.ThreadHelper.ThreadStart_Context(Object state)
           場所 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
           場所 System.Threading.ThreadHelper.ThreadStart()

    実行しているコードは、「Windows Azure アプリケーション開発入門」(ISBN-10: 4822294005)のP171-P177に記載されいるプログラムです。

    上記例外は、プロキシサーバが存在しない環境では、発生しません。

    【ソフトウェア構成】

    OS:Windows 7 Enterprise 64bit
    ソフトウェア:Visual Studio 2010 Ultimate / Windows Azure platform AppFabric SDK V1.0

     

    【事象に対する対応と結果】

    下記( 1 ) ~( 3 )に関しては、実施後も同様の例外が発生しております。( 4 )に関しては、異なる例外が発生するのですが、プログラムの実行は完了しません。


    ( 1 ) WinHTTPのプロキシ設定の実施。以下のコマンドを入力
     netsh winhttp set proxy ”プロキシサーバ名" 

    ( 2 ) app.configにproxyに関する設定の追加
     <system.net>
             <defaultProxy enabled="true" useDefaultCredentials="true>
       <proxy bypassonlocal="True" proxyaddress=”プロキシサーバ名" />
      </defaultProxy>
     </system.net>
     ※参考URL <http://support.microsoft.com/kb/910804>

    ( 3 ) Program.csのmainメソッドの最初の行にproxyに関する設定の追加
     WebProxy proxy = new WebProxy("プロキシサーバ名" );
     proxy.Credentials = new NetworkCredential("USERNAME", "PASSWORD");
     WebRequest.DefaultWebProxy = proxy;


     ( 4 ) ローカルプロキシを介して、リモートプロキシにアクセス
     ※参考URL <http://blogs.ricollab.jp/webtech/2008/09/how_to_pass_proxy_auth/>

     
    以上です。お手数をおかけいたしますが、ご回答よろしくお願いいたします。

    2010年5月11日 6:20