Java SOAP附件和数据处理程序

Java SOAP附件和数据处理程序,java,soap,datahandler,Java,Soap,Datahandler,如何检索SOAP附件? 我正在做如下事情: Iterator<AttachmentPart> i = soapMessage.getAttachments(); while(i.hasNext()) { AttachmentPart obj = i.next(); InputStream rawContent = obj.getRawContent(); } Iterator i=soapMessage.getAttachments(); while(i.hasNe

如何检索SOAP附件? 我正在做如下事情:

Iterator<AttachmentPart> i = soapMessage.getAttachments();
while(i.hasNext())
{
    AttachmentPart obj = i.next();
    InputStream rawContent = obj.getRawContent();
}
Iterator i=soapMessage.getAttachments();
while(i.hasNext())
{
附件部分obj=i.next();
InputStream rawContent=obj.getRawContent();
}
原始内容返回如下内容:

------=_零件_2980_1570690085.1342564119748

内容类型:图片/png;Name=IMG_0583.png

内容传输编码:BASE64

内容处置:附件;Filename=IMG_0583.png

内容id:1

内容位置:IMG_0583.png

内容长度:11210

IVBORW0KGGOAAAANSUHEUGAAARMAABFCAMAAD8MTMPAAAC/VBMVEUBIRIZH6QFBSGWAYWSDATE AYM9DIFSCYYSGCIQISVJES3EDDLMFINYGDDFYZKGJBMGZGHMTEPNJWSSA3JKDQYTUKH3IKDKK

------=_零件_2980_1570690085.1342564119748--


如何检索上面以粗体突出显示的部分?

我想您应该使用
getContent
方法,而不是原始方法:

obj.getContent();

或者
getBase64Content
方法,也就是编码是base64

我遇到的问题是调用getBase64Content()返回原始内容的base64编码值,而图像已经是base64编码的,如上面突出显示的原始内容中所示。假设原始图像是,原始内容是B。B中有A的Base64编码版本。调用getBase64Content()返回C,这是B的Base64编码版本。我不想要C,我想要的只是B中的B1。让我也尝试一下obj.getContent()。我还尝试了obj.getContent(),它返回了一个实例:javax.mail.internet.mimemultipart然后你完成了:看这个