1

NB を使用して、NB インターフェイスを介して Codename one アプリに「クライアント Web サービス」を追加しました。これはシミュレーターで正常に動作します。

WSDL クラスはビルド中に自動的に生成され、com.myco.myapp.generated パッケージに配置されます。

生成された JAR を確認すると、WSDL クラスはすべて問題ありません。

しかし、これを「Android用ビルド」にコードネーム1にプッシュすると、取得したデバイスで実行されます

An Internal application error occurred : java.lang.NoClassDefFoundError: com.myco.myapp.generated.SimpleStockList_Service

しかし、クラスは間違いなく JAR にあります。

JAR とそのマニフェストに関係があると確信していますが、何をすべきかを知るために、Ant と JAR とビルドの舞台裏に実際に入る必要はありませんでした。

クラスは ant ビルド中に生成されるため、それらをライブラリにパックすることはできません。(それを試してみましたが、同じクラスの2つのインスタンスが原因で失敗しました。)

4

2 に答える 2

1

Codename One は現時点ではバイナリ ライブラリをサポートしていません。ソース コードをビルド プロセスに統合する必要があります。このようなセットアップでバイナリ ライブラリをサポートするには、多くの複雑さが伴います。

于 2012-09-09T17:26:03.563 に答える
1

シャイの助けに感謝します。

究極の答えは、WSDL を使用しないことです。オブジェクトの移動は、小さな Java パッケージに含まれていないシリアライゼーションに依存するためです。

このため、codename1 ConnectionRequest が標準の HTTP リクエストを介して処理できるカスタム サーブレットを作成しました。

これが私が達成した方法です http://www.jamesarbrown.com/?p=164

于 2012-09-17T14:20:45.323 に答える