2010-12-03 2 views
2

私はSpring WSクライアントを作成しています。私は巨大な WSDLをサードパーティの会社から持っています。 AxisのWSDL2Javaを介してWSDLにマップする一連のクラスを提供します。私は、Axisやそれらからの依存関係を使用したくありません。Spring WS Client - Axisを使用せずにWSDLのマッピングPOJOを作成する方法

これはWebサービスクライアントなので、任意のフレームワークを自由に選択できます。私の問題は、AxisのWSDL2Javaを使用せずにWSDLのマッピングクラスを生成する方法です。私は純粋なXMLを操作することに固執していますか? Spring WSを使用しています。

編集:?

が、それは、サービスプロバイダは、1軸で彼らのサービスを構築していた場合、あなたは基本的にも軸1に基づいているクライアントを作って立ち往生している本当ですか私はこの答えJAX-WS client with Axis serviceからそれを読んだ。私は、Webサービスは、それが作成されたプラットフォームから切り離されているか、少なくとも独立していると考えられ、Javaベースのクライアントから.NetベースのWebサービスにアクセスすることを許可しています。

+0

ところで、Soap UIを使ってWebサービスにアクセスできます。 – chris

+0

WSDLのスタイルによって異なります。 Axis1 *は何も話せない非標準のWSDLを生成することができます。 – skaffman

+0

ああ...それは吸う。私が持っているWSDLが標準でないWSDLであるかどうかを知る方法は? Soap UIはそれを使ってメッセージを送信できます。 – chris

答えて

3

Spring-WSを使用する場合は、Java 6に付属するwsimportツールを使用することをお勧めします(Java5の場合はJAX-WS RIを使用してください)。これにより、Webサービス用のJAX-WSスタブが生成されます。これらのスタブには、WSDLのスキーマ用の標準JAXBバインディングが含まれており、それらはSpring-WSで使用できます(wsimportは、Spring-WSには不要な他のサービススタブを生成します)。

+0

応答。これは私に見える場所の良い方向を与える:) – chris

+0

私はコマンドラインからwsimportを試して、それはスタブを作成しました。 – chris

1

WSDLからPOJOを生成することだけに興味がある場合は、WSDLからXSDを取得し、XJCツールを使用してJAXB beansのみを生成できると思います。これにより、無用なJAX-WSスタブが生成されることを回避できます。

関連する問題