gpt4 book ai didi

ruby - 与瑞典 BankId 集成时的 SOAP 错误

转载 作者:数据小太阳 更新时间:2023-10-29 09:01:09 24 4
gpt4 key购买 nike

我正在尝试与 BankId 集成(这是瑞典常见的身份验证和签名服务)。我正在使用 Savon Ruby SOAP 客户端并尝试在他们的 guidelines 之后向 BankId 的测试 API 发出请求。调用“身份验证”操作时,出现以下错误:

The given SOAPAction Authenticate does not match an operation

SOAP 请求如下所示:

SOAP request: https://appapi.test.bankid.com/rp/v4
SOAPAction: "Authenticate", Content-Type: text/xml;charset=UTF-8, Content-Length: 384
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rp="http://bankid.com/RpService/v4.0.0/types/" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Body>
<rp:AuthenticateRequest>
<personalNumber>12345678</personalNumber>
</rp:AuthenticateRequest>
</env:Body>
</env:Envelope>

我正在使用以下详细信息创建 session :

代码如下:

> client = Savon.client(wsdl: 'https://appapi.test.bankid.com/rp/v4?wsdl', namespace: 'http://bankid.com/RpService/v4.0.0/types/', endpoint: 'https://appapi.test.bankid.com/rp/v4', ssl_cert_file: "XXXX/cert.pem", ssl_cert_key_file: "XXX/key.pem", ssl_cert_key_password: "qwerty123", pretty_print_xml: true, log_level: :debug, log: true)

> client.call(:authenticate, message: {personalNumber: '12345678'})

我应该提一下,我对使用 SOAP API 不是很熟悉。

最佳答案

我只需要明确说明不需要 soap_action header 。

> client = Savon.client(wsdl: 'https://appapi.test.bankid.com/rp/v4?wsdl', namespace: 'http://bankid.com/RpService/v4.0.0/types/', endpoint: 'https://appapi.test.bankid.com/rp/v4', ssl_cert_file: "XXXX/cert.pem", ssl_cert_key_file: "XXX/key.pem", ssl_cert_key_password: "qwerty123", pretty_print_xml: true, log_level: :debug, log: true)

> client.call(:authenticate, message: {personalNumber: '12345678'}, soap_action: '')

关于ruby - 与瑞典 BankId 集成时的 SOAP 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35428811/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com