2011-07-15 9 views
3

私は単純なHelloWorld Webサービスを作成しました。パラメータとしてArrayListをとります。コードは `import java.util.ArrayList;と同じくらい簡単です。Apache Axis WebサービスでArrayListがサポートされていますか?

public class Service { 

public void service(ArrayList<Object> list) { 
    System.out.println("Hello World.."); 
} 
}` 

私はEclipse Helios SR1を使用しており、Webサービスを生成しようとしています。 Webサービス実装を「サービス」に選択し、Tomcat 6.0としてサーバーランタイムを選択し、Apache AxisとしてWebサービスランタイムを選択します。次をクリックすると、 という警告が表示されます。サービスクラス"Service"は、JAX-RPC 1.1仕様の1つ以上の要件を満たしておらず、正しく展開または機能しない可能性があります。 サービスクラス"Service"のメソッド "service"は、JAX-RPC仕様ではサポートされていないデータタイプ"java.util.ArrayList"を使用します。型のインスタンスが正しくシリアル化または逆シリアル化されないことがあります。データの損失またはWebサービスの完全な障害が発生する可能性があります。

続行すると、1つ1つ多く警告が表示されます。 入力タイプjava.lang.Classはインスタンス化不可能なタイプであり、サンプルJSPから省略されます。サンプルJSPの生成を続行しますか?

入力タイプjavax.xml.namespace.QNameはインスタンス化不可能なタイプであり、サンプルJSPから省略されます。サンプルJSPの生成を続行しますか?

IWAB0189WサンプルJSPクライアントには、サポートされていないタイプが含まれていたため、いくつかのメソッドが省略されました。

どうして起こっているのでしょうか? 私はSunのサイトで見ました:Sun RPC Doc

それによると、ArrayListはサポートされるべきです。

助けが必要ですか?

+0

'ArrayList'の代わりに' List'を指定しようとしましたか? –

+0

また、私は同じ問題に直面しています。 –

答えて

1

仕様書より引用しています。

配列

JAX-RPCもサポートJAX-RPCタイプのメンバーとの配列をサポートしています。 サポートされている配列の例は、int []とString []です。 BigDecimal [] []などの多次元 配列もサポートされています。

メソッドシグネチャを単純に変更して、ArrayListとは対照的に配列を受け入れるようにすると、問題が解決されます。

+0

ArrayListはサポートされていませんか? –

+1

ArrayListはどのようにサポートされますか? SOAPサービスを利用するJava以外のアプリケーションについて考えてみてください。 JAX-RPCはリストを配列型にマップすることができるかもしれませんが、とにかくそのインタフェースを使用する必要があります。 –

2

WSDLを記述し、Axis WSDL2Javaツールを使用してJavaクラスを生成するのは、本当に良い方法です。ビジネスニーズに応じてWSDLを書くことに常に集中し、マーシャリングとマーシャリングのすべての面倒をなくしてクラスを生成できます。

+0

だからSuken、独自のWSDLを書くことができれば、ArrayList をサポートできますか?実際には私のwebServiceは、ArrayList を持つVOをサポートしていますか? –

+0

遅い応答(金曜日の夜+怠惰な土曜日)の申し訳ありません。はい、WebサービスのサービスプロバイダとしてJAX-RPCを使用していて、サーバーとクライアントがjavaで書かれている場合は、arraylistを含むJavaオブジェクトを直列化することができます。あなたのVOは、BeanSerializerを使用してシリアライズおよびデシリアライズする必要があります。注:これは、Javaベースのアプリケーションのみをサポートすることに注意してください。おかげさまで –

+0

しかし、私はWSDLを書く方法を知りませんか?あなたはwsdlを書く方法を提案できますか?サービスのために? VOとVOのどちらがパラメータとしてStringとMapを持っていますか? (私はJavaの型だけをサポートする必要があります) –

関連する問題