なぜjava.io.ObjectStreamExceptionは、列挙型のためWTKスタブジェネレータで使用されていますか?

StackOverflow https://stackoverflow.com/questions/933530

質問

私はインターフェイスで定義された列挙型を持っているWCFで実装されたWebサービスを使用しています。私は、JavaのBlackBerryのクライアントからこれを呼び出すしようとしています。私は、BlackBerry用のJavaアプリケーションを開発するためにEclipseを使用しています。私は生成するのSun Java Wireless Toolkitのの(WTK)2.5.2を使用していますWebサービスが(すでにWindows Mobileのクライアントが使用して)かなり大きいので、スタブコードます。

私はWTKを使用してスタブコードを生成しようとすると、私は列挙型についてEclipseでエラーが発生します。次の関数では、それはjava.io.ObjectStreamExceptionを型に解決できないと文句を言います。

private Object readResolve()
    throws java.io.ObjectStreamException {
    return fromValue(getValue());
}
スタブジェネレータを実行すると、

、CLDC 1.0またはCLDC 1.1のどちらかのためにスイッチがあります。両方のオプションを使用して生成すると、同じ問題になります。

私はノーと日で、これについてはフォーラム投稿を見つけ応答。このポストの状態の人「今java.io.ObjectStreamExceptionは、CLDCではありませんが、代わりにCDCにある。良いツールは、J2ME CLDC特に1.0 / 1.1用のWebサービスのスタブを作成するためにそこにありますか?」私はそれが[ドキュメント 3 <を見て、CLDC 1.1に存在していないことを確認し/ A>)。

このような状況を修正するためのEclipseで利用可能な2つのクイックフィックスがあります:1)パッケージ「java.io」または私は参照を追加したいと思っている2)修正のプロジェクトの設定()でクラスのObjectStreamException」を作成します。

アップデートます:

ここでは、JSR-172仕様が言う...

5.2.5列挙 JAX-RPCサブセットは、XMLの列挙型のサポートを提供していません。

制限によって派生

5.2.6単純型 JAX-RPCサブセットは、制限によって単純型を導出するためのサポートを提供していません。

WCF列挙するためのWSDLは<xs:simpleType>を含む<xs:restriction><xs:enumeration>を生成します。だから、僕はこの分野ではなく、intで言うと定数を定義していますか?

これはWTKでちょうどバグですか?ケースでは、私は日にバグレポートを提出して、彼らが応答した場合に表示されます。なぜこれがエラーとしてではないツールキットフラグのでしょうか?

だから今、私はそれがJSR-172に準拠しているように、インターフェイスを変更する必要があります。 WSDLを読んで、コンプライアンスの問題を指摘するためのツールはありますか?

役に立ちましたか?

解決

CLDCとWireless Toolkitには、両方のJavaマイクロエディションを使用しています。 JavaMEのは、何のジェネリックなし列挙型を意味しないJava言語のバージョン2に基づいています。

あなたのブラックベリーの携帯電話のためのWebサービスを調査する最初のステップは、JSR-172の仕様を読むことであろう。

scroll top