WSO2 EI 6.5.0从收到的MTOM消息中提取文件名和内容类型

WSO2 EI 6.5.0从收到的MTOM消息中提取文件名和内容类型,wso2,wso2ei,Wso2,Wso2ei,使用WSO2 EI 6.5.0从MTOM消息中提取文件名和内容类型的正确方法是什么? 例如,webservice具有附件列表: <soapenv:Body> <ns1:attachmentList> <ns1:attachment> <ns1:attachmentContent>cid:test1</ns1:attachmentContent> </ns1:attac

使用WSO2 EI 6.5.0从MTOM消息中提取文件名和内容类型的正确方法是什么? 例如,webservice具有附件列表:

<soapenv:Body>
    <ns1:attachmentList>
        <ns1:attachment>
            <ns1:attachmentContent>cid:test1</ns1:attachmentContent>
        </ns1:attachment>
    </ns1:attachmentList>
    <ns1:otherAttachmentList>
        <ns1:attachment>
            <ns1:attachmentContent>cid:test2</ns1:attachmentContent>
        </ns1:attachment>
    </ns1:otherAttachmentList>
</soapenv:Body>

cid:test1
cid:test2
这就是SoapUI的原始调用的样子,我想从“Content-Type:application/pdf;name=test1.pdf”中提取信息:

----=\u Part\u 14\u 155126574.1598958085923
内容类型:application/pdf ;;name=test1.pdf
内容传输编码:二进制
内容ID:
...
我需要使用提取的信息将消息转换为:

<soapenv:Body>
    <ns1:attachmentList>
        <ns1:attachment>
            <ns1:attachmentFileName>test1.pdf</ns1:attachmentFileName>
            <ns1:attachmentFileName>application/pdf</ns1:attachmentFileName>
            <ns1:attachmentContent>base64_encoded_value</ns1:attachmentContent>
        </ns1:attachment>
    </ns1:attachmentList>
    <ns1:otherAttachmentList>
        <ns1:attachment>
            <ns1:attachmentFileName>test2.pdf</ns1:attachmentFileName>
            <ns1:attachmentFileName>application/pdf</ns1:attachmentFileName>
            <ns1:attachmentContent>base64_encoded_value</ns1:attachmentContent>
        </ns1:attachment>
    </ns1:otherAttachmentList>
</soapenv:Body>

test1.pdf
申请表格/pdf
base64_编码_值
test2.pdf
申请表格/pdf
base64_编码_值
默认情况下,WSO2使用base64编码中相应的文件内容替换“cid:”值,但我还需要获取文件名和内容类型。 我可以创建自定义中介以从中获取这些值,但如何将其映射到相应的attachmentList或otherAttachmentList?我无法比较base64内容值,因为两个列表的文件可能相同。。。 另一个选项是关闭“cid:”自动替换为base64编码-可能吗

<soapenv:Body>
    <ns1:attachmentList>
        <ns1:attachment>
            <ns1:attachmentFileName>test1.pdf</ns1:attachmentFileName>
            <ns1:attachmentFileName>application/pdf</ns1:attachmentFileName>
            <ns1:attachmentContent>base64_encoded_value</ns1:attachmentContent>
        </ns1:attachment>
    </ns1:attachmentList>
    <ns1:otherAttachmentList>
        <ns1:attachment>
            <ns1:attachmentFileName>test2.pdf</ns1:attachmentFileName>
            <ns1:attachmentFileName>application/pdf</ns1:attachmentFileName>
            <ns1:attachmentContent>base64_encoded_value</ns1:attachmentContent>
        </ns1:attachment>
    </ns1:otherAttachmentList>
</soapenv:Body>