2012-05-15 4 views
1

webservice에서 반환 한 zip 파일을 저장하려고합니다. 그러나 API는 Base64 Binary 형식으로 인코딩 된 파일을 제공하고 SOAP MTOM 표준에 따라 응답에 포함 된 것으로 보입니다. 나는 2 시간 동안 몇 가지 해결 방법을 시도 했으므로 어떤 도움을 주시면 감사하겠습니다. 응답은 다음과 같습니다php, 어떻게 디코딩/SOAP MTOM 첨부 파일에서 파일을 저장?

--MIMEBoundaryurn_uuid_9ADB5E0C3BD2353F98133706376435374151 
Content-Type: application/xop+xml; charset=utf-8; type="text/xml" 
Content-Transfer-Encoding: binary 
Content-ID: <0.urn:uuid:9ADB5E0C3BD2353F98133706376435374152> 
<?xml version='1.0' encoding='UTF-8'?><downloadFileResponse xmlns="http://www.pe.com/marketplace/services"><ack>Success</ack><version>1.1.0</version><timestamp>2012-05-15T06:36:04.353Z</timestamp><fileAttachment><Size>3204907</Size><Data><xop:Include xmlns:xop="http://www.w3.org/2004/08/xop/include" href="cid:urn:uuid:FED4FAD1B1E74C8B391337063821260"/></Data></fileAttachment></downloadFileResponse> 

--MIMEBoundaryurn_uuid_9ADB5E0C3BD2353F98133706376435374151 
Content-Type: application/zip 
Content-Transfer-Encoding: binary 
Content-ID: <urn:uuid:FED4FAD1B1E74C8B391337063821260> 
here is some messy code ADASLKDAKDNAKJDNAKDNKJNDSAKDJNAKDJADA which is actually the file content itself 

답변

1

나는이 사람을 도움이되기를 바랍니다 ... 나는 단순히 지저분한 문자 전에 모든 마크 업 코드/MIME 형식의 XML 등을 제거하고 .zip 파일로 내용을 저장. 이상적인 솔루션은 아니지만 작동합니다.

--MIMEBoundaryurn_uuid_9ADB5E0C3BD2353F98133706376435374151 
Content-Type: application/xop+xml; charset=utf-8; type="text/xml" 
Content-Transfer-Encoding: binary 
Content-ID: <0.urn:uuid:9ADB5E0C3BD2353F98133706376435374152> 
<?xml version='1.0' encoding='UTF-8'?><downloadFileResponse xmlns="http://www.pe.com/marketplace/services"><ack>Success</ack><version>1.1.0</version><timestamp>2012-05-15T06:36:04.353Z</timestamp><fileAttachment><Size>3204907</Size><Data><xop:Include xmlns:xop="http://www.w3.org/2004/08/xop/include" href="cid:urn:uuid:FED4FAD1B1E74C8B391337063821260"/></Data></fileAttachment></downloadFileResponse> 

--MIMEBoundaryurn_uuid_9ADB5E0C3BD2353F98133706376435374151 
Content-Type: application/zip 
Content-Transfer-Encoding: binary 
Content-ID: <urn:uuid:FED4FAD1B1E74C8B391337063821260> 
+0

[PEAR Mail_MIME] (http://pear.php.net/package/Mail_Mime/) 확장을 사용하는 것이 좋습니다. 어쨌든 공유해 주셔서 감사합니다. –

관련 문제