SOAPMessage.writeTo(OutputStream)을 사용하여 웹 서비스 메시지를 기록합니다. 문제는 첨부 파일을 씁니다. 공간을 많이 차지하며 이진 첨부 파일을 읽을 수 없습니다. 첨부 파일없이 메시지를 기록하는 방법이 있습니까? 예 : 래퍼?첨부 파일이없는 SOAPMessage writeTo
이보다 더 좋은 해결책이 있어야합니다.
ByteArrayOutputStream out = new ByteArrayOutputStream();
message.writeTo(out);
StringBuilder builder = new StringBuilder(out.toString());
int indexOfAttachment = builder.indexOf("------=");
if (indexOfAttachment != -1) {
return builder.substring(0, indexOfAttachment);
}
return builder.toString();
샘플 메시지
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Header />
<S:Body>
<ns2:wsGetObjectByIDResponse
xmlns:ns2="http://xxx.com/"
xmlns:ns3="http://yyy.com/">
<return>
<serviceResponse status="OK" />
<contentData formatName="jpeg_lres"
objectContent="cid:[email protected]"
objectName="Smlouva1.jpg" />
</return>
</ns2:wsGetObjectByIDResponse>
</S:Body>
</S:Envelope>
------=_Part_9_-806948376.1352979403086
Content-Type: image/jpeg
Content-ID: <[email protected]>
Content-Transfer-Encoding: binary
����\x00JFIF\x00\x00�\x00�\x00\x00��\x00C\x00
그래, 일종의 슬픈 거기에 더 나은 방법은 없습니다 ... – Lyth