0

以下のメソッドを使用して xml リクエストを asmx サービスに送信すると、問題なく動作します。唯一の違いは、コンテンツ タイプがapplication/soap+xml. エラーが表示されます: 400 Bad Request. 以下は、HTTP Post 経由で WCF サービスに要求を送信するために使用している方法です。

private static void SendRequest(string request)
{
    var req = (HttpWebRequest) WebRequest.Create("http://urltoservice.svc");
    req.ContentType = "text/xml";
    req.Method = "POST";

    using (var stm = req.GetRequestStream())
    {
        using (var stmw = new StreamWriter(stm))
        {

            stmw.Write(request);
        }
    }


    byte[] myData;
    using (var webResponse = req.GetResponse())
    {

        var responseStream = webResponse.GetResponseStream();
        myData = ReadFully(responseStream);
    }

    // Do whatever you need with the response
    string responseString = Encoding.ASCII.GetString(myData);
}

次の行に投げているようです: var webResponse = req.GetResponse()

4

2 に答える 2

0

なぜこれが機能するのか分かりません。誰かがそれを説明できれば素晴らしいでしょう。たとえば、URIを機能させるには、メソッド名をURIに追加する必要がありました。

http://urltoservice.svc/MethodToCall

于 2012-06-25T15:21:40.497 に答える
0

呼び出そうとしているサービスの種類は何ですか。それはRESTWCFサービスですか、それともSOAP WCFサービスですか?

Fiddlerを使用してリクエストを監視し、リクエストが機能する場合と機能しない場合の外観を確認できます。

また、サービスでトレースを有効にして、400の不正な要求を受け取る理由を確認します。

于 2012-06-25T15:05:59.943 に答える