soap 相关问题

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

SOAP/XML 请求在 SOAP UI 中工作正常,但在 Postman 或 CURL 上出现错误

我有一个以下 XML 请求,它在 SOAP-UI 中工作正常,但当我在 POSTMAN 上运行时相同的请求(即使标头相同)给出以下错误 SOAP 请求无效。 同样,我尝试了...

回答 1 投票 0

目前有什么方法可以确定我的 HTTP SOAP API 的客户端吗?

我知道通过 HTTP 连接时,用户代理很容易被伪造。我想确保仅从 iPhone 设备访问我的 SOAP API。我们不知道届时会有多少用户使用它

回答 3 投票 0

在 WooCommerce 产品创建中通过肥皂自动插入产品

我有一个计费程序,为了将该程序连接到我在 WordPress 中的在线商店,我使用了一个插件,但现在我被要求进行以下更新: 每当我们在 woocom 上创建产品时...

回答 1 投票 0

如何在 Soap Request Java 中设置标头

我在形成 SOAP 请求时遇到问题。 在该请求中,我应该在标头部分而不是有效负载部分中添加用户名、密码和一些其他信息。 在 wsdl 的条目下面 我在形成 SOAP 请求时遇到问题。 在该请求中,我应该在标头部分而不是有效负载部分中添加用户名、密码和其他一些信息。 wsdl 条目下方 <wsdl:message name="InputUploadCustomerDocument_Headers"> <wsdl:part name="DocumentType" element="tns:DocumentType"/> <wsdl:part name="FileName" element="tns:FileName"/> <wsdl:part name="Password" element="tns:Password"/> <wsdl:part name="PinNo" element="tns:PinNo"/> <wsdl:part name="UserName" element="tns:UserName"/> </wsdl:message> <wsdl:message name="ReturnUploadCustomerDocument"> <wsdl:part name="parameters" element="tns:ReturnUploadCustomerDocument"/> </wsdl:message> <wsdl:operation name="UploadCustomerDocument"> <soap:operation soapAction="http://tempuri.org/ISend/UploadCustomerDocument" style="document"/> <wsdl:input name="InputUploadCustomerDocument"> <soap:header message="tns:InputUploadCustomerDocument_Headers" part="DocumentType" use="literal"/> <soap:header message="tns:InputUploadCustomerDocument_Headers" part="FileName" use="literal"/> <soap:header message="tns:InputUploadCustomerDocument_Headers" part="Password" use="literal"/> <soap:header message="tns:InputUploadCustomerDocument_Headers" part="PinNo" use="literal"/> <soap:header message="tns:InputUploadCustomerDocument_Headers" part="UserName" use="literal"/> <soap:body use="literal"/> </wsdl:input> <wsdl:output name="ReturnUploadCustomerDocument"> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> 下面的InputUploadCustomerDocument Java文件,该文件没有用户名,密码和其他字段,我需要在reuqest之前设置这些参数 @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { "fileData" }) @XmlRootElement(name = "InputUploadCustomerDocument") public class InputUploadCustomerDocument { @XmlElement(name = "FileData", required = true) protected byte[] fileData; /** * Gets the value of the fileData property. * * @return * possible object is * byte[] */ public byte[] getFileData() { return fileData; } /** * Sets the value of the fileData property. * * @param value * allowed object is * byte[] */ public void setFileData(byte[] value) { this.fileData = value; } } 这是我需要调用的函数 @WebMethod(operationName = "UploadCustomerDocument", action = "http://tempuri.org/ISend/UploadCustomerDocument") @WebResult(name = "ReturnUploadCustomerDocument", targetNamespace = "http://tempuri.org/", partName = "parameters") @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE) public ReturnUploadCustomerDocument uploadCustomerDocument( @WebParam(name = "InputUploadCustomerDocument", targetNamespace = "http://tempuri.org/", partName = "parameters") InputUploadCustomerDocument parameters); 有人可以帮助我如何设置这些标题吗? 您可以使用下面的行在发出请求之前添加标头,因为您使用的是 JAX-WS: SOAPHeader header = envelope.addHeader(); 有很多教程可以参考。转到 google 并搜索消费 SOAP Web 服务。这是一个这样的教程,您可以参考: http://www.javadb.com/using-a-message-handler-to-alter-the-soap-header-in-a-web-service-client/ 这是您可以使用的另一个很好的例子: https://soa2world.blogspot.com/2009/05/direct-web-service-client-using-java.html 希望这有帮助。

回答 1 投票 0

org.w3c.dom.DOMException:NAMESPACE_ERR:从 Java8 迁移到 Java17

我们有两个有一定用途的应用程序 一个应用程序是基于 Eclipse GUI 的桌面 UI 应用程序 - 使用 Java8 和 Eclipse Ganymede 最近从...迁移的第二个应用程序

回答 1 投票 0

