1

AndroidでSOAPを介してWCFWebサービスを利用する必要があります。私はKSOAP2.5.2を使用してこれを行っています。現在、WCFを編集することは許可されていないため、現在、WCFサービスが返す出力を変更することはできません。それが私の主な問題です。この問題を解決するには、WCFから取得したものを取得する必要があります(回避策)。

anyType{schema=anyType{element=anyType{complexType=anyType{choice=anyType{element=anyType{complexType=anyType{sequence=anyType{element=anyType{simpleType=anyType{restriction=anyType{maxLength=anyType{}; }; }; }; element=anyType{simpleType=anyType{restriction=anyType{maxLength=anyType{}; }; }; }; element=anyType{simpleType=anyType{restriction=anyType{maxLength=anyType{}; }; }; }; element=anyType{simpleType=anyType{restriction=anyType{maxLength=anyType{}; }; }; }; element=anyType{simpleType=anyType{restriction=anyType{maxLength=anyType{}; }; }; }; element=anyType{simpleType=anyType{restriction=anyType{maxLength=anyType{}; }; }; }; element=anyType{simpleType=anyType{restriction=anyType{maxLength=anyType{}; }; }; }; element=anyType{simpleType=anyType{restriction=anyType{maxLength=anyType{}; }; }; }; element=anyType{}; element=anyType{simpleType=anyType{restriction=anyType{maxLength=anyType{}; }; }; }; element=anyType{}; element=anyType{}; element=anyType{}; element=anyType{simpleType=anyType{restriction=anyType{maxLength=anyType{}; }; }; }; element=anyType{}; element=anyType{}; element=anyType{}; element=anyType{simpleType=anyType{restriction=anyType{maxLength=anyType{}; }; }; }; }; }; }; }; }; }; }; diffgram=anyType{DocumentElement=anyType{CL_9_2_4_DestInfo=anyType{DESTINATION=.... LOTs of other data.

さて、これは実際には完全なデータセット/ xsd(?)であるMicrosoft独自のコードのようですが、どうすればこれを動作するデータセットに解析したり、少なくとも私の小さなAndroidで読み取り可能にすることができますか?

4

2 に答える 2

1

さらに調査した結果、KSOAPはすでに戻りXMLをペアリングしていることがわかりましたが、Microsoft .NETデータセット(KSOAPでは処理されない)であるため、このような奇妙な文字列が返されます。HttpTransportSE.responseDump()をチェックすると、通常のXML応答を取得できます。ただし、応答をJavaオブジェクトにマップ/解析するには、このガイドに従う必要があります。このガイドには、複数の方法があります 。AndroindでのXMLの操作

于 2010-11-11T12:07:16.347 に答える
0

Michaelsの記事へのリンクは、一般的なxml解析に関するものです。すでにKSOAPを実行している場合は、getResponseを実行するだけで、ネストされたSoapObjectが得られます。これにより、コードで解析して、PojoなどをgetPropertyおよびgetAttribute呼び出しから設定し、必要に応じて反復処理できます。

于 2010-11-17T18:08:00.273 に答える