Элемент Base64 (из xml) слишком большой, чтобы его можно было поместить в строку? - PullRequest
2 голосов
/ 09 января 2012

Ниже приведено возвращение одного из моих веб-сервисов (это pdf в base64):

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <ns2:getVoucherResponse xmlns:ns2="http://mywebservice.com/">
         <voucher>JVBERi0xLjMKMSAwIG9iago8PCAvVHlwZSAvQ2F0YWxvZwovT3V0bGluZXMgMiAwIFIKL1BhZ2Vz
IDMgMCBSCi9PcGVuQWN0aW9uIDggMCBSID4+CmVuZG9iagoyIDAgb2JqCjw8IC9UeXBlIC9PdXRs
aW5lcyAvQ291bnQgMCA+PgplbmRvYmoKMyAwIG9iago8PCAvVHlwZSAvUGFnZXMKL0tpZHMgWzYg
MCBSCjE4IDAgUgpdCi9Db3VudCAyCi9SZXNvdXJjZXMgPDwKL1Byb2NTZXQgNCAwIFIKL0ZvbnQg
PDwgCi9GMSA5IDAgUgovRjIgMTIgMCBSCj4+Ci9YT2JqZWN0IDw8IAovSTEgMTAgMCBSCi9JMiAx
MSAwIFIKL0kzIDEzIDAgUgovSTQgMTUgMCBSCi9JNSAxNyAwIFIKL0k2IDIwIDAgUgo+Pgo+Pgov
TWVkaWFCb3ggWzAuMDAwIDAuMDAwIDU5NS4yODAgODQxLjg5MF0KID4+CmVuZG9iago0IDAgb2Jq
ClsvUERGIC9UZXh0IC9JbWFnZUMgXQplbmRvYmoKNSAwIG9iago8PAovQ3JlYXRvciAoZG9tcGRm
KQovQ3JlYXRpb25EYXRlIChEOjIwMTIwMTA5MTA0NzEwKzAxJzAwJykKL01vZERhdGUgKEQ6MjAx
MjAxMDkxMDQ3MTArMDEnMDAnKQo+PgplbmRvYmoKNiAwIG9iago8PCAvVHlwZSAvUGFnZQovUGFy
ZW50IDMgMCBSCi9Db250ZW50cyA3IDAgUgo+PgplbmRvYmoKNyAwIG9iago8PCAvRmlsdGVyIC9G
bGF0ZURlY29kZQovTGVuZ3RoIDE3MjEgPj4Kc3RyZWFtCnic3VnNchpHEL7zFHOzXbFH8//jU5DA
llIYHMCuSkU5rGAt4QCLF1Dst/Hr5E2inPMA6f2bXdhZCbglVhlJPd093V//TM+oRTAjBMEnSz+5
RPFt63yMFCZAN4xiqygaT1F3nJClsZgZz4LN+CnFwpG/tKTWWCb64YtKhbUkOadSAlNB0GTROrui
qBO1fm5SA2RBUjWaMKxpna6swUqThH72hsJOGH7+hNDzy4vB8P3gBRp/3hMwDCvGnQBQM4FxOH+N
KvwN9nBOMeFgkHQLu3q6SzQJ1mj6bBvfhstJ+BItwngyQ9MQLaPtGk2i5SaYbMIYMXHGxB0KN9Vt
uQFNgiPNNebW1vXrM/0ZBVv0A+fo+jm5fkGR1uAWohpx8ZQHJKVVP7OgFzAb7YffCKyVdtbwwpqP
gw8Xl90heoXOB33UefbnxWW7/7Zbx10ri7lhdX/eFeis4od1uEyAmYToJloChA+Tu2B5G6LpX2t0
H23iEAVxPLt/CJ2bTUncED1pVGrNAaDUicO3rTyDwSdjCVo4fQVlXqFQDFSgFDLF7+jTE1YrobGh
xkElipy+Wn6K4kWwmQE4l9EmnFej7TaWYrdSwFUGxacY1C8tC5QxmfkGX8XPOauA+KqiQpmrUA6W
1DUlCwkhXaC7W3NO0sJXjOxJFAvEQFMxvgXAQOflxVLDMgyG4eQOMgb+o+0S3f2ToPAanbd7vXbn
qj9Cl4Nxt7dTULlGaRnmRNU1vhv0x++7vd5Vd1hNW2gllKtUjFX6hRNze3xpJRFSLGt12Y9uU80x

[...]

tTpDkmdIevmFgJAzL3/SkhOYUnUaU6nrcEnoRkaIupXDwYdxF3W66KI97A/6L5OdNK346VQrjokV
HtWQG5KZuuqPs/k8BOzfQUNbhfP5DELiU8yh+WtPiIVN0ojVFY/TkBLCuVDAaKk16Ay9Cb6i194N
oJcIxTwbaAZFqeobdBfBLNliUVqOgzCOVlG8+fEmmM+D6Wy5xpNo4dlOmOT4UuV2xUItyRWxefbv
lYVUWb1wUMW05yzacZOyrCvwvV7mX/D2sqyvcJkdvGXbKijzHUrWyEqZ7Pcn2xZXcDIqT9saQl+P
77O2NYMW5utaXGnfVJHUha40LUAoLxyDBTcpZDkbIywrG+HKBkj5MlSHKquDFZZ9r/YJKw5nLvYF
6C2r5EKFLorDjlV0vO8Pm08uOF8gkw36A9z7Cf2KfoPv01ahEnoshfa1gJBgqkrCHI1S83Mq7Myt
x3rksR5aHK+0NscrumIklUeCQcIKYut+jcLbBZzdMNxMw9LBJl8YzGBQ3eALDDuGlYTcF0cVYB85
</voucher>
      </ns2:getVoucherResponse>
   </soap:Body>
</soap:Envelope>

Я отправляю свой запрос веб-сервиса по простому протоколу http и получаю ответ тем же способом.Я пытался разобрать ответ xml и сохранить ответ в виде строки, но кажется, что ответ слишком велик.

Что лучше всего было запастать ваучер элемента, а затем декодировать base64?

Любая помощь приветствуется;)!

1 Ответ

1 голос
/ 09 января 2012

Существует библиотека Base64 на Android 2.2+ (API 8), но если вы хотите, чтобы ваш проект был доступен для более ранних версий, вы можете добавить код Android в библиотеку к вашему проекту, у вас есть исходный код библиотеки Base64.java: http://hi -android.info / src / android / util / Base64.java.html

...