Web服务描述语言(WSDL)是一种基于XML的人类和机器可读语言,用于描述Web服务。它描述了可用的Web服务方法,消息请求和响应结构,可能的故障以及通信和安全要求。此标记不引用任何名为“wsdl”的工具,例如Microsoft的WSDL.EXE。
经过几天的持续努力,我完全不明白为什么我无法让 Soap API 用于我的 Magento 安装。 Magento 安装版本是 1.8.1 PHP 版本 5.3 我有一个脚本
通过 Magento SOAP 服务 API 获取特色产品需要哪些操作?
我正在尝试通过 Midomain.com/index.php/api/v2_soap/?wsdl 中的 WSDL 使用 SOAP v2 服务通过 Magento API 获取数据,但我不知道获取数据的确切操作 我正在努力获得“精选
有人知道将 WSDL 转换为 XML 的工具/程序吗? 基本上我只想要一个空的 XML 模板。获得模板后,我可以用数据填充节点。
Magento Soap 错误 - 标签定义第 2 行中数据过早结束
我的客户正在使用 Unleashedsoftware.com 连接到 Magento 商店。但它给出了这个错误。 我的客户正在使用 Unleashedsoftware.com 连接到 Magento 商店。但它给出了这个错误。 <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> <SOAP-ENV:Fault> <faultcode>WSDL</faultcode> <faultstring> SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://www.domain.com/index.php/api/v2_soap/index/wsdl/1/' : Premature end of data in tag definitions line 2 </faultstring> </SOAP-ENV:Fault> </SOAP-ENV:Body> </SOAP-ENV:Envelope> 浏览时 http://www.domain.com/index.php/api/v2_soap/index/ Firebug 给我“500 内部服务错误”。 当我浏览 http://www.domain.com/index.php/api/v2_soap/index/wsdl/1/ 时,我得到了有效的 XML 数据。 我检查了服务器日志文件,看起来是这样的: [Thu Aug 30 22:22:25 2012] [warn] [client 92.92.92.92] mod_fcgid: stderr: in /home/doaminuser/public_html/lib/Zend/Soap/Server.php on line 762 我已经搜索了几天了,今天我尝试将整个网站复制到另一个测试服务器,它似乎有效! 所以这似乎是服务器问题。 请问有人知道可能是什么问题吗? 有没有更好的方法来调试这个问题,任何示例代码或调试技巧。 Magento 版本是 1.6.2 谢谢你。 很多时候,Magento 的 SOAP API 由于 Magento 服务器与其自身通信的问题而失败。 也就是说,PHP 的 SOAP 实现要求 SOAP 服务器本身通过 http 获取 WSDL 文件,而本地网络配置问题会妨碍 Magento 获取自己的 WSDL。 您可以通过 SSH 连接到 Magento 服务器并运行以下命令来调试此问题 curl -l 'http://www.example.com/index.php/api/v2_soap/index/wsdl/1/' > /tmp/wsdl.xml 然后检查 wsdl.xml 文件。 由于您是从网络服务器执行此操作,因此您可能会得到与从本地浏览器执行此操作时不同的结果。 我在调用URL时也遇到了类似的问题 http://www.store.com/index.php/api/v2_soap/?wsdl 一段时间后,我在 apache 错误日志中收到了消息 500 - Internal Server Error 和 Premature end of script headers 消息。 经过一整天的研究,我发现 Apache 模块的 Timeout 指令(在 Linux 环境中的 httpd.conf 中配置)设置为“20”,导致服务器在 20 秒后发送 500 错误。问题是,在我的例子中,Magento 系统需要更长的时间来“爬行”所有 wsdl.xml 文件才能构建 WSDL 输出(如果您使用的是 Magento SOAPv2)。 也许你应该检查你的超时指令..希望有帮助。 “我对此有记忆。对我有用的是将主机名 在服务器上的 /etc/hosts 中加上 127.0.0.1 上的 www 别名但是, 在本例中,服务器位于建筑物中而不是某些地方 ISP 场所和 LAN 上有 Windows 计算机。 Windows 用户有 下载了很多木马病毒色情内容,这些东西花费了 一直在网络上发送垃圾邮件,所以真正的问题在于 网络上的 Windows 计算机,不带有服务器或带有 Magento。 对 PC 进行 fdisking 后,问题就解决了。” 谢谢我在 magento 1.6 和 Windows Server 2008 上为此苦苦挣扎了 2 天,将此行添加到主机文件 (C:\Windows\System32\drivers\etc) 为我解决了这个问题: 127.0.0.1 www.Domain.com 还记得修复您的magento肥皂(角色),因为角色资源不会保存在1.6中,除非您修复此文件: MagentoRoot p
SOAP-错误:解析 WSDL:实体“复制”未定义 Magento
我尝试使用magento网络服务,但是当我尝试调用网络服务时: $proxy = new SoapClient('http://mydomain.com/magento/index.php/api/v2_soap/?wsdl'); 我收到此错误:未捕获的 SoapF...
Magento SOAP API - PHP 登录方法调用引发异常:“看起来我们没有 XML 文档”
我在通过 PHP 的 SoapClient 连接到 Magento SOAP API 时遇到问题。我的开发服务器上有一个小型测试 PHP 文件设置,代码如下: 我在通过 PHP 的 SoapClient 连接到 Magento SOAP API 时遇到问题。我的开发服务器上有一个小型测试 PHP 文件设置,代码如下: <?php $soapC = new SoapClient('http://XXXX.com/api/soap/?wsdl', array('trace'=>true, 'exceptions'=>false)); $session = $soapC->__soapCall('login', array('TestUsr', 'test123')); var_dump($session); ?> PHP 文件与我的 magento 开发版本位于同一服务器上。当我通过命令行运行 php 脚本时,$session 变量输出一个 SoapFault 对象,并显示错误“看起来我们没有 XML 文档”。 不知道如何解决这个问题。当我尝试下面的代码时,我能够打印出所有 API 方法,但由于某种原因,上面的登录方法调用导致了问题。 $soapC = new SoapClient('http://XXXX.com/api/soap/?wsdl', array('trace'=>true, 'exceptions'=>false)); print_r($soapC->__getFunctions()); 这个错误一般说明问题出在服务器端。处理请求的服务器未输出有效的 XML。检查是否没有发生错误或重定向。 如果您在浏览器中访问服务器端点会发生什么? 我意识到问题在于,当服务器尝试访问 wsdl 文件时,Magento 会向店面发出 302 重定向。 为了解决这个问题,我登录到 Magento 管理面板,导航到系统 -> 配置 -> Web,然后关闭“自动重定向到基本 URL”。现在就像一个魅力。 从远程服务器或本地服务器打开您的 php.ini 文件并将 always_populate_raw_post_data 设置为 -1。 之后您需要重新启动 Apache 服务器。 重新启动完成后,请再次运行脚本。
我正在针对两个不同的 Magento Community 1.6.2 安装调用“catalogProductAttributeSetList”,它们以不同的格式返回结果。 服务器1 WSDL:www.indo-pac.biz/api/
在 .htaccess 文件中给出 IP 限制后,由于“无法加载外部实体”,无法连接到 Magento SOAP API v2
我无法使用 PHP 连接到 Magento SOAP API v2。出现的错误是: PHP 致命错误:未捕获 SoapFault 异常:[WSDL] SOAP-错误:正在解析 WSDL:无法从“http://www.
尝试使用 Magento 的 API 时出现 Soap 错误
我正在寻求解决这个问题的帮助,我希望有人给我帮助。错误如下: 致命错误:SOAP-错误:正在解析 WSDL:无法从“http://example.com/index.php...”加载
如何使用 Python 使用 SOAP API。使用 WCF 服务的 Soap API 1.2
我一直在开发一个使用 SOAP API 的项目。我获得了两个网址 (能够使用)并且请求 xml 看起来像这样,它使用 LookupUser_Request。 我一直在从事一个使用 SOAP API 的项目。我获得了两个网址 (能够使用)并且请求 xml 看起来像这样,它使用 LookupUser_Request。 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:stor="http://www.centershift.com/STORE40/"> <soapenv:Header/> <soapenv:Body> <stor:GetSiteDetails> <!--LookupUser_Request--> <stor:LookupUser_Request> <stor:Username>?</stor:Username> <stor:Password>?</stor:Password> <stor:Channel>?</stor:Channel> </stor:LookupUser_Request> <stor:Request> <stor:SiteID> <stor:long>?</stor:long> </stor:SiteID> </stor:Request> </stor:GetSiteDetails> </soapenv:Body> </soapenv:Envelope> Link-2 wsdl 但是对于这个,没有 LookupUser_Request 并且 SOAPUI 生成的 xml 看起来像这样。对于服务GetSiteUnitDataStatus <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:stor="http://www.centershift.com/STORE40/"> <soap:Header/> <soap:Body> <stor:GetSiteUnitDataStatus> <!--Optional:--> <stor:Request> <stor:SiteID>?</stor:SiteID> </stor:Request> </stor:GetSiteUnitDataStatus> </soap:Body> </soap:Envelope> 查看 1 页文档后文档链接。我发现它使用 WCF 进行服务和某种令牌身份验证。我尝试使用的服务是 GetSiteUnitDataStatus 还为服务GetSiteUnitDataStatus提供了示例代码。 链接 //Example //We’ll assume you’ve got a web reference, let’s name it Store, in your Visual Studio project. At this point we need to reference our objects. We’ll need the standard service object, a GetSiteUnitDataStatus_Request request object. We can define and create those like this: // Create a request and response objects StoreServiceClient client = new StoreServiceClient(); GetSiteUnitDataStatus_Request request = new GetSiteUnitDataStatus_Request(); As with every method we need to pass in credentials. We also set up the parameters for our request. client.ChannelFactory.Credentials.UserName.UserName = "user"; client.ChannelFactory.Credentials.UserName.Password = "pass"; client.ChannelFactory.Credentials.SupportInteractive = true; request.SiteID = 123456; //Finally we can call the method and pass across the login object and the request object to retrieve the data. It’s a good idea to do this in a Try Catch block. try { // Call the method that will load the response object UnitTypeStatus[] resp; resp = client.GetSiteUnitDataStatus(request); } catch (Exception ex) { MessageBox.Show(ex.Message); } //Note that if something goes wrong the service will respond with an exception. You’ll want to take a look at that message returned in that exception so it can be debugged. 关于使用 WCF 的 SOAP API 的教程或博客并不多。 我将非常感谢任何帮助我走上正确道路的帮助。 我的代码: import requests import xml.etree.ElementTree as ET import pandas as pd from zeep import Client from zeep.helpers import serialize_object import base64 # SOAP request URL USERNAME='**********' PASSWORD='**********' ORG_ID = 999999 SITE_ID = 9999999999999999 WSDL_URL = "https://slc.centershift.com/store40/StoreService.svc?wsdl" # Create a Zeep client client = Client(wsdl=WSDL_URL) 总的来说,Python 有 3 个用于调用 SOAP 服务的库:suds、suds-jurko 和 zeep。 SUDS是Python 2的库,Python 3安装大概率报错 suds-jurko 是一个用于解决 suds 错误的新库。 所以这里我首先建议你尝试一下使用suds库是否可以解决问题。 对于许多用例来说,SOAP 规范非常糟糕且不明确。这导致许多(较旧的)SOAP 服务器无法正确实现规范(或者以 Zeep 没有预料到的方式实现它们)。 所以我认为这篇文档可以帮助你。 错误报告
我尝试使用这个库https://python-fedex.readthedocs.io/en/latest/installation.html 在发货请求中我有这个: 发货.RequestedShipment.LabelSpecification.LabelFormatType = 'COMMON2D' 什...
我正在使用以下代码来获取结果,但由于某种原因我收到此错误:第 1 行错误:序言中不允许内容。 (第 134 行,文件“Code”)在本例中是 变种
无法使用 WSDL2Java 和 WSSE 生成 Web 服务客户端
我在使用 Axis1.4 中的 WSDL2Java 生成客户端类时遇到问题。 WSDL 包含标头 xmlns:wsse =“http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-...
java.lang.NoClassDefFoundError:javax/xml/bind/annotation/XmlNs
我在 gradle ant.xjc 中遇到以下异常。当它有时它工作得很好 生成(“javax.xml.bind:jaxb-api:2.3.1”)作为依赖项。 任务 ':createWsdlSou...
SOAP-错误:解析架构:无法导入架构。命名空间不得与封闭架构“targetNamespace”匹配
我需要使用之前准备好的 Zend_Soap_Server 和 WSDL 来运行 SOAP 服务器。但是,当我尝试这样做时: $server = new Zend_Soap_Server($wsdlUrl); $server->setClass('Logic_WebService_Test'...
有任何解决方法可以将 PHP SoapClient 与本地 WSDL 文件(非 URI)一起使用吗?
我有一个在 CLI 模式下运行的应用程序,该应用程序既没有也不需要运行本地 httpd。该应用程序使用 SOAP 与 Web 服务提供商进行传出交互。提供...
如何使用gradle从WSDL和XSD生成类,相当于maven-jaxb2-plugin
我想将 Maven2 构建文件切换到 gradle。 使用 gradle 从 WSDL + XSD 生成 java 类似乎没有进一步记录,没有相应的 gradle 插件。 我使用以下
我正在尝试调用此操作 getCountries 但我无法弄清楚读取 WSDL 文件需要哪些参数以及采用哪种结构化方式: http://webservice.nizacars.es/Rentway_WS/
org.xml.sax.SAXParseException.publicId 可访问:模块 java.xml 不会向未命名模块打开 org.xml.sax - JDK17
不确定验证 XML 时实施有什么问题。 我正在尝试将字段的 SAX 异常转换为 json 响应 - 但返回 new Gson().toJson(thi...
使用 glassfish 从 WSDL(来自 Microarea 的意大利 ERP Mago4)生成 Java 工件时出现问题
我已经使用 Microarea 的意大利 ERP Mago4 公开的 Web 服务几年了,来自我的 java 程序。 我正在尝试扩展使用,但 WSDL 似乎有问题。 详细一点,