soap 相关问题

简单对象访问协议(SOAP)是用于在Web服务的实现中交换结构化信息的协议规范。

Five9 的 API:如何使用 SOAP API 和基本身份验证提取报告

我们正在尝试使用其中的报告 API 从 Five9 的服务器访问数据。我们在下面编写了代码,但没有得到任何结果。对我来说,问题似乎出在 Five9 的身份验证上

回答 3 投票 0

soap xml 响应 xsi:类型值已更改

我们的tomcat webservice响应是soap xml格式。 xsi:type 从 xsi:type="ax235:SearchOutput"> 更改为 xsi:type="ax239:SearchOutput"> 有一天突然。 ns 返回...

回答 1 投票 0

如何从 C# 中删除 XML 上的 <xsi:type="xsd:string">

我正在尝试使用 C# 中的 SOAP 服务,有一个定义为对象的属性,但我无法正确传递它。 如果我在传递 XMLDoc 时导入 System.Xml 并创建 XML。

回答 1 投票 0

在 SOAP UI 中使用动态变量进行 Web 服务负载测试

我需要对 Web 服务进行负载测试,但需要更改每个请求的 SOAP 消息中的字段。 例如: 00001 我需要对 Web 服务进行负载测试,但需要更改每个请求的 SOAP 消息中的字段。 例如: <typ:storeNum>00001</typ:storeNum> <typ:transactionTotal>138</typ:transactionTotal> <typ:requestTime>2014-08-19T09:06:00</typ:requestTime> <typ:ecomTransactionId>920</typ:ecomTransactionId> 在负载测试中,soap 的主体按照 Web 性能测试中定义的场景中的设置提交。 如果我们需要动态设置每个请求的ecomTransactionId标签的字段值怎么办? (我在 MSDN 上读过一些文章,但都是指网站页面负载测试中查询字符串或会话的提取规则) http://msdn.microsoft.com/en-us/library/ff460245(v=vs.110).aspx 所描述的用于查询字符串的技术是您需要执行的操作的基础。 您需要将 ID 的值获取到上下文变量中,将其命名为 ecomTransactionId。完成此操作后,然后通过请求的属性面板编辑 SOAP 主体。预计会在面板的一小块区域中看到很长的字符串,因此可能需要大量滚动。更改属性中的 SOAP 主体以包含以下内容: <typ:ecomTransactionId>{{ecomTransactionId}}</typ:ecomTransactionId> MSDN 文章讨论了提取规则,因为这是查找所需值并将其保存到上下文参数中的常用方法。

回答 1 投票 0

Java SOAP 消息内容类型

我使用maven wsimport 和Java 1.7 生成SOAP 客户端代码。 WSDL 是由客户提供的,我相信它是一个 .NET 支持的 SOAP 服务器。 致电服务后,我不断收到...

回答 1 投票 0

无法确定BusFactory实现类名:java.lang.ClassCastException: class org.apache.cxf.bus.spring.SpringBusFactory

我尝试了一切方法来避免 JBoss cxf 加载 jboss-deployment-struct.xml 中的以下配置。 <

回答 1 投票 0

soap 1.2 消息的 http 标头中应包含什么内容类型?

我有一个问题,我的 xml-da 客户端使用 zsi 2.2.2 库生成看起来像肥皂 1.2 消息的消息,因为我可以看到这一行。 xmlns:soapenv="http://www.w3.org/2003/05/s...

回答 1 投票 0

如何为 .Net 中的 SOAP/WebService 类生成 HTML 文档?

当您在 VisualStudio(VS) 中启动 WebService 项目时,您实际上会看到一些 HTML 文档,但 C# 注释帮助不会将其传递到 HTML。您可以获得描述来...

回答 3 投票 0

如何使用 Visual Studio 2022 .NET 6 中的旧版 SOAP Web 服务

当尝试使用 .NET 6 Framework 项目在 Visual Studio 2022 中对旧版 2.0 Web 引用 ASMX 进行服务引用时,我执行以下步骤: -“添加服务参考”...

回答 1 投票 0

如何使用postman和php发送soap 4.0标头

我想使用 Amadeus API 进行搜索航班。 我购买了企业帐户。 他们向我提供了凭据。 但也许我的请求没有达到他们的终点。 我正在尝试通过邮递员。 ...

回答 2 投票 0

Paypal 沙箱退款交易未显示

我正在尝试将 Paypal 退款集成到我们的网络应用程序中。我们使用的是经典 API 的非常旧的版本 (v 2.3)。它正在用于授权和捕获付款。这里有一些...

回答 1 投票 0

使用 Apache CXF 实施 SOAP“网关”?

我有一个需要 SenderVouches 身份验证的服务,它适用于基于 CXF 的 Java 应用程序。但现在我们需要集成一个不支持的基于.NET的应用程序

回答 1 投票 0

如何使桌面项目自动生成的 WSDL 类似于 Web 服务生成的另一个 WSDL?

这是我在这里潜伏多年以来第一次作为海报。我还将借此机会感谢所有社区多年来一直以来的帮助。谢谢你! 这也是我的...

回答 1 投票 0

ADOS .NET:将 SOAP 方法交换为 REST 等效方法

我目前正在将 SOAP 代码交换为 ADOS OnPremise 应用程序的 REST (6.0) 代码。 私有无效SetIntegratedStatusForBranch(ChangesetModel变更集,分支changesetBranch,列表

回答 1 投票 0

如何创建一个rest端点,它将接受soap xml文件作为输入并调用soap端点

如何创建一个rest端点,它将接受soap xml文件作为输入,并使用相同的xml调用spring boot肥皂端点并从soap端点返回响应 代码示例片段,ki...

回答 1 投票 0

带有 eclipse MOXY JAXBContextFactory 的 Aache-CXF WS 客户端不发送安全标头

我使用 Apache-CXF WS 作为 SOAP 客户端。侧面 SOAP 端点具有安全性(用户名/密码)要求。我还使用 org.eclipse.persistence.eclipselink 来更改 JAXBContextFactory,因为 defa...

回答 1 投票 0

如何将连接池与 HttpsUrlConnectionMessageSender 结合使用

我正在尝试使用 Spring WS 发出 Soap 请求。该请求需要跨客户端证书发送到服务器。我已经弄清楚了向服务器发出正确请求的配置...

回答 2 投票 0

在 XSD 中,您是否必须导入标准架构才能使用它?

我正在尝试使用 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" ... >

回答 1 投票 0

Apache CXF 无法处理重复的本地名称

我正在尝试为新的第 3 方服务生成 Java 存根。它之前工作没有问题,但最近他们添加了一个新方法 verifyDataExistence 和 wsdl2java 失败了...

回答 1 投票 0

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>

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.