当前位置: 首页 > 知识库问答 >
问题:

有可能使用cxf和tomcat提供https服务(没有jetty)

都沈浪
2023-03-14

是否可以使用https协议在tomcat上部署apache cxf rs?我看到很多使用嵌入式jetty的例子,但我不想要它。

我应该在这里补充更多细节,我不知道具体怎么做。我有以下配置:在网络上。xml

<servlet>
    <servlet-name>CXFServlet</servlet-name>
    <display-name>CXF Servlet</display-name>
    <servlet-class>
        org.apache.cxf.transport.servlet.CXFServlet
    </servlet-class>
    <load-on-startup>2</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>CXFServlet</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>

在cxf-config.xml:

<import resource="classpath:META-INF/cxf/cxf.xml"/>
<import resource="classpath:META-INF/cxf/cxf-servlet.xml"/>

<bean id="smsserviceclass" class="com.isc.sg.services.rest.SmsGatewayService"/>
<jaxrs:server id="smsservice" address="https://localhost:8443/sg/smsservice">
    <jaxrs:serviceBeans>
        <ref bean="smsserviceclass"/>
    </jaxrs:serviceBeans>
</jaxrs:server> 

在服务器中也是如此。xml端口8443上启用了SSL,但我得到了一个例外:java。伊奥。IOException:端口8443的协议不匹配:引擎的协议是http,url协议是https

共有1个答案

白宏大
2023-03-14

jaxrs: server元素没有在地址属性中设置https url,而是包含一个名为PublishedEndpoint URL的属性,您可以在其中配置服务的URL。指定后,您可以将Tomcat配置为使用HTTPS或将Tomcat置于Apache服务器之后。

您可以在这里和这里找到更多信息,请注意,这些链接指的是WS技术,但过程中使用了CXF,而且jaxrs:server和jaxws:endpoint具有几乎相同的属性。

 类似资料:
  • 问题内容: 当我有嵌套在根组件下的组件时,我无法实例化我的应用程序,该组件在其构造函数中使用。 我想知道为什么这种行为是非法的。假设我想在班级中使用该类,而只是在班级中引用该类。这似乎是不可能的。 创建层次结构的正确方法是什么? 谢谢你 PLNKR:http ://plnkr.co/edit/5Z0QMAEyZNUAotZ6r7Yi?p=preview 问题答案: 您可以直接将父组件注入到组件中,

  • 什么是 SSL? SSL(安全套接层,Secure Sockets Layer),及其继任者 TLS (传输层安全,Transport Layer Security)是为网络通信提供安全及数据完整性的一种安全协议。TLS 与 SSL 会在传输层对网络连接进行加密。 通过 SSL 加密,网站与用户之间的数据交互会更加安全,能够避免大多数的网络窃听问题。通常在登录以及涉及交易等安全要求比较高的情况下,

  • 问题内容: 我只是熟悉Apache JackRabbit。我已经完成了一些用于文档管理的多用户存储库。 如果有人同时使用它们,您能回答这些问题吗? ModeShape是否以某种方式链接到JBoss?我对JBoss AS或任何其他JBoss工具没有太多经验。我看到了对tomcat的支持,但是有很多JBossy的东西 文档说将来的发行版应该具有UI集成,这还有很长的路要走吗?它将是什么样的UI集成?是

  • 我使用的是没有Spring的MyBatis。我还必须使用另一个API提供的JDBC连接。 所以我创建了我的SqlSession,如下所示: 然后在我的代码中: 然而,我发现调用session.commit()什么也不做(即没有找到关于提交的日志),并且更改确实没有提交。似乎MyBatis的提交()由于某种原因被忽略了。 如果我不强制autocommit为false,更改将被提交(无需调用sessi

  • 有没有可能,没有应用服务器发送推送通知使用fire-base实时数据库和通知在Android?

  • 我需要在SE环境中使用没有CDI容器的Jersey 2.28(带Jetty)。我的所有设置都在web.xml中: 以下是我使用的依赖项: 我得到的是: 我知道Jersey可以与不同的DI容器一起使用,例如Weld、HK2等,但是否可以不使用DI容器?如果是,那又是怎样做的呢?