gpt4 book ai didi

tomcat - 可以使用带有 tomcat 的 cxf 来提供 https 服务(没有码头)

转载 作者:行者123 更新时间:2023-11-28 22:20:14 24 4
gpt4 key购买 nike

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

我应该在这里添加更多细节,我不知 Prop 体怎么做。我有以下配置:在 web.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>

并且在 server.xml 中,SSL 在端口 8443 上启用,但我得到这个异常:java.io.IOException: Protocol mismatch for port 8443: 引擎的协议(protocol)是http,url协议(protocol)是https

最佳答案

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

您可以找到更多信息herehere ,注意这个链接是指WS技术,但是过程中使用了CXF,jaxrs:serverjaxws:endpoint的属性几乎一样。

关于tomcat - 可以使用带有 tomcat 的 cxf 来提供 https 服务(没有码头),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23979079/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com