3

Web サービスからの応答として XML を取得しています。この xml のタグの 1 つには、Web サービスがストリームとして送信するドキュメントのコンテンツが実際に含まれています。NSString として解析し、それを NSData に変換して webView にロードした後にドキュメントを抽出しようとすると、UIwebView はドキュメントを表示できず、エラーがスローされます。

EXCEPTION CPMessageException: (null)

以下は、応答として取得している xml のサンプルです (機密情報であるため、正確な xml を提供することはできません)。

<?xml version="1.0" ?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><content xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns6:BinaryContent" pageModifier="" pageNumber="0" format="msw8"><ns6:renditionType>PRIMARY</ns6:renditionType><ns6:Value>0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAACAAAAvAAAAAAAAAAAEAAAvwAAAAEAAAD+////AAAAALoAAAC7AAAA///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////spcEABYAJBAAA+BK/AAAAAAAAEAAAAAAACAAAT0oAAA4AYmpiahr3GvcAAAAAAAAAAAAAAAAAAAAAAAAJBBYAOFoAAHidAAB4nQAAQUIAAAAAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//w8AAAAAAAAAAAD//w8AAAAAAAAAAAD//w8AAAAAAAAAAAAAAAAAAAAAALcAAAAAAO4bAAAAAAAA7hsAAGAoAAAAAAAAYCgAAAAAAABgKAAAAAAAAGAoAAAAAAAAYCgAABQAAAAAAAAAAAAAAP////8AAAAAdCgAAAAAAAB0KAAAAAAAAHQoAAA4AAAArCgAAAwAAAC4KAAANAAAAHQoAAAAAAAAyz4AAGYBAADsKAAAAAAAAOwoAAAAAAAA7CgAAAAAAADsKAAAAAAAAOwoAAAAAAAAHCsAAAAAAAAcKwAAAAAAABwrAAAAAAAASj4AAAIAAABMPgAAAAAAAEw+AAAAAAAATD4AAAAAAABMPgAAAAAAAEw+AAAAAAAATD4AACQAAAAxQAAAogIAANNCAABaAAAAcD4AABUAAAAAAAAAAAAAAAAAAAAAAAAAYCgAAAAAAAAcKwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcKwAAAAAAABwrAAAAAAAAHCsAAAAAAAAcKwAAAAAAAHA+AAAAAAAAAAAAAAAAAABgKAAAAAAAAGAoAAAAAAAA7CgAAAAAAAAAAAAAAAAAAOwoAAAwAgAAhT4AABYAAABaLAAAAAAAAFosAAAAAAAAWiwAAAAAAAAcKwAAygAAAGAoAAAAAAAA7CgAAAAAAABgKAAAAAAAAOwoAAAAAAAASj4AAAAAAAAAAAAAAAAAAFosAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHCsAAAAAAABKPgAAAAAAAAAAAAAAAAAAWiwAAAAAAABaLAAApgEAAJY7AACMAQAAAAAAA</ns6:Value></content></S:Body></S:Envelope>

実際にはドキュメントのコンテンツであるを抽出<ns6:Value>し、UIwebView に表示する必要があります。これについてのガイダンスが必要です。

4

1 に答える 1

1

ついに解決策を見つけました。基本的に、ストリームはbase64でエンコードされた形式で提供されていました。したがって、最初にデコードする必要があります。これにより、正しいNSDataが提供されます。任意のbase64エンコーディング/デコーディングライブラリを使用します。

于 2012-12-12T19:47:30.077 に答える