Web服务描述语言(WSDL)是一种基于XML的人类和机器可读语言,用于描述Web服务。它描述了可用的Web服务方法,消息请求和响应结构,可能的故障以及通信和安全要求。此标记不引用任何名为“wsdl”的工具,例如Microsoft的WSDL.EXE。
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 似乎有问题。 详细一点,
java.lang.ClassNotFoundException:com.sun.org.apache.xml.internal.resolver.CatalogManager Java 11
我有一个 JavaFX 应用程序,正在从 Java 8 迁移到 Java 11。 这是一个艰难的过渡,但除了 Web 服务之外,大多数应用程序都在运行。它不断给我以下内容
迁移到 jaxb3/java21 后,获取元素“jxb:bindings”的前缀“jxb”未绑定异常
将服务迁移到 java21 和 jaxb3.0 时,从 wsdl 生成 xjb 文件的类会给出 'org.xml.sax.SAXParseException; XXX 元素“jxb:bindi...”的前缀“jxb”
如何使用 (WSSE) WS-security 制作 WSDL 文件
我需要让 SoapUI 从 WSDL 文件生成以下(预期)xml 请求(注意 wsu + wsse 标识符 + PasswordText) 我需要让 SoapUI 从 WSDL 文件生成以下(预期)xml 请求(注意 wsu + wsse 标识符 + PasswordText) <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ftf="http://mycompany.com"> <soapenv:Header> <wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> <wsse:UsernameToken> <wsse:Username>?</wsse:Username> <wsse:Password Type="?">mypassword</wsse:Password> </wsse:UsernameToken> </wsse:Security> </soapenv:Header> <soapenv:Body> <ftf:DsOfferedRateDeleteReq> <!--Optional:--> <ftf:OfferedRateID>?</ftf:OfferedRateID> </ftf:DsOfferedRateDeleteReq> </soapenv:Body> </soapenv:Envelope> 目前我只能这么做: (see my answer below, because stackoverflow didn't let me post so much code...) 您对如何完成 wsdl 以便形成预期的响应有什么想法吗? 当前 wsdl <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sup="http://mycompany.com" xmlns:req="http://mycompany.com/type/request"> <soapenv:Header> <sup:Security> <UsernameToken> <Username>?</Username> <Password>?</Password> </UsernameToken> </sup:Security> </soapenv:Header> <soapenv:Body> <req:DsOfferedRateDeleteReq> <!--Optional:--> <req:OfferedRateID>?</req:OfferedRateID> </req:DsOfferedRateDeleteReq> </soapenv:Body> </soapenv:Envelope> 我当前的wsdl <?xml version="1.0" encoding="UTF-8"?> <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:wsse="http://support.mycompany.com" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://support.mycompany.com" xmlns:ftf="http://service.mycompany.com" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:request="http://support.mycompany.com/type/request" xmlns:response="http://support.mycompany.com/type/response" targetNamespace="http://support.mycompany.com" name="FTFWS"> <types> <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" soapenv:mustUnderstand="1" targetNamespace="http://support.mycompany.com"> <xsd:complexType name="SecurityHeader"> <xsd:sequence> <xsd:element name="UsernameToken"> <xsd:complexType> <xsd:sequence> <xsd:element name="Username" type="xsd:string"/> <xsd:element name="Password" type="xsd:string"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> <xsd:element name="Security" type="wsse:SecurityHeader"/> </xsd:schema> <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://support.mycompany.com" targetNamespace="http://support.mycompany.com" elementFormDefault="qualified"> <complexType name="ContextData"> <sequence> <element type="xsd:string" name="fromSystem" minOccurs="0" maxOccurs="1" /> <element type="xsd:string" name="toSystem" minOccurs="0" maxOccurs="1" /> <element type="xsd:string" name="sessionId" minOccurs="0" maxOccurs="1" /> <element type="xsd:long" name="processId" minOccurs="0" maxOccurs="1" /> <element type="xsd:language" name="locale" minOccurs="0" maxOccurs="1" /> </sequence> </complexType> <element type="tns:ContextData" name="ContextData" /> <complexType name="OperationFault"> <sequence> <element type="xsd:string" name="faultCode" minOccurs="1" maxOccurs="1" /> <element type="xsd:string" name="faultMessage" minOccurs="1" maxOccurs="1" /> </sequence> </complexType> <element type="tns:OperationFault" name="OperationFault" /> <complexType name="DSCALLFAULT"> <sequence> <element type="xsd:int" name="faultcode" minOccurs="1" maxOccurs="1" /> <element type="xsd:string" name="faultmessage" minOccurs="1" maxOccurs="1" /> </sequence> </complexType> <element type="tns:DSCALLFAULT" name="DSCALLFAULT" /> <complexType name="DSCALLRESPONSE"> <sequence> <element type="xsd:string" name="commandresult" minOccurs="1" maxOccurs="1" /> </sequence> </complexType> <element type="tns:DSCALLRESPONSE" name="DSCALLRESPONSE" /> <complexType name="DSCALL"> <sequence> <element type="xsd:string" name="commandtext" minOccurs="1" maxOccurs="1" /> <element type="xsd:string" name="commanddata" minOccurs="1" maxOccurs="1" /> <element type="tns:ContextData" name="contextdata" minOccurs="0" maxOccurs="1" /> </sequence> </complexType> <element type="tns:DSCALL" name="DSCALL" /> <complexType name="DSCALLASYNC"> <sequence> <element type="xsd:string" name="commandtext" minOccurs="1" maxOccurs="1" /> <element type="xsd:string" name="commanddata" minOccurs="1" maxOccurs="1" /> <element type="tns:ContextData" name="contextdata" minOccurs="0" maxOccurs="1" /> </sequence> </complexType> <element type="tns:DSCALLASYNC" name="DSCALLASYNC" /> <complexType name="Admmoduleinfo"> <sequence> <element type="tns:ContextData" name="ContextData" minOccurs="0" maxOccurs="1" /> </sequence> </complexType> <element type="tns:Admmoduleinfo" name="Admmoduleinfo" /> <complexType name="AdmmoduleinfoRes"> <sequence> <element type="xsd:string" name="PACKAGESYSNAME" minOccurs="1" maxOccurs="1" /> <element type="xsd:string" name="PACKAGENAME" minOccurs="1" maxOccurs="1" /> <element type="xsd:string" name="PACKAGEVERSION" minOccurs="1" maxOccurs="1" /> <element type="xsd:string" name="EXTINTEGRATION" minOccurs="1" maxOccurs="1" /> <element type="xsd:string" name="PACKAGESTATUS" minOccurs="1" maxOccurs="1" /> <element type="xsd:string" name="PACKAGEMONITOR" minOccurs="1" maxOccurs="1" /> <element type="tns:Right" name="PACKAGERIGHTS" minOccurs="1" maxOccurs="unbounded" /> <element type="tns:Group" name="PACKAGEGROUPS" minOccurs="1" maxOccurs="unbounded" /> <element type="tns:Role" name="PACKAGEROLES" minOccurs="1" maxOccurs="unbounded" /> <element type="tns:PackageDescription" name="PACKAGEDESCRIPTION" minOccurs="0" maxOccurs="unbounded" /> </sequence> </complexType> <element type="tns:AdmmoduleinfoRes" name="AdmmoduleinfoRes" /> <complexType name="RoleRightFilter"> <sequence> <element type="xsd:string" name="SYSNAME" minOccurs="1" maxOccurs="1" /> <element type="xsd:string" name="OPERATION" minOccurs="1" maxOccurs="1" /> <element type="xsd:anyType" name="VALUES" minOccurs="0" maxOccurs="unbounded" /> </sequence> </complexType> <element type="tns:RoleRightFilter" name="RoleRightFilter" /> <complexType name="RoleRight"> <sequence> <element type="xsd:string" name="RIGHTSYSNAME" minOccurs="1" maxOccurs="1" /> <element type="tns:RoleRightFilter" name="FILTERS" minOccurs="0" maxOccurs="unbounded" /> </sequence> </complexType> <element type="tns:RoleRight" name="RoleRight" /> <complexType name="Role"> <sequence> <element type="xsd:string" name="ROLESYSNAME" minOccurs="1" maxOccurs="1" /> <element type="xsd:string" name="ROLENAME" minOccurs="1" maxOccurs="1" /> <element type="xsd:string" name="DESCRIPTION" minOccurs="0" maxOccurs="1" /> <element type="tns:RoleRight" name="RIGHTS" minOccurs="0" maxOccurs="unbounded" /> </sequence> </complexType> <element type="tns:Role" name="Role" /> <complexType name="RightFilter"> <sequence> <element type="xsd:string" name="SYSNAME" minOccurs="1" maxOccurs="1" /> <element type="xsd:string" name="OPERATION" minOccurs="0" maxOccurs="1" /> <element type="xsd:string" name="DATASOURCEURL" minOccurs="0" maxOccurs="1" /> </sequence> </complexType> <element type="tns:RightFilter" name="RightFilter" /> <complexType name="Right"> <sequence> <element type="xsd:string" name="RIGHTSYSNAME" minOccurs="1" maxOccurs="1" /> <element type="xsd:string" name="RIGHTNAME" minOccurs="1" maxOccurs="1" /> <element type="xsd:string" name="RIGHTPARENT" minOccurs="0" maxOccurs="1" /> <element type="tns:RightFilter" name="FILTERS" minOccurs="0" maxOccurs="unbounded" /> </sequence> </complexType> <element type="tns:Right" name="Right" /> <complexType name="GroupRightFilter"> <sequence> <element type="xsd:string" name="SYSNAME" minOccurs="1" maxOccurs="1" /> <element type="xsd:string" name="OPERATION" minOccurs="0" maxOccurs="1" /> <element type="xsd:anyType" name="VALUES" minOccurs="0" maxOccurs="unbounded" /> </sequence> </complexType> <element type="tns:GroupRightFilter" name="GroupRightFilter" /> <complexType name="GroupRight"> <sequence> <element type="xsd:string" name="RIGHTSYSNAME" minOccurs="1" maxOccurs="1" /> <element type="tns:GroupRightFilter" name="FILTERS" minOccurs="0" maxOccurs="unbounded" /> </sequence> </complexType> <element type="tns:GroupRight" name="GroupRight" /> <complexType name="Group"> <sequence> <element type="xsd:string" name="GROUPNAME" minOccurs="1" maxOccurs="1" /> <element type="xsd:string" name="DESCRIPTION" minOccurs="1" maxOccurs="1" /> <element type="tns:Group" name="GROUPS" minOccurs="0" maxOccurs="unbounded" /> <element type="tns:Right" name="RIGHTS" minOccurs="0" maxOccurs="unbounded" /> </sequence> </complexType> <element type="tns:Group" name="Group" /> <complexType name="Service"> <sequence> <element type="xsd:string" name="SVCALIAS" minOccurs="1" maxOccurs="1" /> <element type="xsd:string" name="SVCDESC" minOccurs="0" maxOccurs="1" /> </sequence> </complexType> <element type="tns:Service" name="Service" /> <complexType name="Module"> <sequence> <element type="xsd:string" name="MODULENAME" minOccurs="1" maxOccurs="1" /> <element type="xsd:string" name="MODULEDESC" minOccurs="0" maxOccurs="1" /> </sequence> </complexType> <element type="tns:Module" name="Module" /> <complexType name="ServiceMethod"> <sequence> <element type="xsd:string" name="METHODNAME" minOccurs="1" maxOccurs="1" /> <element type="xsd:string" name="METHODDESC" minOccurs="0" maxOccurs="1" /> <element type="xsd:string" name="FINDER" minOccurs="0" maxOccurs="1" /> <element type="tns:Parameter" name="METHODPARAMSIN" minOccurs="0" maxOccurs="unbounded" /> <element type="tns:Parameter" name="METHODPARAMSOUT" minOccurs="0" maxOccurs="unbounded" /> </sequence> </complexType> <element type="tns:ServiceMethod" name="ServiceMethod" /> <complexType name="Parameter"> <sequence> <element type="xsd:string" name="ATTRNAME" minOccurs="1" maxOccurs="1" /> <element type="xsd:string" name="ATTRDESC" minOccurs="0" maxOccurs="1" /> <element type="tns:Parameter" name="ATTRCHILD" minOccurs="0" maxOccurs="unbounded" /> <element type="xsd:string" name="ATTRTYPE" minOccurs="1" maxOccurs="1" /> <element type="xsd:string" name="REQUIRED" minOccurs="0" maxOccurs="1" /> </sequence> </complexType> <element type="tns:Parameter" name="Parameter" /> <complexType name="ObjOperation"> <sequence> <element type="xsd:string" name="OPERNAME" minOccurs="1" maxOccurs="1" /> <element type="xsd:string" name="OPERDESC" minOccurs="0" maxOccurs="1" /> <element type="xsd:string" name="OPERSMETHOD" minOccurs="1" maxOccurs="1" /> </sequence> </complexType> <element type="tns:ObjOperation" name="ObjOperation" /> <complexType name="BObject"> <sequence> <element type="xsd:string" name="OBJSYSNAME" minOccurs="1" maxOccurs="1" /> <element type="xsd:string" name="OBJNAME" minOccurs="1" maxOccurs="1" /> <element type="xsd:string" name="OBJNAMELAT" minOccurs="0" maxOccurs="1" /> <element type="xsd:string" name="OBJDESC" minOccurs="0" maxOccurs="1" /> <element type="xsd:boolean" name="SUPPORTSCLS" minOccurs="0" maxOccurs="1" /> <element type="xsd:boolean" name="SUPPORTSVER" minOccurs="0" maxOccurs="1" /> <element type="xsd:boolean" name="SUPPORTSSTM" minOccurs="0" maxOccurs="1" /> <element type="xsd:boolean" name="SUPPORTSADAT" minOccurs="0" maxOccurs="1" /> <element type="tns:ObjOperation" name="OBJOPERATIONS" minOccurs="0" maxOccurs="unbounded" /> </sequence> </complexType> <element type="tns:BObject" name="BObject" /> <complexType name="PackageDescription"> <sequence> <element type="tns:Module" name="BMODULE" minOccurs="0" maxOccurs="unbounded" /> <element type="tns:Service" name="SERVICE" minOccurs="0" maxOccurs="unbounded" /> <element type="tns:ServiceMethod" name="SERVICEMETHODS" minOccurs="0" maxOccurs="unbounded" /> <element type="tns:BObject" name="BOBJECTS" minOccurs="0" maxOccurs="unbounded" /> </sequence> </complexType> <element type="tns:PackageDescription" name="PackageDescription" /> <complexType name="GetVersion"> <sequence> <element type="tns:ContextData" name="ContextData" minOccurs="0" maxOccurs="1" /> </sequence> </complexType> <element type="tns:GetVersion" name="GetVersion" /> <complexType name="GetVersionRes"> <sequence> <element type="xsd:string" name="Project-Version" minOccurs="1" maxOccurs="1" /> </sequence> </complexType> <element type="tns:GetVersionRes" name="GetVersionRes" /> <complexType name="GetHealthInfo"> <sequence> <element type="tns:ContextData" name="ContextData" minOccurs="0" maxOccurs="1" /> </sequence> </complexType> <element type="tns:GetHealthInfo" name="GetHealthInfo" /> <complexType name="GetHealthInfoRes"> <sequence> <element type="tns:HealthInfoElement" name="Result" minOccurs="0" maxOccurs="unbounded" /> </sequence> </complexType> <element type="tns:GetHealthInfoRes" name="GetHealthInfoRes" /> <complexType name="HealthInfoElement"> <sequence> <element type="xsd:string" name="key" minOccurs="0" maxOccurs="1" /> <element type="xsd:int" name="value" minOccurs="0" maxOccurs="1" /> </sequence> </complexType> <element type="tns:HealthInfoElement" name="HealthInfoElement" /> </xsd:schema> <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:type="http://support.mycompany.com/type" targetNamespace="http://support.mycompany.com/type" elementFormDefault="qualified"> </xsd:schema> <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:request="http://support.mycompany.com/type/request" xmlns:type="http://support.mycompany.com/type" targetNamespace="http://support.mycompany.com/type/request" elementFormDefault="qualified"> <complexType name="DsOfferedRateDeleteReq"> <sequence> <element type="xsd:long" name="OfferedRateID" minOccurs="0" maxOccurs="1"/> </sequence> </complexType> <element type="request:DsOfferedRateDeleteReq" name="DsOfferedRateDeleteReq"/> </xsd:schema> <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:response="http://support.mycompany.com/type/response" xmlns:type="http://support.mycompany.com/type" targetNamespace="http://support.mycompany.com/type/response" elementFormDefault="qualified"> <complexType name="DsOfferedRateDeleteRes"> <sequence> <element type="xsd:string" name="Status" minOccurs="0" maxOccurs="1"/> <element type="xsd:string" name="ReturnMsg" minOccurs="0" maxOccurs="1"/> <element type="xsd:long" name="ReturnCode" minOccurs="0" maxOccurs="1"/> </sequence> </complexType> <element type="response:DsOfferedRateDeleteRes" name="DsOfferedRateDeleteRes"/> </xsd:schema> </types> <message name="SecurityHeader"> <part name="Security" element="wsse:Security"/> </message> <message name="fault"> <part name="fault" element="tns:OperationFault"/> </message> <message name="DSCALLFAULT"> <part name="DSCALLFAULT" element="tns:DSCALLFAULT"/> </message> <message name="DSCALL"> <part name="request" element="tns:DSCALL"/> </message> <message name="DSCALLRESPONSE"> <part name="commandresult" element="tns:DSCALLRESPONSE"/> </message> <message name="DSCALLASYNC"> <part name="request" element="tns:DSCALLASYNC"/> </message> <message name="Admmoduleinfo"> <part name="request" element="tns:Admmoduleinfo"/> </message> <message name="AdmmoduleinfoRes"> <part name="response" element="tns:AdmmoduleinfoRes"/> </message> <message name="GetVersion"> <part name="request" element="tns:GetVersion"/> </message> <message name="GetVersionRes"> <part name="response" element="tns:GetVersionRes"/> </message> <message name="GetHealthInfo"> <part name="request" element="tns:GetHealthInfo"/> </message> <message name="GetHealthInfoRes"> <part name="response" element="tns:GetHealthInfoRes"/> </message> <message name="DsOfferedRateDeleteReq"> <part name="request" element="request:DsOfferedRateDeleteReq"/> </message> <message name="DsOfferedRateDeleteRes"> <part name="response" element="response:DsOfferedRateDeleteRes"/> </message> <portType name="FTFWSPORTTYPE"> <operation name="DSCALL"> <input message="tns:DSCALL" /> <output message="tns:DSCALLRESPONSE" /> <fault name="DSCALLFAULT" message="tns:DSCALLFAULT" /> </operation> <operation name="DSCALLASYNC"> <input message="tns:DSCALLASYNC" /> </operation> <operation name="admModuleInfo"> <input message="tns:Admmoduleinfo" /> <output message="tns:AdmmoduleinfoRes" /> <fault name="fault" message="tns:fault" /> </operation> <operation name="getversion"> <input message="tns:GetVersion" /> <output message="tns:GetVersionRes" /> <fault name="fault" message="tns:fault" /> </operation> <operation name="getHealthInfo"> <input message="tns:GetHealthInfo" /> <output message="tns:GetHealthInfoRes" /> <fault name="fault" message="tns:fault" /> </operation> <operation name="dsOfferedRateDelete"> <input message="tns:DsOfferedRateDeleteReq"/> <output message="tns:DsOfferedRateDeleteRes"/> <fault name="fault" message="tns:fault"/> </operation> </portType> <binding type="tns:FTFWSPORTTYPE" name="FTFWSBINDING"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" /> <operation name="DSCALL"> <soap:operation soapAction="http://support.mycompany.com/DSCALL" /> <input> <soap:body use="literal" /> </input> <output> <soap:body use="literal" /> </output> <fault name="DSCALLFAULT"> <soap:fault use="literal" name="DSCALLFAULT" /> </fault> </operation> <operation name="DSCALLASYNC"> <soap:operation soapAction="http://support.mycompany.com/DSCALLASYNC" /> <input> <soap:body use="literal" /> </input> </operation> <operation name="admModuleInfo"> <soap:operation soapAction="http://support.mycompany.com/admModuleInfo" /> <input> <soap:body use="literal" /> </input> <output> <soap:body use="literal" /> </output> <fault name="fault"> <soap:fault use="literal" name="fault" /> </fault> </operation> <operation name="getversion"> <soap:operation soapAction="http://support.mycompany.com/getversion" /> <input> <soap:body use="literal" /> </input> <output> <soap:body use="literal" /> </output> <fault name="fault"> <soap:fault use="literal" name="fault" /> </fault> </operation> <operation name="getHealthInfo"> <soap:operation soapAction="http://support.mycompany.com/getHealthInfo" /> <input> <soap:body use="literal" /> </input> <output> <soap:body use="literal" /> </output> <fault name="fault"> <soap:fault use="literal" name="fault" /> </fault> </operation> <operation name="dsOfferedRateDelete"> <soap:operation soapAction="http://support.mycompany.com/dsOfferedRateDelete" /> <input> <soap:header message="wsse:SecurityHeader" part="Security" use="literal"/> <soap:body use="literal" /> </input> <output> <soap:body use="literal" /> </output> <fault name="fault"> <soap:fault use="literal" name="fault" /> </fault> </operation> </binding> <service name="FTFWSSERVICE"> <port binding="tns:FTFWSBINDING" name="FTFWSPORT"> <soap:address location="FTFWS" /> </port> </service> </definitions>
目标是创建一个可靠的流程或工具,可以将定义 REST API 的 Swagger 文件转换为适合 SOAP 服务的 WSDL 文件。此转换对于确保