0

iOS アプリで sudzc soap クライアントを使用しています。

これがsoapメソッドの宣言です

(SoapRequest*) UploadData: (myid <SoapDelegate>) handler myid: (NSString*) myid props: (NSString*) props

たとえば、2 番目のパラメーターに文字列 "<test>" を渡すと、次のエラーが発生します。

a:DeserializationFailed メッセージを逆シリアル化しようとしているときに、フォーマッタが例外をスローしました: 操作 'UploadData' の要求メッセージの本体を逆シリアル化中にエラーが発生しました。名前空間 'http://tempuri.org/' の終了要素 'props' が必要です。名前空間「http://tempuri.org/」から要素「test」が見つかりました。1 行目、338 桁目。

sudzc が文字列パラメータの「<」または「>」文字を処理できないのはなぜですか? これらの文字を手動でエスケープする必要がありますか?

4

1 に答える 1

0

このエラーは iOS または sudzc ジェネレーターに関連しているとは思いません。SOAP はデータ転送に XML を使用するため、 XML 仕様に従って特殊文字をエンコードする必要があります。次の回答を参照してください。

于 2013-01-17T19:04:08.483 に答える