Magento的API不Wsdl.exe用工作,但用肥皂UI作品(Magento API not w

2019-10-17 13:42发布

我试图Magento的1.7与C#应用程序集成。

当我试图使用Visual Studio中的“添加服务引用”功能,它找到的服务和所有的操作,但是当我点击OK,它不会产生任何东西。 即Reference.cs文件几乎是空的(只与命名空间一行)。

我试着使用Wsdl.exe用生成在命令提示符代理,我得到了以下错误:

R2718:中的wsdl:一个说明binding必须具有相同的组wsdl:作为操作的wsdl:portType的其所引用。 - 操作从命名空间的portType“Mage_Api_Model_Server_Wsi_HandlerPortType” catalogProductAttributeRemove“金塔:Magento的”没有匹配的绑定。

有关WS-I Basic Profile的1.1版的详细信息,请参阅规范http://www.ws-i.org/Profiles/BasicProfile-1.1.html 。

错误:无法从命名空间导入绑定“Mage_Api_Model_Server_Wsi_HandlerBinding“金塔:Magento的”。 - 从命名空间的端口类型“Mage_Api_Model_Server_Wsi_HandlerPortType”操作'catalogProductAttributeRemove“金塔:Magento的”有以下语法错误:操作没有匹配的绑定。 检查操作,输入和输出的名字在绑定节比赛用的PortType部分相应的名称。

然后我用肥皂UI加载同一个WSDL尝试,它工作正常。 生成代理,我可以没有任何问题的电话。

原来的WSDL文件是在这里: https://gist.github.com/4514723除了我已经取代了线6297用一个例子网址。

所以我questsion就是为什么是肥皂UI能够生成代理和拨打电话没有任何问题,但Visual Studio不能? 我怎样才能解决这个问题?

Answer 1:

见产生WS-I兼容模式Web服务客户端 。

您将需要修改你的Magento代码纠正WS-I兼容在WSDL定义app\code\core\Mage\Catalog\etc\wsi.xml

相比其他.NET / Java工具的SOAP UI可能是在WSDL中更加宽容失误。



文章来源: Magento API not working with wsdl.exe but works with Soap UI