SSLException在SoapUI中使用API蓝图创建新项目期间



我正在尝试使用 SoapUI 的 API 蓝图插件。 我已经尝试了 SoapUI 版本 5.1.0、5.1.2 和 Ready!API 1.2.2,结果相同(我组织中的其他人也遇到了同样的问题)。

当我尝试创建类型为"API 蓝图定义 (REST)"的新项目时,在导入阶段,出现以下错误(消息末尾的完整堆栈跟踪):

 javax.net.ssl.SSLException: Received fatal alert: internal_error

我看到在此阶段有一个呼叫 https://api.apiblueprint.org:443,但似乎操作成功。

我尝试向 .vmoptions 文件添加一些属性,正如我在其他一些帖子中看到的那样,但它们没有帮助:

 -Dsun.security.ssl.allowUnsafeRenegotiation=true
 -Dcom.sun.net.ssl.enableECC=false
 -Djsse.enableSNIExtension=false

我不知所措地解释发生了什么,因为日志不是特别有用。

有什么想法吗?

谢谢,伊恩·

   javax.net.ssl.SSLException: Received fatal alert: internal_error
    at sun.security.ssl.Alerts.getSSLException(Unknown Source)
    at sun.security.ssl.Alerts.getSSLException(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.recvAlert(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.writeRecord(Unknown Source)
    at sun.security.ssl.AppOutputStream.write(Unknown Source)
    at org.apache.http.impl.io.AbstractSessionOutputBuffer.flushBuffer(AbstractSessionOutputBuffer.java:159)
    at org.apache.http.impl.io.AbstractSessionOutputBuffer.write(AbstractSessionOutputBuffer.java:179)
    at org.apache.http.impl.conn.LoggingSessionOutputBuffer.write(LoggingSessionOutputBuffer.java:73)
    at org.apache.http.impl.io.ContentLengthOutputStream.write(ContentLengthOutputStream.java:115)
    at org.apache.http.impl.io.ContentLengthOutputStream.write(ContentLengthOutputStream.java:122)
    at org.apache.http.entity.StringEntity.writeTo(StringEntity.java:170)
    at org.apache.http.entity.HttpEntityWrapper.writeTo(HttpEntityWrapper.java:89)
    at org.apache.http.impl.client.EntityEnclosingRequestWrapper$EntityWrapper.writeTo(EntityEnclosingRequestWrapper.java:108)
    at org.apache.http.impl.entity.EntitySerializer.serialize(EntitySerializer.java:117)
    at org.apache.http.impl.AbstractHttpClientConnection.sendRequestEntity(AbstractHttpClientConnection.java:265)
    at org.apache.http.impl.conn.AbstractClientConnAdapter.sendRequestEntity(AbstractClientConnAdapter.java:231)
    at org.apache.http.protocol.HttpRequestExecutor.doSendRequest(HttpRequestExecutor.java:236)
    at com.eviware.soapui.impl.wsdl.support.http.HttpClientSupport$SoapUIHttpRequestExecutor.doSendRequest(HttpClientSupport.java:119)
    at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:121)
    at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:682)
    at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:486)
    at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:863)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:106)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57)
    at org.apache.http.client.HttpClient$execute.call(Unknown Source)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
    at com.smartbear.soapui.blueprint.BlueprintImporter.convertBlueprintToAST(BlueprintImporter.groovy:116)
    at com.smartbear.soapui.blueprint.BlueprintImporter$convertBlueprintToAST.callCurrent(Unknown Source)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:49)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:133)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)
    at com.smartbear.soapui.blueprint.BlueprintImporter.importBlueprint(BlueprintImporter.groovy:62)
    at com.smartbear.soapui.blueprint.actions.BlueprintImporterWorker.construct(BlueprintImporterWorker.java:53)
    at com.eviware.soapui.support.swing.SwingWorkerDelegator.construct(SwingWorkerDelegator.java:46)
    at com.eviware.soapui.support.swing.SwingWorker$2.run(SwingWorker.java:131)
    at java.lang.Thread.run(Unknown Source)

api.apiblueprint.org似乎需要SNI支持,所以你应该尝试相反的方法:

-Djsse.enableSNIExtension=false

Java 7+ 应该支持 SNI,因此 Java 6 可能不受支持。

最新更新