2012-05-10 7 views
0

配備時、WebサービスのURLはhttp:// localhost:8080/[context-root]/[serviceName]です。コンテキストルートは、特にプロジェクトの名前ですが、それ以外の場合はWEB-INFのsun-web.xmlにのみ表示されます。 この情報はどのようにしてJavaレイヤーに取得できますか?私はプログラムでWebサービスのURLを取得する必要があり、context-rootは現在欠落している唯一の情報です。Webサービスのsun-web.xmlからcontext-rootを取得します。

答えて

2

ここでこれを行う方法があります。このコードをサービスクラスとみなす

@Resource 
WebServiceContext wsContext; 

@WebMethod 
public String myServiceOperation(){ 
MessageContext context = wsContext.getMessageContext(); 
HttpServletRequest res = (HttpServletRequest) context.get(MessageContext.SERVLET_REQUEST) ; 
System.out.println(" Context:path "+res.getContextPath()); 
} 

これはコンソールにコンテキストパスを出力します。

関連する問題