- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们(我自己和我的开发团队)对 Elixir 还比较陌生,尤其是在成功地将我们的大部分 API 服务移植到 Elixir 并取得了不错的成果之后。
但是,我们在连接到需要 SSL 客户端证书的上游 SOAP Web 服务时遇到了问题。包装库 detergentex 似乎是唯一真正可用的用于使用 Web 服务的库,但是我找不到在请求中使用客户端 SSL 证书的方法,这是我们的服务提供商所要求的。
我们目前在 Python 中使用 SUDS 来实现这一点,但是移植到 Elixir 将为这些特定请求的并行化带来巨大的好处。
如有任何帮助,我们将不胜感激!
最佳答案
似乎 detergenex 本身不支持它,但它包装的 Erlang 库,detergent , 看起来它会支持它。
函数detergent:call
can be called with an optional fourth argument , 一个 #call_opts{}
记录。此记录在 detergent.hrl 中定义并包含一个名为 http_client_options
的字段.在 detergent.erl 中,这条记录最终被传递给两个 HTTP 客户端之一:它选择 ibrowse如果可用,否则使用 httpc来自内置的 inets 应用程序。
对于 httpc,您可以将 SSL 选项作为 {ssl, [...]}
传递http_client_options
中的元组,而 ibrowse 期望元组为 {ssl_options, [...]}
,因此您需要知道将使用哪种 HTTP 客户端洗涤剂才能传递正确的选项。
SSL 选项在 ssl man page 中描述。 .要设置客户端证书,请传递选项 {certfile, "/path/to/client.cert"}
和 {keyfile, "/path/to/client.key"}
.如果证书和私钥在同一个文件中,可以省略keyfile
选项。
向 detergenex 添加对此的支持应该不难,或者您可以直接从 Elixir 调用 detergent。
关于soap - 带有客户端 ssl 证书的 Elixir SOAP (detergentex),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37743050/
我们(我自己和我的开发团队)对 Elixir 还比较陌生,尤其是在成功地将我们的大部分 API 服务移植到 Elixir 并取得了不错的成果之后。 但是,我们在连接到需要 SSL 客户端证书的上游 S
我是一名优秀的程序员,十分优秀!