我有一個的Flex應用程序需要抓住從JasperReports的服務器報告數據,通過的JasperReports Server Web服務API。 Flex Builder 3在生成Web服務消耗代碼方面做得不錯,只有一個例外。如果你問一個目錄列表或報表參數的會計,JR服務器在SOAP包裝和的Flex解析它就好了返回純XML 。但是,如果你問一個報告本身,無論是在XML或PDF格式,它回來作爲多MIME消息,一些描述XML作爲第一部分和報告 - 即使報告本身是XML - 作爲第二部分。 Flex不知道如何處理多部分消息,只是抱怨無效XML。解析Flex中的多部分SOAP響應?
下面是響應的示例。我目前的策略是做一些字符串解析並單獨管理位。但Flex有任何內置的方法來處理這個? (我一直無法找到任何。)
------=_Part_2_27050467.1235668849951
Content-Type: text/xml; charset=UTF-8
Content-Transfer-Encoding: binary
Content-Id: <0F082AF1DAF83B3077B1867B4FC8AAA6>
<?xml version="1.0" encoding="utf-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<ns1:runReportResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://axis2.ws.jasperserver.jaspersoft.com">
<runReportReturn xsi:type="xsd:string"><?xml version="1.0" encoding="UTF-8"?>\n<operationResult version="2.0.1">\n\t<returnCode><![CDATA[0]]></returnCode>\n</operationResult>\n
</runReportReturn>
</ns1:runReportResponse>
</soapenv:Body>
</soapenv:Envelope>
------=_Part_2_27050467.1235668849951
Content-Type: application/pdf
Content-Transfer-Encoding: binary
Content-Id: <report>
%PDF-1.4\n%âãÏÓ\n1 0 obj <</Filter/FlateDecode/Length 29>>stream\nx+är\ná26S°00S\bIár\rá\näâ