java - 在 SSL url 上运行 Karate 时如何修复 'Unexpected end of ZLIB input stream' 错误

标签 java ssl apache-httpclient-4.x karate

我正在使用 Karate 进行 Web 服务测试,但在向 SSL URL 发出请求时遇到了问题。我收到以下错误:

错误 com.intuit.karate - java.lang.RuntimeException:java.io.EOFException:ZLIB 输入流的意外结束

我通过调用另一个类生成请求数据并将此数据传递给请求,如下面的代码片段所示。

在 karate-config.js 中,我添加了 karate.configure('ssl', true) 和字符串值的所有其他变体都无济于事。

我正在使用 maven 3.5.3 在 jdk jdk1.8.0_171 上运行 Karate 版本 0.9.0

* def data = Java.type('mdmtests.PersonData').insert('<abs:PersonDetails>', core, queryFields)

* configure headers = { Content-Type: 'text/xml; charset=UTF-8',  Keep-Alive: 'timeout=10, max=1000'}
Given request data
When soap action '"document/http://siebel.com/CustomUI:..."'
Then status 200
* xml soapResponseXml = response
Then match soapResponseXml /Envelope/Body/ListOfPerson/PersonDetails/IdentificationNo == person.SOC_SECURITY_NUM

当我在另一台未启用 SSL 的服务器上运行相同的场景时,请求已成功发送并且我没有收到错误。此外,我可以毫无问题地使用 SOAP UI 向启用 SSL 的 url 发送请求。有什么我想念的吗?

最佳答案

可能很简单,你忘了把 URL 切换成 https://,检查一下。

否则,如果没有更多数据,我很难判断。如果您找不到丢失的东西,请按照以下流程操作:https://github.com/intuit/karate/wiki/How-to-Submit-an-Issue

编辑:看起来这是强加密设置的问题,在我们获得更多详细信息后 - 引用:https://github.com/intuit/karate/issues/672#issuecomment-461364938

你必须自己解决这个问题,除非你能给我们一个复制它的方法 - 确保新文件的权限是正确的,客户端和服务器之间的 SSL 兼容性很好等。

关于java - 在 SSL url 上运行 Karate 时如何修复 'Unexpected end of ZLIB input stream' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54549798/

相关文章:

用于连接 Sharepoint Server 的 Java API

Java:如何更新 Runnable lambda 中使用的变量?

http - WSS 适用于 http?

node.js - nodejs 重用同一服务器的最后一个 TLS 连接

SSL_pending,使用非阻塞套接字读写?

java - 使用HttpClient进行登录认证

java - 使用 apache FTPclient 使用 Collections.sort() 排序和下载文件

java - 为什么内部类的 this$0 字段不是私有(private)的?

java - java中如何保护通过httpclient方法发送的密码

java - 使用 Apache Async Http 客户端进行异步响应流