2011-08-05 11 views
2

オリジナルのWSDLを使用しているサーバでApache CXFサーバでWSDLを生成する方法を教えてください。オリジナルのwsdlを使用してCXFでwsdlを生成

私はService.xmlAxis 2のコンフィグレーションを持っていますので、useOriginalWSDLをTRUEに設定すると元のwsdlが得られます。

CXFの設定を知りたいです。我々は要素jaxws:endpoint

属性に属性wsdlLocationを使用することができますCXFサーバーにWSDLを生成するために、元のWSDLを使用するための

答えて

4

は、エンドポイントのWSDL契約の場所を指定します。 WSDLコントラクトの場所は、サービスがデプロイされているフォルダからの相対位置です。我々はWSDLの場所を指定することができ@WebServiceアノテーションを使用することができますCXFで

OR ドキュメント を参照してくださいについて@WebService

私自身が、私は、これは簡単な質問だと思い、答えを見つけましたが、この回答ができることを感じましたstackoverflowの中でも

EDIT:

は本家の私はwsdlLocationを追加し、サービスはCXFフレームワークによって作成することができませんでした。 Apache Tomcatのエラーは役に立ちませんが、サービスを作成できなかったことを除きます。適切なjaxws:endpointを作業する必要があります、次の属性について :WSDLの例で指定された名前空間とWSDLのサービス名、e:ServiceName

  • endpointName - - - プロジェクトフォルダなど/WEB-INF/originalwsdl.wsdl
  • serviceNameからの相対パス

    1. wsdlLocationこのポートバインディング名、serviceNameと同じ規則です。例:e1:endpointName

    覚えておいてくださいe:とe1の名前空間を入力してください。xmlns:e="namespace as in your wsdl"

    この設定の後、私のアプリケーションはうまくいっています。 元のWSDLを使用してまったく同じWSDLを作成するために、wsdlから作成するクラスは、ターゲットの名前空間と同じパッケージ名を持つ必要があります。誰かがこの発見を確認してください。

    私は

  • +1

    「シンプル」という質問を尋ねると、答えは完全に規則の範囲内、大丈夫です、私の解決策のためにCXFのための非常に少ない文書があることを見出し、およびコードとのXSDに 掘っていました。あなたが本当にそれを理解すれば、しばしば質問は単純です。その前に、それは非常に難しいです。 –

    関連する問題