无法连接到安全的JAXRS端点(通过Spring通过CXF)

时间:2014-06-12 15:08:24

标签: spring cxf jax-rs

我尝试使用https协议实现一个JAXRS端点。我按照http://cxf.apache.org/docs/secure-jax-rs-services.html#SecureJAX-RSServices-Configuringendpoints的说明进行操作。 我在XML文件中声明了jaxrs:server端点,该端点取决于httpj:engine-factory

日志文件告诉我我的服务已启动并且它正在运行,但如果我尝试连接它,Firefox Web浏览器会告诉我“错误:数据传输中断”(德语:“Fehler:Datenübertragungunterbrochen” )。 Web服务(或JAXRS或CXF)不会抛出错误消息。 Opera只是说它无法连接到服务器。 Wireshark告诉我,客户端尝试重新连接到服务器几次,然后客户端(Web浏览器)似乎放弃了。

我的配置如下:

<httpj:engine-factory id="httpsSettings" bus="cxf">
    <httpj:engine port="8545">
        <httpj:tlsServerParameters>
            <sec:keyManagers keyPassword="...">
                <sec:keyStore type="PKCS12" password="..." file="..."/>
            </sec:keyManagers>
            <sec:trustManagers>
                <sec:keyStore type="JKS" password="..." file="..."/>
            </sec:trustManagers>
            <sec:cipherSuitesFilter>
                <sec:include>.*_EXPORT_.*</sec:include>
                <sec:include>.*_EXPORT1024_.*</sec:include>
                <sec:include>.*_WITH_DES_.*</sec:include>
                <sec:include>.*_WITH_NULL_.*</sec:include>
                <sec:exclude>.*_DH_anon_.*</sec:exclude>
            </sec:cipherSuitesFilter>
            <sec:clientAuthentication want="true" required="false"/>
        </httpj:tlsServerParameters>
    </httpj:engine>
</httpj:engine-factory>

<jaxrs:server id="cdmiSSLService" address="https://localhost:8545/"
              depends-on="httpsSettings" beanNames="...">
    <jaxrs:inInterceptors>
        <ref bean="..."/>
    </jaxrs:inInterceptors>
    <jaxrs:providers>
        <ref bean="..."/>
        ...
    </jaxrs:providers>
    <jaxrs:serviceBeans>
        <ref bean="..."/>
        ...
    </jaxrs:serviceBeans>
</jaxrs:server>


我应该补充一点,我此时只配置了一个JAXRS端点,如果我将JAXRS端点配置更改为http协议,一切正常,我可以毫无问题地连接到Web服务。 / p>

有人可以帮助我,我可以在这做什么吗?我知道这些信息不多,但目前还没有给我更多信息。请耐心等待,这是我第一次以这种方式实施它。我是初学者。这是一个使用Spring Framework的Maven多模块项目。配置需要通过jaxrs:server

非常感谢提前!