带C#的Magento SOAP API V2:需要HTTP身份validation的存储问题

修订过的问题
我修改了原始问题(如下所示),以便我可以将问题的一部分标记为已回答。 所以这里是:
我已经建立了一个工具来从客户商店(magento)导入销售订单,以便集成到我们的旧订单处理系统中。 我有五个商店要从中导入。 其中一个在其商店中设置了HTTP身份validation,因此我的API登录失败。 我如何通过这个?

原始问题(标题:使用C#从Magento导入销售订单:XML文档中存在错误(2,372)):

我已经建立了一个工具来从客户商店(magento)导入销售订单,以便集成到我们的旧订单处理系统中。 我有五个商店要从中导入。 三个工作正常。

  • 问题1:第四个存储在执行salesOrderList()调用时抛出此exception:

    System.Xml.dll中发生了’System.InvalidOperationException’类型的第一次机会exception

    XML文档中存在错误(2,372)。

    登录成功,我能够枚举属性值等。但是我无法使用任何filter运行salesOrderList()函数(也是null )。 如果有人有这方面的经验并且可以指出我正确的方向,那将是很棒的。

  • 问题2:第五个商店具有访问其主要magento页面的HTTP授权 。 我只使用过API用户名和API密钥。 但看起来我必须跨越HTTP授权障碍才能进入API登录阶段。 magento Web服务的Login()函数仅使用API​​用户名和API密钥。 不确定如何处理额外的HTTP身份validation层。 有人可以帮忙吗?

这种情况经常发生,你很幸运,这是你第一次遇到这个问题。

你可以做的是使用fiddlervalidation你为什么收到一个糟糕的XML格式,因为.NET只解析它并看到Magento没有发送任何值得尝试的东西,因为它被错误地创建了。

通常,您最终会解析来自Magento的原始响应,因为它更安全,或者使用XmlRpc调用。

但是现在,检查你有多个要测试,fiddler中的响应之间的差异。

关于身份validation,您需要向主机询问凭据,并将其作为服务对象的正确属性中的新NetworkCredentials对象添加到您的请求中。