■51263 / inTopicNo.1) |
WCFでWikipediaAPIを呼び出す |
□投稿者/ nana* (1回)-(2010/06/29(Tue) 20:46:24)
|
分類:[.NET 全般]
2010/06/29(Tue) 20:49:04 編集(投稿者) 2010/06/29(Tue) 20:47:39 編集(投稿者)
随分長い間悩んでいたのですが、どうしても解決出来ないため、藁にすがる思いでこちらにやってきました どうぞよろしくお願いします。
[環境] .NET Framework4 Vista
WCFでWikipediaAPIを呼び出そうとしているのですが、下記コード17行目でエラーにります。 プロキシサーバのある環境でテストしています。
[コード] string enAddUrl = "http://wikipedia.simpleapi.net/"; string prxyUrl = "http://proxyserver/proxy.pac"; string userName = "username"; string userPass = "pass"; string userDomin = "domain";
WebRequest.DefaultWebProxy = new WebProxy(prxyUrl); WebRequest.DefaultWebProxy.Credentials = new NetworkCredential(userName, userPass, userDomin);
WebHttpBinding objWCFBinding = new WebHttpBinding(); EndpointAddress objEndpoint = new EndpointAddress(enAddUrl); ChannelFactory<IService1> objChannelFactory = new ChannelFactory<IService1>(objWCFBinding, objEndpoint);
WebHttpBehavior objWebBehavior = new WebHttpBehavior(); objChannelFactory.Endpoint.Behaviors.Add(objWebBehavior); IService1 objAolVideoSearchService = objChannelFactory.CreateChannel(); results wiki = objAolVideoSearchService.api("Iphone"); MessageBox.Show(wiki.result.body);
[エラー] メッセージを受信できる http://wikipedia.simpleapi.net/api?keyword=Iphone でリッスンしているエンドポイントがありませんでした。これは一般に、アドレスまたは SOAP アクションが正しくない場合に発生します。詳細については、InnerException を参照してください [InnerException] メッセージ:"リモート サーバーがエラーを返しました: (404) 見つかりません" StackTrace:場所 System.Net.HttpWebRequest.GetResponse() 場所 System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
[試したこと] ・WebRequest.DefaultWebProxyの設定を省略すると、「Authentication Required」エラーになる ・wikipedia.simpleapi.netが返すXMLと同じ形式のXMLを返すWebサービスを作成し、プロキシ内でテストしたところ、正常に処理が出来る
|
|