2013-04-14 1 views
7

eclipse/tomcat/axis2を使ってWebサービスを稼働させています。私はそれをbpelプロセスにリンクさせたいので、wsdlファイルが必要です。私は、サーバーを起動し、軸2は自動的にwsdlファイルを作成(および保存)しますか?

http://localhost:8080/axis2/services/MyService?wsdl 

に行くことによって、WSDLを表示することができます。しかし、私はプロジェクトのディレクトリ構造を検索する場合、私は、WSDLファイルを見つけることができません。もちろん、ブラウザからwsdlをコピー&ペーストしてテキストファイルとして保存してから、そのwsdlにbpelをポイントすることができます。しかし、それは軸2のように私のためにwsdlファイルを生成する(と保存する)ようですね?

+0

私は(ちょうど指し、それが優れていると言っていない私はJBossWSのを使用し、軸を使用していませんそれは同様の動作をします: 'http:// serviceUrl/MyService?wsdl'に行くと、wsdlファイルを取得できます。事実です:JBossは実際には 'MyService7365956195937503885.wsdl'のような醜い名前のファイルを作成し、アプリケーション(warまたはear)がデプロイされたときにそのパスをサーバログに出力します(必要な場合は、それを得る);多分、軸はそれと同様のことをします。 – acdcjunior

答えて

8

デフォルトでは、?wsdlを追加すると、Axis2は以前に生成されたWSDLドキュメントを取得しません。毎回生成されます。 しかし、あなたはサービスアーカイブ・ファイル内のMETA-INFフォルダ内のWSDLドキュメントファイルおよび対応するXMLスキーマファイルを置けば、それはで回収することができます。

http://localhost:8080/axis2/services/MyService.wsdl 

services.xmlで与えられたサービス名と定義されたサービス名WSDLの ドキュメントは同じである必要があります。別の手で

あなたが生成されたWSDL文書を保存したい場合は、単にクラスorg.apache.ws.java2wsdl.Java2WSDLを使用して、あなたのプロジェクトのいくつかのクラスにJavaアプリケーションとして次のコードのようなものを実行します。

public static void main(String[] args) throws Exception { 
    Java2WSDL.main("-cn com.abc.MyService".split("\\s+")); 
} 

実行されると、生成されたWSDLドキュメントファイルと対応するXMLスキーマファイルがプロジェクトのフォルダにあります。

enter image description here

次を使用し、このツールでそれらを使用するために、より多くのオプションを見つけるために:

public static void main(String[] args) throws Exception { 
    Java2WSDL.printUsage(); 
} 
1

ファイルシステムにwsdlを保持しません。 .wsdlファイルとして保存し、BPELをそのファイルにポイントする必要があります。または、http://axis.apache.org/axis2/java/core/tools/eclipse/wsdl2java-plugin.htmlに記載されているjava2wsdlウィザードに従って、コードからwsdlを生成することもできます。