使用Jetty 7.0.2。该服务监听80和443端口。在一个特殊的API中,我们需要连接到另一个服务器,该方案由来电确定:如果来电是HTTP,那么我们将通过HTTP到达另一个服务器;如果来电是HTTPS,那么我们将通过HTTPS到达其他服务器。
Web服务可以在其中注入WebServiceContext对象,我们曾经使用过:
MessageContext ctx = (WebServiceContext)wsContext.getMessageContext();
String requestUrl = ctx.get("com.sun.xml.ws.transport.http.servlet.requestURL");
然后我们解析网址,知道它是否为https / http。
但是,当我们使用Jetty时,我们发现不会注入requestURL。还有另一种解决方法吗?
答案 0 :(得分:1)
我不太确定你正在运行的码头和网络服务。但如果它在内部使用servlet,那么我相信HttpSerlvetRequest.isSecure()可以帮助你。
boolean isSecure()
返回一个布尔值,指示此请求是否是使用 安全通道,例如HTTPS。