0

XML RPC 呼び出しを行っている問題を切り分けようとしています。

XDocument doc = new XDocument();
doc.Add(new XElement("methodCall",
        new XElement("methodName", "send"),
        new XElement("params",
            new XElement("param", new XElement("value", new XElement("string", this.ApiKey))),
            new XElement("param", new XElement("value", new XElement("string", this.FromAddress))),
            new XElement("param", new XElement("value", new XElement("string", recipient))),
            new XElement("param", new XElement("value", new XElement("string", contents)))  
        )
    )
);

HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://urlremoved");
req.ContentType = "text/xml";
req.Method = "POST";

XmlTextWriter writer = new XmlTextWriter(req.GetRequestStream(), Encoding.UTF8);
doc.Save(writer);

HttpWebResponse response = (HttpWebResponse)req.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream());
return reader.ReadToEnd();

これは停止するだけで、タイムアウトすることはありません (req.TimeOut と req.ReadWriteTimeout にタイムアウトを設定しても)。主にコードだけに焦点を当てるために、URL を削除しました。

この呼び出しが行われないようにするコードに何か問題がありますか?

4

2 に答える 2

0

writer.Flush();XML を保存した後に呼び出すとどうなりますか?

なぜこれがタイムアウトしないのかわかりませんが、書き込みがバッファリングされているという事実のためにリクエストが行われていないため、タイムアウトしないのではないでしょうか?

于 2009-06-05T07:30:46.440 に答える
0

自分で書く代わりにhttp://www.xml-rpc.net/を使うことになりました。

于 2009-08-23T18:22:36.257 に答える