如何在nestjs-soap中记录XML正文

我尝试发送请求的API是http://www.dneonline.com/calculator.asmx 我将其导入到我的模块中 进口:[ SoapModule.forRoot({ 客户端名称:process.env.APP_NAME, 乌里:p...

回答 1 投票 0

org.xml解析 XML.sax.SAXParseException 时出现异常:元素的内容必须由格式良好的字符数据或标记组成

我正在从 WSDL 文件形成的处理程序中发送一个查询,它什么也没有 但如果我们无权访问数据库则执行查询。 该处理程序只有一个 xml 标签,我们必须在其中

回答 1 投票 0

NodeJS 中 SOAP 服务的 XML 签名和加密

我需要在 NodeJS 中创建一个逻辑,允许对通信 SOAP 的 XML 进行签名和加密。 在标签标头中,其内容中应包含哪些值 我需要在 NodeJS 中创建一个逻辑,允许对通信 SOAP 进行签名和加密 XML。 在标签标头中,其内容中应包含哪些值 <soap:Header> <wsse:Security> <ds:DigestValue> <ds:Signature> <ds:SignedInfo> <ds:Reference> <ds:DigestValue>...</ds:DigestValue> </ds:Reference> </ds:SignedInfo> <ds:KeyInfo> <wsse:SecurityTokenReference> <wsse:KeyIdentifier>...</wsse:KeyIdentifier> </wsse:SecurityTokenReference> </ds:KeyInfo> <ds:SignatureValue>...</ds:SignatureValue> </ds:Signature> </wsse:Security> </soap:Header> 如何了解每个标签的含义或者如何在 NodeJS 中为这些标签生成相应的内容? 我试过这个 对于DigestValue: function calculateDigest(xmlContent) { const hash = crypto.createHash('sha256'); hash.update(xmlContent); return hash.digest('base64'); } 对于SignatureValue: function signDigest(digest, privateKey) { const signer = crypto.createSign('RSA-SHA256'); signer.update(digest); return signer.sign(privateKey, 'base64'); } 对于KeyIdentifier: function generateKeyIdentifier(certPem) { const certDer = Buffer.from(certPem.replace(/(-----(BEGIN|END) CERTIFICATE-----|\n)/g, ''), 'base64'); return crypto.createHash('sha256').update(certDer).digest('base64'); } 它可以工作,但我不确定,因为外部服务器给了我一个 500 错误 很难详细说明,因为这完全取决于您的需求以及您需要使用的加密、摘要和转换算法。在过去的几个月里,我不得不自己处理 XML 加密和签名问题。对我最有用的资源如下: xmlenc:W3C 的“XML 加密语法和处理版本 1.1”标准。本文档非常详细地描述了如何执行 XML 加密。这是确保加密互操作性必须遵循的标准。 xmldsig:W3C 的“XML 签名语法和处理版本 1.1”标准。与之前的资源相同,但用于 XML 签名。 xml-crypto:一个可以处理 XML 签名的 NPM 包。它支持许多算法,我目前正在使用它来签署我自己的文档。 xml-加密:提供 xmlenc 实现的 NPM 包。这是一个相当旧的库,我实际上并没有使用,但是浏览代码并了解它如何处理 XML 加密对于弄清楚如何实现我自己的加密功能非常有帮助。 node-forge:一个 NPM 包,是 NodeJS 中内置加密模块的替代品。如果你的功能可以用普通加密来实现,我会避免使用它,但它似乎确实有一些目前加密 API 不支持的功能,所以如果你遇到困难,值得看看它 soap:处理 SOAP 的 NPM 包。我没有将 SOAP 用于我自己的解决方案,因此我的理解有限,但我认为这是最流行的 SOAP 包。

回答 1 投票 0

API:QueueAccess (SOAP):“列表”元素中允许的属性

我正在尝试显示某个队列中 PNR 的详细信息,但不确定“List”元素中接受的属性是否允许我接收它们。 到目前为止,我知道...

回答 1 投票 0

XML 摘要值不正确

描述 我正在尝试计算 XML 数字签名的摘要值。问题是我无法计算出正确的摘要值。 出于测试目的,我使用了一个示例请求......

回答 1 投票 0

在 JavaScript 中为 SOAP 服务对 XML 进行签名和加密

