2017-03-13 7 views
0

"サーバーがプロトコル違反を宣言しました"という有名な例外を扱うのにいくつか問題があります。私は指定されたIPアドレスポートにXML文字列を送信しようとしています。ヒント - トップになるが、この厄介な例外は私の神経に乗っている、私は設定ファイルのようないくつかの修正を読んだが、うまくいかなかった、私はC#の専門家ではないので、ありがとう!uploadString()上の例外

 string xml = "<Login services=\"NetPage\"/>\n" + 
        "<PageRequest pager=\"2;22\" system_id=\"18\"/>"; 
     string url = new UriBuilder("http", ipAddress, 3700).ToString(); 

     using (System.Net.WebClient client = new System.Net.WebClient()) 
     { 
      try 
      { 
       client.UploadString(url, xml); 
      } 
      catch(WebException ex) 
      { 
       throw ex; 
      } 

     } 
+0

要求を処理するコードはどのようなものですか?エラーメッセージは、問題がサーバー上にあることを示します。 –

+0

ああ、それは難しい問題です。それは独自の組み込みデバイスです。私はpostuiでxmlコマンドをテストしたので、今ではアプリケーションでコード化しようとしています – user3533910

+0

ここにいくつかの解決策があります: /stackoverflow.com/a/2482730/4267590 – khargoosh

答えて

0

まず、アップロードを呼び出す前にHTTPコンテンツタイプを正しく設定することです。サーバーは、予期しないコンテンツを取得すると不幸になることがよくあります。

client.Headers.Add("Content-Type","application/xml"); 
client.UploadString(url, xml); 
関連する問題