2

アプリケーションのバージョン番号を名前に含む EAR プロジェクトがあります。その中にセッション Bean の JAR があります (JAR の名前にはバージョン番号も含まれています)。その jar の中に、Web サービスの実装があります。

ここまでは順調ですね。問題は、WSDL へのパスが次のようになっていることです: host:port/application_name_and_version-jar_name_and_version/WS_name?WSDL. つまり、新しいバージョンが登場するたびに、WS クライアントを調整する必要があります。

このすべてが JBoss にデプロイされます。

問題は、バージョン番号が含まれないように URL を変更するにはどうすればよいかということです。展開記述子に関係していると思いますが、これまでのところ、これに関する有用な情報を見つけることができませんでした.

4

1 に答える 1

0

Web サービスの実装のみを含む .war ファイルを作成し、.ear ファイルの .war 内に独自のコンテキスト ルートを war に与えますapplication.xml。例えば:

<application xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd">

  <module>

  <java>shared-code.jar</java>

  <module>
    <ejb>my-ejbs.jar</ejb>
  </module>

  <module>

  <web> <web-uri>my-web-service.war</web-uri> <context-root>webserviceroot</context-root> </web> </module>  
<library-directory>lib</library -ディレクトリ> </アプリケーション>

書式設定について申し訳ありませんが、スタックオーバーフローを少しいじった後、上記から連続したコードブロックを作成することはできません。

http://host:port/webserviceroot/...とにかく、そのような .ear ファイルをデプロイすると、代わりにアクセスできるはずです。

于 2013-02-22T12:55:54.593 に答える