2012-03-14 9 views
2

this pageに属するweb service offered hereを表すJavaクラスを生成しようとしています。私はXMLが次のステップを実行するために必要なものであるとは確信していません。XJCが* .javaクラスの生成に失敗する

  1. 私は、ファイルにAPIのXMLを保存します。getcapabilities.xml
  2. 私はXSDを生成するには、次のtrangのコマンドを実行します。java -jar trang.jar getcapabilities.xml getcapabilities.xsd
  3. 私は、次のファイルを取得:getcapabilities.xsdogc.xsdwfs.xsdxlink.xsdを、 xsi.xsd
  4. 私はJavaクラスを生成するには、次のコマンドを実行します。xjc getcapabilities.xsd
  5. 次のエラーメッセージがプロムでありますPTED

は、... [ERROR]無XSIスキーマを解析:{ターゲット名前空間}一致していなければならない属性の宣言「のhttp://www.w3.org/2001/XMLSchema-instance '
ファイルの行7:xsi.xsd
スキーマの解析に失敗しました。

質問:

  • あなたは、同じエラーメッセージが表示されますか?
  • どうすればいいですか?
  • 私のアプローチはまったく成功するためのものですか?

答えて

1

あなたはOGC Web Feature Serviceを扱っています。それにはいくつかの特色があります。

  • はあなたにトランでスキーマを生成しないでください、あなたはOGCからそれらを取得することができます:http://schemas.opengis.net/wfs/1.1.0/
  • あなたが本当に自分でこれらのスキーマをコンパイルする必要はありません、あなたはそれらをOGC Schemas and Tools project(JARファイルからプリコンパイルを取得することができますhere)。
  • WFSスキーマはWFS操作のみを記述します。これはコンテナスキーマの一種です。また、あなたの機能を説明するアプリケーションプロファイルもあります。 DescribeFeatureTypeの操作で入手できます。http://data.wien.gv.at/daten/wfs?service=WFS&request=DescribeFeatureType&version=1.1.0
  • GeoToolsのようなsometingの使用を検討してください。
+0

ありがとうございます。上記の質問を念頭に置いて - [別の質問]を見てください(http://stackoverflow.com/questions/9237082/how-to-query-a-web-service-via-post-request-私が実装しようとしているプロジェクトをよりよく説明する、私のin-android)です。私は[ksoap2-android](http://code.google.com/p/ksoap2-android/)に言及していますが、これはもちろん要件ではありません - 私の試しです。 – JJD

+0

最後に、わかりました:WFS、GMLなどの異なる名前空間用のスキーマJARをプロジェクトに追加すると、サービス定義で必要なタイプのオブジェクトを作成できます。 – JJD

+0

私は私の質問に思いついたJavaコードを追加しました。[AndroidのPOSTリクエストを使ってWebサービスを照会する方法](http://stackoverflow.com/questions/9237082/how-to-query-a-web -service-via-post-request-in-android)を使用します。しかし、JAXBElementは私の成功を妨げています。 – JJD

関連する問題