- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试从服务创建基于 WSDL 的代理。此服务在已配置为仅接受使用 TLSv1.2 的安全连接的 tomcat 服务器中运行。并且该服务位于运行 wso2server 的内部网之外。
当我在基于 WSDL 的代理模板中测试 wsdl uri 时出现问题,启动系统时出现以下警报:“无效的 WSDL URI(无法建立连接)”。我不得不说 wso2esb 与外部有连接,问题不在于访问这个 url,因为:
根据失败的安全 wsdl URL 的浏览器连接信息,我得到连接 TLS 协议(protocol)是 1.2,密码是:TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
更多有用信息:
来自 CARBON_HOME/repository/conf/tomcat /catalina-server.xml:
的 Tomcat 连接器配置
<Connector protocol="org.apache.coyote.http11.Http11NioProtocol"
port="8888"
bindOnInit="false"
sslProtocol="TLS"
sslEnabledProtocols="TLSv1,TLSv1.1,TLSv1.2"
maxHttpHeaderSize="8192"
acceptorThreadCount="2"
maxThreads="250"
minSpareThreads="50"
disableUploadTimeout="false"
enableLookups="false"
connectionUploadTimeout="120000"
maxKeepAliveRequests="200"
acceptCount="200"
server="WSO2 Carbon Server"
clientAuth="false"
compression="on"
scheme="https"
secure="true"
SSLEnabled="true"
compressionMinSize="2048"
noCompressionUserAgents="gozilla, traviata"
compressableMimeType="..."
URIEncoding="UTF-8" />
也许我在 wso2server 配置中遗漏了什么?
更新问题:
将 SSL 证书的公共(public)部分安装到 ESB 信任库后,我可以毫无问题地基于已发布的 WSDL 创建代理服务,并且我可以通过 ESB 请求 WSDL 模板。但是我认为还没有完全解决的问题:
尝试使用 SoapUI 服务时,我在服务器中收到以下异常(在 wso2carbon.log 中读取):
TID: [0] [ESB] [2015-10-15 08:24:31,057] ERROR {org.apache.synapse.transport.passthru.TargetHandler} - I/O error: Received fatal alert: protocol_version {org.apache.synapse.transport.passthru.TargetHandler}
javax.net.ssl.SSLException: Received fatal alert: protocol_version
at sun.security.ssl.Alerts.getSSLException(Alerts.java:208)
at sun.security.ssl.SSLEngineImpl.fatal(SSLEngineImpl.java:1619)
at sun.security.ssl.SSLEngineImpl.fatal(SSLEngineImpl.java:1587)
at sun.security.ssl.SSLEngineImpl.recvAlert(SSLEngineImpl.java:1756)
at sun.security.ssl.SSLEngineImpl.readRecord(SSLEngineImpl.java:1060)
at sun.security.ssl.SSLEngineImpl.readNetRecord(SSLEngineImpl.java:884)
at sun.security.ssl.SSLEngineImpl.unwrap(SSLEngineImpl.java:758)
at javax.net.ssl.SSLEngine.unwrap(SSLEngine.java:624)
at org.apache.http.nio.reactor.ssl.SSLIOSession.doUnwrap(SSLIOSession.java:228)
at org.apache.http.nio.reactor.ssl.SSLIOSession.doHandshake(SSLIOSession.java:263)
at org.apache.http.nio.reactor.ssl.SSLIOSession.isAppInputReady(SSLIOSession.java:380)
at org.apache.http.impl.nio.reactor.AbstractIODispatch.inputReady(AbstractIODispatch.java:118)
at org.apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:160)
at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:342)
at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:320)
at org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:280)
at org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:106)
at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:604)
at java.lang.Thread.run(Thread.java:744)
TID: [0] [ESB] [2015-10-15 08:25:04,600] WARN {org.apache.synapse.transport.passthru.SourceHandler} - Connection time out after request is read: http-incoming-11 {org.apache.synapse.transport.passthru.SourceHandler}
也许我在 axis2.xml 配置文件($CARBON_HOME/repository/conf/axis2/axis2.xml)中漏掉了什么?这是与以下内容相关的部分:
<transportReceiver name="https" class="org.apache.synapse.transport.passthru.PassThroughHttpSSLListener">
<parameter name="port" locked="false">8443</parameter>
<parameter name="non-blocking" locked="false">true</parameter>
<parameter name="bind-address" locked="false">XXX.XXX.XXX.XXX</parameter>
<parameter name="WSDLEPRPrefix" locked="false">https://XXX.XXX.XXX.XXX:8443</parameter>
<parameter name="httpGetProcessor" locked="false">org.wso2.carbon.transport.nhttp.api.PassThroughNHttpGetProcessor
<parameter name="HttpsProtocols">TLSv1,TLSv1.1,TLSv1.2</parameter>
<parameter name="keystore" locked="false">
<KeyStore>
<Location>repository/resources/security/wso2carbon.jks</Location>
<Type>JKS</Type>
<Password>XXX</Password>
<KeyPassword>XXX</KeyPassword>
</KeyStore>
</parameter>
<parameter name="truststore" locked="false">
<TrustStore>
<Location>repository/resources/security/client-truststore.jks</Location>
<Type>JKS</Type>
<Password>XXX</Password>
</TrustStore>
</parameter>
</transportReceiver>
<transportSender name="https" class="org.apache.synapse.transport.passthru.PassThroughHttpSSLSender">
<parameter name="non-blocking" locked="false">true
<parameter name="HttpsProtocols">TLSv1,TLSv1.1,TLSv1.2
<parameter name="keystore" locked="false">
<KeyStore>
<Location>repository/resources/security/wso2carbon.jks</Location>
<Type>JKS</Type>
<Password>XXXX</Password>
<KeyPassword>XXXX</KeyPassword>
</KeyStore>
</parameter>
<parameter name="truststore" locked="false">
<TrustStore>
<Location>repository/resources/security/client-truststore.jks</Location>
<Type>JKS</Type>
<Password>XXXXX</Password>
</TrustStore>
</parameter>
<parameter name="HostnameVerifier">AllowAll</parameter>
</transportSender>
谢谢!
最佳答案
您是否已将服务的公共(public)证书导入 ESB 的信任库?如果没有,This blog post可能会提供一些想法(虽然有点过时)。
关于web-services - 无法从 https (tlsv1.2) wsdl uri 创建基于 wsdl 的代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33097480/
为什么 WSDL 引入 wsdl:message?和消息部分? 与在操作参数(输入、输出、故障)中直接使用 XSD 相比,他们可以带来什么优势? 它们(带有 wsdl 消息部分的 wsdl 消息)如何
这个问题看起来很简单,但我找不到合适的地方在 WSDL 文档中设置其定义的版本。 目标是能够很容易地看到它何时过时,以及我将来何时更新它。 我要把它设为 1.0。如果将来我向它添加新操作,我将其设置为
在 WSDL 文件中,函数可以返回类型或元素。到目前为止,我仅使用自定义类型作为结果。但是,我想知道什么时候Element应该比Type更合适?它们有什么区别? 有什么区别吗 和
我在 web sphere 服务器上部署了一个 jax-ws web 服务,当我尝试使用 url 在浏览器中访问 wsdl 时 "Http://localhost:7001/HelloWorldSer
我在使用 SVCUtil 为 WCF 生成代理时遇到错误。错误是 Attempting to download metadata from 'net.pipe://localhost/WebServi
我正在遵循 WSDL-first(由我们的客户提供)方法来开发 WCF 服务,但是从我的 wcf 服务生成的 WSDL 与我们的客户提供给我的 WSDL 略有不同,并且由于这种不匹配,客户在调用我的服
我有嵌套的 WSDL,我想将其扁平化。 wsdl 导入 xsd 文件,这些文件又包含其他文件等。我喜欢把整个东西压平成一个文件,以便将它提供给一个无法执行导入/包含的工具。有没有我可以使用的简单工具(
我正在尝试使用一些统计信息进行 WSDL 解析(使用 c#.net)。我的统计数据取决于 WSDL 中的文档标签。我想知道可以包含文档标签的 wsdl 标签列表来检查它们。 我试图阅读 WS-I 基本
我有一个 WSDL 文件。我想将 wsdl 文件转换为 Web 服务类文件。 是否可以?如果是,请向我详细解释。 最佳答案 在解决方案资源管理器中右键单击 您的项目并转到“添加服务 引用...” 按窗
我正在使用 Axis 为示例 WebService 建模。我现在正在做的是试图了解自动化 wsdl 和代码生成的局限性。 现在对于一些服务器端代码: 这是示例 Web 服务的框架: public cl
我有一个 Silverlight 应用程序,它通过 WCF 服务与服务器端的 ADO.Net 数据实体通信。实际上,我正在使用多个 WCF 服务与三个不同的数据 ADO.Net 数据实体进行通信。我最
是否有使用服务端点地址获取服务 WSDL 的通用方法。我知道这可以通过将 ?wsdl 附加到 Axis2 服务来完成。但是这个属性是否也适用于其他 Web 服务容器? 最佳答案 ?wsdl 适用于所有
例如使用 png归档其 mime-type是“图像/png”;那么 wsdl 的 MIME 类型是什么?文件 ? 最佳答案 text/xml - WSDL 是基于 XML 格式的服务描述。 您可以在“
我的服务是从一个 wsdl 文件中选取的。但是发布的服务 wso2 是 chenged。如果我希望 wso2 像我的 wsdl 文件一样发布。如何设置?例如,我的 wsdl 文件是:
我需要在给定 XSD 文件的情况下生成 WSDL 文件。我该怎么做呢?我可以在VS2005中这样做吗?最简单的方法是什么? 最佳答案 你不能 - XSD 描述数据方面,例如Web 服务的功能 - WS
有什么方法可以从 wsdl 生成 xsd 吗?任何链接或工具也可以。最简单的方法是什么? 最佳答案 您可以使用SoapUI:http://www.soapui.org/这是一个通常很方便的程序。创建一
我启动我的 azure 应用程序,浏览到 svc 文件 http://127.0.0.1:82/transaction.svc ,我得到了通常的结果: You have created a servi
我使用动态端点 wsdl(通过 http 的 wsdl)来生成客户端。这工作得很好。 是否可以从动态wsdl的http链接生成静态wsdl? 问题是动态 wsdl 只能从一台机器访问。 我想在另一台电
我想知道是否可以将请求从一个 wsdl 发送到另一个 wsdl。如果是,那我该怎么做? 流程将是: 我想使用 switchyard 公开一个 wsdl,比如 wsdl-1,它可能有 100 个参数,带
我按照定义的步骤使用 Spring Boot 创建了一个网络服务 here当我尝试下载 wsdl 时,我不得不在 url 中使用 .wsdl 。但是,当我使用 ?wsdl 时,不会下载 wsdl。当我
我是一名优秀的程序员,十分优秀!