简单对象访问协议(SOAP)是用于在Web服务的实现中交换结构化信息的协议规范。
如何使用 (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>
自动生成使用 SOAP WSDL 的代码时出现“Delphi 错误”
我使用的是Delphi 10.3.2企业版。 我使用 Delphi 的 Importer WSDL 并收到错误: [dcc32 错误] ConsultaRUCDNI.pas(190): E2029 ';', ')' 或 '=' 预期但 ' <' found The WSDL is:
目标是创建一个可靠的流程或工具,可以将定义 REST API 的 Swagger 文件转换为适合 SOAP 服务的 WSDL 文件。此转换对于确保
使用 Salesforce Marketing Cloud (SFMC) 向动态受众发送电子邮件
CMS 中有一个系统,允许用户订阅带有各种术语标记的内容,可用的订阅方法是直接订阅特定产品(其中之一...
Magento SOAP V2 错误(catalogInventoryStockItemList)
我有一个包含一些名为“items_estoque”的产品 SKU 的数组,我从一个名为 dt 的特定数据表中填充了一个循环: Dim items_estoque(0) 作为字符串 对于 dt.R 中的每个 linha 作为 DataRow...
使用 Spring Boot 和 JAXB 的 SOAP 请求命名空间前缀和结构不匹配
我正在开发一个 Spring Boot 项目,我需要使用 SOAP Web 服务。我使用 wsdl2java 生成客户端代码。但是,我在生成的 SOAP 请求消息方面遇到了问题
我正在使用 Exchange 中的 EWS 来处理流通知。因此,我创建了一些订阅,但我忘记保存订阅 ID。 如果我尝试创建一个新的
将简单的 XML 字符串 (SOAP) 解析为 PHP 对象
我在 SOAP API 的响应中得到了下面的 XML 字符串,我想将其转换为对象或数组来使用,所以我尝试了两种方法,DOM 和 simplexml_load_string 但显示为空! 这里...
如何以编程方式针对 Salesforce Marketing Cloud 运行查询
我正在尝试自动从 Salesforce Marketing Cloud(以前称为 Exact Target)内的某些数据扩展中提取数据。 目前,查询 Stud 中正在运行查询...
我想使用肥皂和 php SoapClient 发送以下对象。 我想使用肥皂和 php SoapClient 发送以下对象。 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:adin="http://3e.pl/ADInterface"> <soapenv:Header/> <soapenv:Body> <adin:queryData> <adin:ModelCRUDRequest> <adin:ModelCRUD> <adin:serviceType>ReadSalesOrder</adin:serviceType> <adin:TableName>XX_RV_Interface_Order</adin:TableName> <adin:RecordID>0</adin:RecordID> <adin:Filter></adin:Filter> <adin:Action>Read</adin:Action> <!--Optional:--> <adin:DataRow> <!--Zero or more repetitions:--> <adin:field type="integer" column="C_BPartner_ID" lval="" disp="" edit="" error="" errorVal=""> <adin:val>1000643</adin:val> </adin:field> </adin:DataRow> </adin:ModelCRUD> <adin:ADLoginRequest> <adin:user>username</adin:user> <adin:pass>password</adin:pass> <adin:lang>zh_CN</adin:lang> <adin:ClientID>1000000</adin:ClientID> <adin:RoleID>1000029</adin:RoleID> <adin:OrgID>1000000</adin:OrgID> <adin:WarehouseID>1000023</adin:WarehouseID> </adin:ADLoginRequest> </adin:ModelCRUDRequest> </adin:queryData> </soapenv:Body> </soapenv:Envelope> 我已经尝试过以下方法: $wsdl = 'http://example.com/ModelADService?wsdl'; $client = new SoapClient($wsdl); $result = $client->__soapCall('queryData', array( 'ModelCRUDRequest' => array( 'ModelCRUD' => array( 'serviceType' => 'ReadSalesOrder', 'TableName' => 'XX_RV_Interface_Order', 'RecordID' => 0, 'Filter' => '', 'Action' => 'Read', 'DataRow' => array( 'field' => array( 'type' => 'integer', 'column' => 'C_BPartner_ID', 'lval' => '', 'disp' => '', 'edit' => '', 'error' => '', 'errorVal' => '', 'val' => 1000643, ) ) ), 'ADLoginRequest' => array( 'user' => 'username', 'pass' => 'password', 'lang' => 'zh_CN', 'ClientID' => 1000000, 'RoleID' => 1000029, 'OrgID' => 1000000, 'WarehouseID' => 1000023, 'stage' => '', ), ), )); var_dump($result); 致命错误:未捕获的 SoapFault 异常:[soap:Client] 参数 ModelCRUDRequest 不存在! 之前必须初始化 SOAP Client $client = new SoapClient($wsdl); 您的问题不在于肥皂调用,而在于您发送或接收肥皂的数据。肥皂令人沮丧,因为您正在调用另一台服务器上的函数,并且该服务器上引发的任何错误都会在您的服务器上触发。所以如果他们的函数有致命错误,你的代码也会有致命错误。这就是为什么所有肥皂调用都必须在 try catch 内。 你能解决这个问题吗?我也有同样的问题
如何在不设置系统范围属性的情况下使用 HTTP 代理来处理 JAX-WS 请求?
我有一个应用程序需要向 Internet 上的系统发出 SOAP 客户端请求,因此它需要通过我们的 HTTP 代理。 可以通过设置系统范围的值(例如 system
我有点脱离了自己的舒适区。我正在尝试使用 PHP 创建 SOAP 请求,并且使用著名的 KBO API,以下是文档: https://economie.fgov.be/sites/default/files/Fi...
我正在实现 WCF 服务来替换现有的 SOAP 服务。访问此服务的客户端无法更改(除了指向新服务器的配置)。 当响应方法时...
带有 NodeJS 的 SOAP - req.then 不是一个函数
我有一个旧应用程序正在经历升级过程(服务器硬件/操作系统、NodeJS + 模块、SQL 服务器等)。 该应用程序具有 SOAP 的 2FA。为此我使用了这个模块。 现在我有你...
从 .NET Core 将 XML 数据发布到 REST 端点
我有一个外部用户正在尝试通过 SOAP(XML 格式)将数据 POST 到我的端点。但是,我的代码是 .NET 6 REST APi。我将 XML 有效负载转换为一个类并设法生成...
如何确定 InclusiveNamespaces 元素的 PrefixList 属性的值
签署 SOAP 请求时,我应该如何确定需要在 InclusiveNamespaces 元素的 PrefixList 属性中列出哪些值? 我正在努力确保我所设定的...
我正在尝试从具有许多子项的 SOAP 文件(XML 格式)中提取数据。 XML_find_all 是一个从复杂结构中获取数据的好函数。然而错过了却无法归还...
我有一个使用 TBA 通过 SuiteTalk 连接到 NetSuite 实例的应用程序。生成了消费者 ID 和令牌 ID,使用了“https://webservices.netsuite.com/wsdl/v2024_1_0/ne...
使用 SOAP 的 Servicestack 身份验证命名空间
我在使用 SOAPUI 向我的 ServiceStack API 发送身份验证请求时收到此错误。 期望来自命名空间“http://schemas.servicestack.net/types”的元素“Authenticate”..遇到...
Wildfly 的 JAXWS 实现似乎忽略了 bindingProvider 属性 com.sun.xml.ws.transport.https.client.SSLSocketFactory
我的环境是 Maven 项目和 Wildfly (8.2.1) 作为应用程序服务器。我需要的是使用 SOAP 将传入的 REST 调用连接到第三方服务器。我需要 SSL 客户端身份验证;