【发布时间】:2015-08-14 17:14:46
【问题描述】:
我正在使用这个 Wombat API - WAPI (link),它建立在 twisted 和 SOAP 之上,以启用加密的客户端-服务器通信,主要用于共享大型数据集。
WAPI 非常易于安装和开始使用,因为它包含示例客户端和服务器代码(文件:wapi_client.py 和 wapi_server.py)。
我设法使用来自 openssl 的 CA 创建了一个简单的数据集“mydataset”和所需的 SSL 证书:
- ca_cert.pem,
- server_cert.pem,
- client_cert.pem.
使用前 2 个证书,我运行 wapi_server(在 127.0.0.1:8080 上)没有问题并得到以下输出:
> python wapi_server.py
> setting up WAPI server!
> adding dataset mydataset
> launching dataset-specific initialization code
> registered object simulation (2 methods,0 refs)
> registered object dataset (0 methods,1 refs)
> dataset successfully initialized
> activating SSL support
> activating SSL support
> enabling SSL client authentication
> entering in twisted loop!
然后使用证书 1 和 3 我运行 wapi_client(在同一台机器上使用 127.0.0.1:8080)但我收到以下错误:
> python wapi_client.py
> registering dataset mydataset -> http://127.0.0.1:8080/
> entering into main thread loop
> running reactor..
> testing dataset availability
> SOAP call get_attributes
> blocking and waiting for object completion
> something went wrong: [Failure instance: Traceback (failure with no frames): <class 'twisted.internet.error.ConnectionDone'>: Connection was closed cleanly.]
> object completed
> mydataset : ERROR
> 0 datasets are available
> getting out of main loop
我不明白这个错误。我认为是因为以下原因之一:
- 服务器没有响应
- 认证失败(证书使用有误)
如何检查我的身份验证是否有效以及如何检查服务器是否响应?
【问题讨论】:
-
这不是一个关于 Twisted 的问题,而是一个关于 WOMBAT 的问题。我开始研究如何为您回答这个问题,但没有更多信息(例如,一个按照您拥有它们的方式设置事物的脚本),我不确定如何继续。
-
@Glyph 非常感谢!无论如何,我找到了解决问题的方法,我只是忘了在这里发布。客户端有一个配置文件,其中目标地址的类型应为:https://
: / 。这解决了问题。 -
感谢您使用 Twisted,感谢您跟进您的回答!