Axis2 java2wsdl ツールを使用していくつかのテストを行って、簡単な Web サービスを作成しています。
最初に作成したものには、入力として 2 つの float を使用する単純な add メソッドがあります。java2wsdl コマンドで問題なく WSDL ドキュメントが作成されました。次に、String 配列を返すメソッドを持つ別のサービスを作成しましたが、ツールが生成した WSDL データ型に問題がありました。
java2wsdl は以下を生成します:
`<xs:element minOccurs="0" name="return" nillable="true" type="xs:anyType"`/>
そして、soapUIクライアントでエラーが発生しました:「タイプをシリアル化できません」
「手動で」次のように変更しました。
<xs:element maxOccurs="unbounded" name="return" type="xs:string"/>
そしてそれはうまくいきました。
Java ソース コードは次のとおりです。
package Base;
public interface Base
{
public String[] getNames();
}
そのため、ツールがそのマッピング (String[] から xs:anyType へ) を行った理由がわかりません。
axis2 の java2esdl が正しいデータ型を作成するように、Java コードを記述する必要がある特別な方法はありますか?
ありがとう。