2012-02-07 4 views
0

XML文書をREST Webサービスに送信しようとしています。 Posterのようなツールを使用すると、コールは正常に動作します(「コンテンツ」の本文にXMLがあります)が、コードではエラー503サーバーが使用できなくなります。ポスターにエラー503の応答でREST Webサービスの結果を呼び出しますが、ポスターのようなツールでは呼び出しません

リンク:https://addons.mozilla.org/en-US/firefox/addon/poster/

私のコードは次のよう(これがそうなどを扱うエラーテストハーネスではありません)です:

string s = ""; 

    using (StreamReader sr = new StreamReader(@"c:\users\dev.admin\documents\visual studio 2010\Projects\WindowsFormsApplication2\WindowsFormsApplication2\XMLFile1.xml")) 
    { 
     s = sr.ReadToEnd(); 
    } 

    string url = FULL_URL_WITH_PARAMETERS; // SAME URL AS USED IN POSTER 

    HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url); 
    request.Method = "POST"; 
    request.ContentType = "text/xml;charset=UTF-8"; 

    string data = s; 

    Stream postStream = null; 

    using (StreamWriter requestStream = new StreamWriter(request.GetRequestStream())) 
    { 

     requestStream.Write(data); 
    } 

    HttpWebResponse pervasiveResponse = (HttpWebResponse)request.GetResponse(); 
    StreamReader sr1 = new StreamReader(pervasiveResponse.GetResponseStream(), System.Text.Encoding.Default); 
    string backstr = sr1.ReadToEnd(); 
} 
else 
{ 
    throw new ArgumentNullException(); 
} 
+1

Fiddlerのようなものを使って発信HTTPリクエストを比較しようとしましたか?これはヘッダー、クッキー、または身体の違いを明らかにする可能性があります – tomfumb

+0

私は時間の制約のためにこれをしませんでしたが、明日に試してみます。コードが正しいことを確認したかっただけです。 – dotnetdev

答えて

0

RESTスターターキット? WCF Web API(Glenn Blockのプロジェクト、現在は4.5時間枠のAppFabric intに含まれていますか?(スタンドアロンが存在するとは思いますが))?自分の関節を回転させる?

にかかわらず、私はバイナリを使って作業するのが正しい方法だと思います。その理由から、私はthis articleのようなものから始めます。私はコードを試して、それが素晴らしい記事だと思ったわけではありませんが、記事がXMLを送信することを示しているだけで、数ヶ月前に書いたクライアントを見つける時間がありません。 ;-)

私のコードを見つけるのに十分な長さでフリーズすることができれば、サンプルを投稿します。

もう1つのツールは、SoapUIです。いいえ、それはREST(および他の方法論)だけでなくSOAPをサポートするので、SOAPをテストするためだけではありません。 SoapUIを使用する利点の1つは、テストをLoadUIに移動してサービスをテストする機能です。サービスを単に消費しているだけなら、もちろん最大の価値はないかもしれません。

関連する問題