简单对象访问协议(SOAP)是用于在Web服务的实现中交换结构化信息的协议规范。
我正在尝试将 Paypal 退款集成到我们的网络应用程序中。我们使用的是经典 API 的非常旧的版本 (v 2.3)。它正在用于授权和捕获付款。这里有一些...
我有一个需要 SenderVouches 身份验证的服务,它适用于基于 CXF 的 Java 应用程序。但现在我们需要集成一个不支持的基于.NET的应用程序
如何使桌面项目自动生成的 WSDL 类似于 Web 服务生成的另一个 WSDL?
这是我在这里潜伏多年以来第一次作为海报。我还将借此机会感谢所有社区多年来一直以来的帮助。谢谢你! 这也是我的...
ADOS .NET:将 SOAP 方法交换为 REST 等效方法
我目前正在将 SOAP 代码交换为 ADOS OnPremise 应用程序的 REST (6.0) 代码。 私有无效SetIntegratedStatusForBranch(ChangesetModel变更集,分支changesetBranch,列表
如何创建一个rest端点,它将接受soap xml文件作为输入并调用soap端点
如何创建一个rest端点,它将接受soap xml文件作为输入,并使用相同的xml调用spring boot肥皂端点并从soap端点返回响应 代码示例片段,ki...
带有 eclipse MOXY JAXBContextFactory 的 Aache-CXF WS 客户端不发送安全标头
我使用 Apache-CXF WS 作为 SOAP 客户端。侧面 SOAP 端点具有安全性(用户名/密码)要求。我还使用 org.eclipse.persistence.eclipselink 来更改 JAXBContextFactory,因为 defa...
如何将连接池与 HttpsUrlConnectionMessageSender 结合使用
我正在尝试使用 Spring WS 发出 Soap 请求。该请求需要跨客户端证书发送到服务器。我已经弄清楚了向服务器发出正确请求的配置...
我正在尝试使用 SOAP API 并且我解决了这个模式 虽然此架构没有显式导入它使用的任何架构 标准模式。即这里 我正在尝试使用 SOAP API,并且我解决了 这个模式 虽然此模式没有显式导入它使用的任何模式 标准模式。即这里 <xs:complexType name="AttributedQNameType" mixed="false"> <xs:simpleContent> <xs:extension base="xs:QName"> <xs:anyAttribute namespace="##other" processContents="lax"/> </xs:extension> </xs:simpleContent> </xs:complexType> 可能不是。 我从未遇到过需要它的系统。通常所需要的只是在根定义 xs 命名空间前缀。例如 <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" ... >
我正在尝试为新的第 3 方服务生成 Java 存根。它之前工作没有问题,但最近他们添加了一个新方法 verifyDataExistence 和 wsdl2java 失败了...
SOAP 的 PHP 数组/对象结构 (WSDL/wsse)
我必须了解如何使用 PHP 生成此示例 WSDL 的结构。 (SoapClient、SoapHeaders) 假设实际输出应该如下所示: 我必须了解如何使用 PHP 生成此示例 WSDL 的结构。 (SoapClient、SoapHeaders) 假设实际输出应该如下所示: <soapenv:Envelope xmlns="http://schemas.xmlsoap.org/1"> <soapenv:Header> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/3"> <wsse:UsernameToken xmlns:wsu="http://schemas.xmlsoap.org/4"> <wsse:Username>name</wsse:Username> <wsse:Password Type="wsse:PasswordText">good_password</wsse:Password> <wsse:UsernameToken> </wsse:Security> </soapenv:Header> <soapenv:Body> <asi:ProcessMsg> <req:Payload> <req:Request> <req:Sub>DATA_1</req:Sub> <req:EID>DATA_2</req:EID> <req:IID>DATA_3</req:IID> <req:Customer FirstName="xxx" LastName="xxx"></req:Customer> <req:Lead LeadMaster="xxx" IntendedRepPer="xxx"></req:Lead> </req:Request> </req:Payload> </asi:ProcessMsg> </soapenv:Body> </soapenv:Envelope> 我尝试了三种不同的结构,但都不起作用 new \stdClass(); new \ArrayObject(); 数组() “new SoapHeader();”的结构 $Security = new \ArrayObject(); $Security['UsernameToken'] = new \ArrayObject(); $Security['UsernameToken']['Username'] = "name"; $Security['UsernameToken']['Password'] = "good_password"; // OR $Security = new \stdClass(); $Security->UsernameToken = new \stdClass(); $Security->UsernameToken->Username = "name"; $Security->UsernameToken->Password = "good_password"; $header = new SoapHeader('http://schemas.xmlsoap.org/ws/2002/07/secext','Security',$Security,false); $soapClient->__setSoapHeaders($header); “$soap_client->ServerMethod("Payload", $soap_request);”的结构: $soap_request = new \ArrayObject(); $soap_request['Payload'] = new \ArrayObject(); $soap_request['Payload']['Request'] = new \ArrayObject(); $soap_request['Payload']['Request']['Sub'] = "xxx"; $soap_request['Payload']['Request']['EID'] = "xxx"; $soap_request['Payload']['Request']['IID'] = "xxx"; $soap_request['Payload']['Request']['Customer'] = new \ArrayObject(); $soap_request['Payload']['Request']['Customer']['_'] = ''; $soap_request['Payload']['Request']['Lead'] = new \ArrayObject(); $soap_request['Payload']['Request']['Lead']['_'] = ''; foreach ($data['x'] as $key => $value) { $soap_request['Payload']['Request']['Customer'][$key] = $value; } foreach ($data['xx'] as $key => $value) { $soap_request['Payload']['Request']['Lead'][$key] = $value; } // OR $soap_request = new \stdClass(); $soap_request->Request = new \stdClass(); $soap_request->Request->Sub = "xxx"; $soap_request->Request->EID = "xxx"; $soap_request->Request->IID = "xxx"; $soap_request->Request->Customer = new \ArrayObject(); $soap_request->Request->Customer['_'] = ''; $soap_request->Request->Lead = new \ArrayObject(); $soap_request->Request->Lead['_'] = ''; foreach ($data['customer'] as $key => $value) { $soap_request->Request->Customer[$key] = $value; } foreach ($data['lead'] as $key => $value) { $soap_request->Request->Lead[$key] = $value; } 我尝试调试结构的事情: echo "FNs:\n" . $soapClient->__getFunctions() . "\n"; echo "REQUEST:\n" . $soapClient->__getLastRequest() . "\n"; echo "REQUEST (htmlent):\n" . htmlentities($soapClient->__getLastRequest()) . "\n"; 我遇到的错误消息: 输入格式不正确或不包含预期数据 调用 PropertySet.GetChild() 失败。 (该属性集没有任何子级。(SBL-EXL-00144)) 实际发送执行: $soap_response = $soapClient->ServerMethod($soap_request); 嗯,我现在真的陷入困境,不知道是否要搜索错误/错误,因为我没有任何“好的”详细错误需要调试。 这是我第一次必须使用 SOAP(将数据发送到服务),也许我完全错了?非常感谢您的帮助。 核心问题: php 内部的结构与所有命名空间是什么样子的, 属性,嵌套元素? 问题在于内置 PHP 函数 SoapHeader 需要提供广泛兼容的 SoapHeader。您可以通过扩展 PHP SoapHeader 类来查看实现。 我使用了 stdClass 对象作为有效负载。并通过将所有属性传递到最深的对象层来获取实际的数据字段。我希望通过我的问题的答案为某人节省一些研究。 安全肥皂头: namespace AppName\TheBundle\Services; use SoapHeader; use SoapVar; class AuthSoapHeaderHelper extends SoapHeader { private $wss_ns = 'http://schemas.xmlsoap.org/.../secext'; private $username = "username"; private $password = "good_password"; function __construct() { $auth = new \stdClass(); $auth->Username = new SoapVar($this->username, XSD_STRING, NULL, $this->wss_ns, NULL, $this->wss_ns); $auth->Password = new SoapVar($this->password, XSD_STRING, NULL, $this->wss_ns, NULL, $this->wss_ns); $username_token = new \stdClass(); $username_token->UsernameToken = new SoapVar($auth, SOAP_ENC_OBJECT, NULL, $this->wss_ns, 'UsernameToken', $this->wss_ns); $security_sv = new SoapVar( new SoapVar($username_token, SOAP_ENC_OBJECT, NULL, $this->wss_ns, 'UsernameToken', $this->wss_ns), SOAP_ENC_OBJECT, NULL, $this->wss_ns, 'Security', $this->wss_ns); parent::__construct($this->wss_ns, 'Security', $security_sv, true); } } SOAP 有效负载: $soap_request = new \stdClass(); $soap_request->Payload = new \stdClass(); $soap_request->Payload->Request = new \stdClass(); $soap_request->Payload->Request->Sub = "DATA_1"; $soap_request->Payload->Request->EID = "DATA_2"; $soap_request->Payload->Request->IID = "DATA_3"; $soap_request->Payload->Request->Customer = new \stdClass(); $soap_request->Payload->Request->Lead = new \stdClass(); foreach ($data['x'] as $key => $value) { $soap_request->Payload->Request->Customer->{$key} = $value; } foreach ($data['xx'] as $key => $value) { $soap_request->Payload->Request->Lead->{$key} = $value; } 这导致了以下 wsdl/xml 结构: <soapenv:Envelope xmlns="http://schemas.xmlsoap.org/1"> <soapenv:Header> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/3"> <wsse:UsernameToken xmlns:wsu="http://schemas.xmlsoap.org/4"> <wsse:Username>username</wsse:Username> <wsse:Password Type="wsse:PasswordText">good_password</wsse:Password> <wsse:UsernameToken> </wsse:Security> </soapenv:Header> <soapenv:Body> <asi:ProcessMsg> <req:Payload> <req:Request> <req:Sub>DATA_1</req:Sub> <req:EID>DATA_2</req:EID> <req:IID>DATA_3</req:IID> <req:Customer FirstName="xxx" LastName="xxx"></req:Customer> <req:Lead LeadMaster="xxx" IntendedRepPer="xxx"></req:Lead> </req:Request> </req:Payload> </asi:ProcessMsg> </soapenv:Body> </soapenv:Envelope>
我通过 SOAP API 使用 Oracle RightNow。 使用 QueryCSV 选项,我可以获得很多信息(例如:关于事件 SELECT * FROM Incident WHERE ...),但我不知道如何获取有关
我能够使用soap UI和post man将请求发送到spring boot肥皂端点,但是在尝试从SAP获取错误500时
我能够使用soap UI和post man将请求发送到spring boot肥皂端点,但是在从SAP尝试时,我收到500错误并在java代码中收到以下错误 SAAJ0511:无法
Spring boot - 服务器无法识别 HTTP 标头 SOAPAction 的值
我想使用jaxb使用肥皂服务。 jaxb 生成的请求是 ...
如何设置soap.createClient和/或client.myFunction的超时?文档中没有提及。如果不可能,有解决办法吗?
如何修复使用默认绑定在 .NET Core 中使用 Web 服务时出现的“TransportBindingElement”错误?
我正在尝试在我的 dotnet core7 项目中使用 Web 服务。 我无权访问该服务本身。 当我尝试调用服务方法时,它返回该错误:
[错误] 文件过早结束。 第 1 行 http://www.w3.org/2005/05/xmlmime [错误] org.xml.sax.SAXParseException;系统ID:http://www.w3.org/2005/05/xmlmime;行号:1;列数:1;提前...
如何在 Vue.js 中调用 SOAP Web 服务器方法?
我用Delphi开发了一个小型独立网络服务器。程序如下: 函数 sum(a,b:string):string;stdcall; 开始 结果:=a+b; 结尾; 我如何在 Vue JS 中调用它? Web 服务 URL 我...
在 wso2 api 管理器网关 https://IPaddr:9443/services 中禁用肥皂
我想禁用在 wso2 api manager 3.2.0 网关中显示肥皂服务。 由于安全风险(肥皂操作欺骗),我不希望出现此页面。如何限制对此页面的访问?
我正在开发一个基于使用gsoap v2.8的网络服务器(FCGI)。 该网络服务器应响应传入的 HTTP GET 请求,但它不工作。 我知道 gsoap 提供了 HTTP 回调
我是 PHP WS 调用的新手。谁能告诉我如何从这个 WS 读取数据。 这是我的代码 $wsdl =“https://test.saljfinans.handelsbanken.se/xml/netxservice.wsdl”; $用户名 = '用户'; $