我正在尝试将Magento1.7与C#应用程序集成。
当我尝试在Visual中使用“”函数时,它会找到服务和所有操作,但是当我单击OK时,它不会生成任何内容。也就是说,Reference.cs文件几乎是空的(只有一行带有命名空间)。
我尝试使用wsdl.exe在命令提示符中生成代理,并得到以下错误:
R2718: wsdl:binding在描述中必须具有与它所引用的wsdl:portType相同的wsdl:操作集。-名称空间'urn:Magento‘上的“catalogProductAttributeRemove”操作portType 'Mage_Api_Model_Server_Wsi_HandlerPortType’没有匹配的绑定。 有关WS基本配置文件v1.1的更多细节,请参见http://www.ws-i.org/Profiles/BasicProfile-1.1.html上的规范。 错误:无法从命名空间'urn:Magento‘导入绑定'Mage_Api_Model_Server_Wsi_HandlerBinding’。-名称空间'urn:Magento‘上的portType 'Mage_Api_Model_Server_Wsi_HandlerPortType’操作有以下语法错误:操作没有匹配的绑定。检查绑定部分中的操作、输入和输出名称是否与PortType部分中的相应名称匹配。
然后,我尝试使用Soap加载相同的wsdl,它运行良好。代理已经生成,我可以在没有任何问题的情况下打电话。
原始的wsdl文件在这里:https://gist.github.com/4514723,但我用一个示例url替换了第6297行。
因此,我的问题是,为什么Soap能够生成代理并进行调用而没有任何问题,但是Visual却不能呢?我怎么才能修好它?

发布于 2013-01-18 01:15:06
见Generate a Web Service Client in WS-I compliance mode。
您需要修改Magento代码,以纠正app\code\core\Mage\Catalog\etc\wsi.xml中符合WSDL的WSDL定义。
与其他.NET/Java工具相比,SOAP可能更容易容忍WSDL中的错误。
https://stackoverflow.com/questions/14288247
复制相似问题