我的 iOS 应用程序调用 .NET Web 服务来恢复 PDF 时遇到一个奇怪的问题。
- Web 服务做一些事情,并返回一个 PDF 文档作为 Web 服务的参考(通过out 参数)
- iOS 应用程序调用 Web 服务,接收答案并处理接收到的 XML。
首先,Web 服务只返回一个“简单”的 pdf(在 Word 中创建)。我测试了我的应用程序,一切运行良好。
当时我很开心 :)。然后,我使用 Microsoft Report Viewer 来真正生成 PDF...
所以我真的实现了我的 web 服务来使用 ReportViewer ( http://msdn.microsoft.com/en-us/library/ms251671(v=vs.80).aspx ) 创建 PDF。生成的pdf是正确的,我可以在生成时在我的服务器上打开它。但是当我在 iOS 应用程序中收到答案时,我无法打开它,因为它已损坏。
这是我从 Web 服务收到的 XML 的不同之处:
- 当我返回使用 Word 生成的 pdf 时:http: //pastie.org/7982815
- 当我返回使用 ReportViewer 生成的 pdf 时:http: //pastie.org/7982811
因此,主要区别在于图像参数与简单 PDF为一体,与 ReportViewer PDF拆分。
实际上我不知道为什么字节数组会被拆分,而且我不知道我能做些什么来接收有效的 PDF。
再一次,用 ReportViewer 生成的 PDF 很好,我可以在服务器上打开它,当我通过电子邮件发送时,我可以在我的 iPad 上打开它。当 Web 服务将 PDF 作为字节数组返回给我时,问题就来了……