2016-09-09 5 views
0

テスト用のデータを本番環境に導入したテストAPI(getメソッド)があります。AzureからAPIコールが機能しない

このAPIは、ブラウザから直接どこからでも呼び出すと完全に動作します。 Webアプリケーションを作成しましたが、そのAPIを呼び出すには、送信ボタンをクリックしてください。 AzureにWebアプリケーションをデプロイしました。

動作しません。それは私に操作をタイムアウト例外を与え続けます。 APIはヒットしません。 API getリクエストはブラウザから動作します。私はAPIでロガーを使用しようとしましたが、ログファイルは空白のままです。

誰でもお手伝いできますか?

EDIT:

私はブラウザ経由で呼び出す、私は以下の取得応答

このXMLファイルは、それに関連するすべてのスタイル情報を持っているように見えていません。ドキュメントツリーを以下に示します。

<ArrayOfMessage xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/ValidationWebApi"> 

<Message> 

<MessageDesc> 

[{"NO":"111","NAME":"Miss Jane ","EXTENSION":"","MOBILE":"","EMAIL_ID":SOME EMAIL ID}] 

</MessageDesc> 

<MessageId i:nil="true"/> 

<WebApiInfo i:nil="true"/> 

<isValid>1</isValid> 

</Message> 

</ArrayOfMessage> 

しかし、私はサイトをホストされているのAzureを通じて呼び出す場合、私はエラーを次取得...

`System.Net.WebException:操作がSystem.Net.WebClient.DownloadDataInternalでタイムアウトした(ウリアドレス

:Test.btnSubmit_Click(オブジェクト送信者、EventArgsのe)の

編集でSystem.Net.WebClient.DownloadString(文字列のアドレス)でSystem.Net.WebClient.DownloadStringで、WebRequestクラス&リクエスト)(ウリアドレス)これがcalleされている方法dがヒットするかどうかを確認するには、次のようにします。 これはボタンのクリックイベントです。私たちはスクリーン上にこの応答を印刷しようとしています。 Getメソッドが使用されます。

string strApi = "https://domain.com/myApiName/Jane"; 
try 
    { 
     using (var client = new WebClient()) 
     { 
     var result = client.DownloadString(strApi); 
     Response.Write(result); 

     } 

}

私はVAR結果ステートメントの例外を取得します。それはいつかそこで待って例外を与えます。

よろしく、 Ashay

+0

どのようにAPIを呼び出しているにコードを追加してください。あなたのWebアプリケーションから。 –

+0

ブラウザでstrApiと同じURLが設定されていますか? –

+0

はい。そのURLをブラウザに入力すると、適切な結果が得られます。 – Ashay

答えて

0

..あなたAPIコントローラにCORS(クロスオリジンのHTTPリクエスト)を有効

おかげ Kasamシェイクを試してみてください

+0

すでに完了しています。しかし動作しませんでした。まだ問題は残っています。 – Ashay

+0

CORSを実装した方法でコードを投稿できますか –

関連する問題