1
使用Jetty 7.0.2。服务在80和443端口上监听。在一个特殊的API中,我们需要连接到另一个服务器,该方案由来电决定:如果传入呼叫是HTTP,那么我们将通过HTTP到达另一个服务器;如果来电是HTTPS,那么我们将通过HTTPS访问其他服务器。如何知道Web服务调用中的连接是否通过HTTPS?
Web服务可以injecct在WebServiceContext对象,大家用用:
MessageContext ctx = (WebServiceContext)wsContext.getMessageContext();
String requestUrl = ctx.get("com.sun.xml.ws.transport.http.servlet.requestURL");
然后我们解析URL知道它的HTTPS/HTTP。
但是,当我们使用Jetty时,我们发现requestURL没有被注入。是否有另一种解决方法?
对不起,我没有把自己弄清楚......我使用嵌入式Jetty,并使用web应用程序上下文,没有可用的servlet上下文。 Jetty不会将Servlet注入MessageContext。有人知道如何? –