XFire を使用して文書化された WSDL を作成する方法
-
06-07-2019 - |
質問
私が使う Xファイア アプリケーションの周囲に Web サービス ラッパーを作成します。XFire は、実行時に Web サービス インターフェイスと WSDL を提供します (またはコンパイル時に作成されますが、正確にはわかりません)。
私たちの顧客の多くは Web サービスについてあまり詳しくなく、さらに Javadoc などの外部ドキュメントをまったく読みません。WSDL ファイルにドキュメント (パラメーターとメソッド) を直接追加できることはわかっています。
アノテーションや Aegis XML ファイルを考えたのですが、方法がわかりません...方法を知っていますか?
編集:たった今これを見つけました JIRAの問題 しかし、最後の活動は 2006 年でした。何か案は?
解決
他のヒント
CXF に関する最後のヒントは、JAXB ではなく Aegis をデータ バインディングに使用することです。複雑な POJO では機能しません。
私の経験では、複雑な POJO と JAXB には問題はありませんが、唯一の問題は、コードが JAXBElements で乱雑になり始めることです。一方で、Aegis のドキュメントは非常に少なく、CXF に関しては十分に管理されていません。
XFireに関する2セントを追加しましょう。 JDK6(Tomcat 6.0と5.5の両方)でXFieに非常に深刻な問題がありました。をご覧ください。その問題。私たちの場合、JDK6で4+ Webサービスを使用するXFireは、アプリケーションサーバーのハング(スレッドデッドロックなど)につながります。おもしろいですが、JDK5ではすべて問題ありませんでした。
そして、XFireからCXFへの移行に関して、Christian Vestに完全に同意します。多くの場合に意味があります。 ESB Mule 2は、ネイティブXFireコネクタをサポートしなくなりました(こちらも参照)。
また、XFireからCXFへの移行は単純な方法ではないことを追加します(たとえば、CXFには一部のhibernateリリースと競合するjar依存性がありますこちら)も参照できますが、実行可能です。私たちの場合、コードを修正せずに数日間行いました(Springのみの構成)。
CXFに関する最後のヒント-JAXBの代わりにAegisをデータバインディングに使用します。複雑なPOJOでは機能しません。