1

ColdFusion 7 の Web サービスを使用する BlackBerry アプリケーションに取り組んでいます。Java ME SDK と Java Wireless Toolkit の両方で、生成された WSDL がドキュメント/リテラル​​ タイプである必要があります。

幸い、Web サービスの開発について意見があったので、cfcomponent タグに「style="document"」を設定してみました。これにより、ドキュメント/リテラル​​ スタイルの WSDL が生成されましたが、wscompile はいくつかの場所で次のエラーを生成します。

不明な単純型が見つかりました: javax.xml.soap.SOAPElement 不明な単純型が見つかりました: java.util.Calendar

なぜこれが起こっているのですか?

WSDL は JWSDP ツールによって正しく解析されますが、スタブは J2ME プラットフォームでは使用できない名前空間を使用します。ColdFusion WSDL は、Java ファミリーの他の製品と一緒に使う方が簡単だと思っていたでしょう。

4

2 に答える 2

0

この問題は、問題の原因となっていたメソッド パラメーターのデータ型と戻り値の型に関連していたことが判明しました。WSDL は有効であり、J2SE 用の wscompile のバージョンはそれを正しく解析できました。ただし、モバイル プラットフォームでは API 機能が制限されているため、特定のデータ型は wscompile の J2ME バージョンでは解析できません。

J2ME のスタブ ジェネレータはドキュメント/リテラル​​ タイプの WSDL ファイルのみを解析するため、ColdFusion Web サービスの cfcomponent タグで「style="document"」宣言を保持する必要がありました。

http://developers.sun.com/mobility/midp/articles/webservices/は、Java ME の JAX-RPC でサポートされるデータ型のリファレンスを提供します。

于 2009-08-27T18:05:22.793 に答える
0

サービスがあまり変更されない場合 (つまり WSDL があまり変更されない場合) は、WSDL をテキスト ファイルとして保存し、好きなように変更できます。私の提案は、サービスが多かれ少なかれ最終化されていることを前提として、cfcomponentタグからスタイル宣言を取り出して WSDL を生成し、それをプレーン テキスト ファイルとして保存し、必要に応じて変更して、ブラックベリー アプリケーション。

于 2009-08-20T15:22:22.987 に答える