1

Jetty 7.0.2 を使用。80 と 443 の両方のポートでリッスンするサービス。1 つの特別な API では、別のサーバーに接続する必要があります。このスキームは着信呼び出しによって決定されます。着信呼び出しが HTTP の場合、HTTP によって他のサーバーに到達します。着信呼び出しが HTTPS の場合、HTTPS で他のサーバーに到達します。

Web サービスは WebServiceContext オブジェクトを注入できます。以前は以下を使用していました。

MessageContext ctx = (WebServiceContext)wsContext.getMessageContext();
String requestUrl = ctx.get("com.sun.xml.ws.transport.http.servlet.requestURL");

次に、URL を解析して、それが https/http かどうかを確認します。

しかし、Jetty を使用すると、requestURL が挿入されていないことがわかりました。回避する別の方法はありますか?

4

1 に答える 1

1

あなたが実行している桟橋と Web サービスの種類についてはよくわかりません。しかし、内部でサーブレットを使用している場合は、HttpServetRequest.isSecure() が役立つはずです。

ブール値 isSecure()

このリクエストが HTTPS などの安全なチャネルを使用して行われたかどうかを示すブール値を返します。

于 2013-08-19T05:45:31.733 に答える