繁体   English   中英

进行XML RPC调用时出现问题

[英]Problem making XML RPC call

我正在尝试隔离一个进行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,主要是为了仅关注代码。

代码是否有任何问题,会阻止进行此调用?

我最终使用了http://www.xml-rpc.net/而不是自己写了。

如果调用writer.Flush();会发生什么? 保存XML之后?

我不确定为什么这不会超时,但是也许不会超时,因为写缓冲是事实,所以没有请求?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM