具体的には、JBoss 4.2.2のjavax.jws.WebService.wsdlLocationを使用できますか? (これは、WebサービスとしてデプロイされたEJB3 Bean用です)。jbossでのjavax.jws.WebService.wsdlの配置4.2.2
サポートされていますが、書式は正確には何ですか?私はhttpを試した、私は相対URLを試してみました。 JBossはそれをどのように見ていますか、URL、EJBのクラスパス上の何か、その他何か?
具体的には、JBoss 4.2.2のjavax.jws.WebService.wsdlLocationを使用できますか? (これは、WebサービスとしてデプロイされたEJB3 Bean用です)。jbossでのjavax.jws.WebService.wsdlの配置4.2.2
サポートされていますが、書式は正確には何ですか?私はhttpを試した、私は相対URLを試してみました。 JBossはそれをどのように見ていますか、URL、EJBのクラスパス上の何か、その他何か?
JBWS-2206と関連する問題JBWS-1714とJBWS-1837をご覧ください。
私が収集できる情報から、JBossは内部的にJAX-WSのMetro(RI)を使用します。私はこれについてはあまりよく分かりませんが、wsdllocation属性を使用してクラスローダーを使用してMetroがWSDLを読み取ると、WSDLを配置するためのEJB JARのMETA-INF/wsdlが安全な選択となります。 The example file in JBWS-2206は参考になります。
更新
how to provide your own WSDL is present in the JBoss forumsを徹底的に概観。
更新#2
JAX-WS仕様では、このようなケースである理由について、より良いアイデアを提供します。 @WebService(のwsdlLocation)とメタデータのセクション5.2.5.3使用時に、一方が
エンドポイント実装クラスでのwsdlLocationアノテーション要素の値は、もしあれば、 相対的である必要があるという仕様を見つけることができURL。それが指し示す文書は、アプリケーションと共にパッケージ化されなければならない(MUST)。さらに、下記のセクション5.2.5.4(以下「アプリケーション指定サービス」)の要件に従うことが必要です( )。
さらに、それは
は、JAX-WS実装は、すべてのWSDLの場所の属性にパッチを適用しなければならないと述べている:インポートおよびxsd:ローカルドキュメントを指すローカル文書にインポート 文を。実装は、 他のロケーション属性にパッチを当ててはならない(MUST NOT)。
生成されたWSDLの表示方法を定義します。
EJB3の場合、JBWS-2206へのリンクがトリックを行いました。あなたがMETA-INFを参照しなければならないのはむしろ驚きですが、それは私が推測していなかった隠された秘密でした。 – Yishai
さて、JAX-WSには一目瞭然ではないことがたくさんあります。同様のケースが発生した場合は、JAX-WS 2.0/2.1仕様のコピーをダウンロードしてください。 –
ちなみに、この場合、JAX-WS 2.0仕様では - **エンドポイント実装クラスのwsdlLocationアノテーション要素の値は、もしあれば、相対URLでなければなりません。それが指し示す文書は、アプリケーションと共にパッケージ化されなければならない(MUST)。さらに、以下のセクション5.2.5.4の要件に従わなければなりません。( "アプリケーション指定サービス")** –