我需要在 JavaScript 中创建一个逻辑,允许对 SOAP 通信的 XML 进行签名和加密。 在标签标头中,其内容中应包含哪些值 我需要在 JavaScript 中创建一个逻辑,允许对通信 SOAP 进行签名和加密 XML。 在标签标头中,其内容中应包含哪些值 <soap:Header> <wsse:Security> <ds:DigestValue> <ds:Signature> <ds:SignedInfo> <ds:Reference> <ds:DigestValue>...</ds:DigestValue> </ds:Reference> </ds:SignedInfo> <ds:KeyInfo> <wsse:SecurityTokenReference> <wsse:KeyIdentifier>...</wsse:KeyIdentifier> </wsse:SecurityTokenReference> </ds:KeyInfo> <ds:SignatureValue>...</ds:SignatureValue> </ds:Signature> </wsse:Security> </soap:Header> 如何了解每个标签的含义,或者如何在 JavaScript 中为这些标签生成相应的内容? 我试过这个 对于摘要值 function calculateDigest(xmlContent) { const hash = crypto.createHash('sha256'); hash.update(xmlContent); return hash.digest('base64'); } 对于签名值 function signDigest(digest, privateKey) { const signer = crypto.createSign('RSA-SHA256'); signer.update(digest); return signer.sign(privateKey, 'base64'); } 对于密钥标识符 function generateKeyIdentifier(certPem) { const certDer = Buffer.from(certPem.replace(/(-----(BEGIN|END) CERTIFICATE-----|\n)/g, ''), 'base64'); return crypto.createHash('sha256').update(certDer).digest('base64'); } 它可以工作,但我不确定,因为外部服务器给了我一个 500 错误 很难详细说明,因为这完全取决于您的需求以及您需要使用的加密、摘要和转换算法。在过去的几个月里,我不得不自己处理 XML 加密和签名问题。对我最有用的资源如下: xml-crypto:一个可以处理 XML 签名的 NPM 包。它支持许多算法,我目前正在使用它来签署我自己的文档。 xml-加密:提供 xmlenc 实现的 NPM 包。这是一个相当旧的库,我实际上并没有使用,但是浏览代码并了解它如何处理 XML 加密对于弄清楚如何实现我自己的加密功能非常有帮助。 node-forge:一个 NPM 包,是 NodeJS 中内置加密模块的替代品。如果你的功能可以用普通加密来实现,我会避免使用它,但它似乎确实有一些目前加密 API 不支持的功能,所以如果你遇到困难,值得看看它 xmlenc:W3C 的“XML 加密语法和处理版本 1.1”标准。本文档非常详细地描述了如何执行 XML 加密。这是确保加密互操作性必须遵循的标准。 xmldsig:W3C 的“XML 签名语法和处理版本 1.1”标准。与之前的资源相同,但用于 XML 签名。 soap:处理 SOAP 的 NPM 包。我没有将 SOAP 用于我自己的解决方案,因此我的理解有限,但我认为这是最流行的 SOAP 包。

回答 1 投票 0

解组响应肥皂请求时出现问题

当我尝试通过soap请求调用另一个服务时遇到问题,第三方服务上的逻辑工作正常,但我无法解析响应 (XmlSubmitResponse)webServiceTemplate。

回答 1 投票 0

将 API 令牌放入 SOAP 标头以支持专业版

我们的应用程序已成功通过安全审查和应用程序交换。该应用程序使用元数据API来创建远程站点设置,但专业版不支持元数据API。我们有

回答 1 投票 0

如何在 SUDS (python) 中向结构添加元素?

我创建结构 AccountAssignment 客户端 = suds.client.Client(url) accountAssignment = client.factory.create('AccountAssignment') 打印帐户作业 我得到以下结果: (

回答 1 投票 0

使用 ZkLibrary PHP 从考勤设备获取AttLog 数据(解决方案 C1)

我目前正在开发一项功能,使用 ZkLibrary 从 Solution C1 考勤机检索考勤日志数据。我正在使用 LARAGON 并启用了 SOAP 和 SOCKET 扩展...

回答 2 投票 0

如何在 C 程序中为请求/响应创建 SOAP 客户端

我有一个 C 程序,需要发送连续的请求并从 SOAP 服务器接收响应。 我应该将 C 程序包装到 C++ 类中并执行 C# 接口吗? 或者有没有办法编码...

回答 1 投票 0

我不知道如何在这个 SOAP API 的主体中传递参数

我仍然是相对较新的 SOAP API,我的任务是尝试找出如何将 WSAPI 用于 Vertafore 的 AMS360 应用程序。以下是他们文档的一些链接: API概述

回答 1 投票 0

InternalHttpClient 无法转换为 HttpClient

我已经使用 WSDL2Java 命令生成了 axis2 客户端存根并尝试调用第三方 Web 服务。 我在控制台中看到此错误: java.lang.ClassCastException:类 org.apache.http.impl.client。

回答 1 投票 0

如何使用nodejs多次签署SOAP请求

我是 SOAP 新手,我需要在这里使用它。 我正在尝试向外部端点发送 SOAP 请求。 为了让它工作,我必须使用证书多次签署 SOAP 请求并加密......

回答 1 投票 0

WCF 使用 MessageInspector 拦截消息

我正在编写一个 WCF 服务(.NET Framework),该服务应该充当向其发送消息的客户端的提供者(仅限单向通信)。服务必须使用...进行通信

回答 1 投票 0

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