我们正在尝试将我们的 magento 安装与第三方库存管理应用程序(建立在 .net 上)连接起来。但是同步不起作用,第三方告诉我soap api正在返回一个空响应。
我一直在倾听,因为每当我在 PHP 中做任何事情时,API 都可以正常工作。此外库存更新工作正常,但检索订单/发票信息不能(实际上它偶尔会在 1% 的时间里)
由于间歇性的性质,我们认为这一定是网络问题,但经过大量搜索并将 mage::log() 添加到核心 api 文件中,我可以看到连接正在发生,并且响应对象正在创建更多Magento。
所以我的推论是 SOAP API 有问题(我使用的是版本 2)
我已经安装了soapUI并设置了我们的集成,它正确地接收来自WSDL文件的方法,但是当我尝试访问“登录”方法时,我得到一个空响应,即使我输入了不正确的登录详细信息,它也是空的。
soapUI 输出以下错误:
ERROR: 发生错误 [Premature end of Content-Length delimited message body (expected: 267; received: 266],详见错误日志
因此,似乎 http 标头存在问题,某些函数能够返回响应(当然,如果没有登录哈希,它只是无效的,但至少它是一个响应)。从我对 java 和 .net 的(非常有限的)理解来看,它们在这些方面比 php 更严格,这表明为什么 php 集成没有问题。
谁能告诉我为什么会发生这个错误以及如何解决它?