【发布时间】:2016-02-22 21:31:31
【问题描述】:
我的公司在我们的服务器 (2008 R2) 上运行了一项服务,该服务对我们的 Volusion 商店进行 API 调用以获取新订单。该服务将导出的订单转换为 QuoteWerks xml 格式以便在 BusinessWorks 中使用。
我的任务是进行一些更改,现在我正在尝试在我的工作站 (Win7) 上测试该服务。在我的工作站上运行时,我无法使更改后的版本运行,也无法使原始服务正常运行。两个版本都发布了关于 xml 没有根元素的错误。据我所知,这意味着返回的值要么不是 xml,要么实际上什么都不是。在 doc.Load(reader) 上抛出错误:
public static string GetXmlStringFromUrl(string apiUrl)
{
XmlDocument doc = null;
XmlTextReader reader = null;
StringWriter strWriter = null;
XmlTextWriter xmlWriter = null;
try
{
using(WebClient client = new WebClient()) {
string s = client.Download(apiUrl);
EventLogger.WriteToLog(s,EventLogEntryType.Information);
}
reader = new XmlTextReader(apiUrl);
doc = new XmlDocument();
doc.Load(reader);
strWriter = new StringWriter();
xmlWriter = new XmlTextWriter(strWriter);
doc.WriteTo(xmlWriter);
}
我添加了“使用”块来尝试读取返回的值并将它们放入我的事件日志中,然后再抛出错误并查看是否存在格式错误。 URL 有这种格式,我尝试检查错误但没有成功。
http://www.yourdomain.com/net/WebService.aspx?Login=jon_doe@volusion.com &EncryptedPassword=471757EA629DDFD10B75D92A2AD223DFC00AD2E74C1D342B23F3254EC9A4965114351E&SELECT_Columns=*
我的问题是,我能想到的所有可能导致不良回报的事情都不是问题,因为在我进行此更改时,原始服务会继续在服务器上运行。
所以我的问题是,当使用完全相同的代码在另一台电脑上运行的相同服务获得可用结果时,为什么 Windows 服务会从 API 调用中得到任何回报?我应该检查什么来追踪它?
【问题讨论】:
标签: c# .net xml service volusion