在 Custom Mediator、WSO2 ESB 中向 SOAP 消息添加附件

Add attachment to SOAP message in Custom Mediator, WSO2 ESB

我正在尝试在 WSO2 ESB 中实现一个自定义调解器,我想要实现的是调解器必须将文件路径作为输入,然后将其作为附件添加到 SOAP 消息中。

到目前为止我编写的中介程序代码获取附件路径并打印 SOAP 消息。现在我浏览了 MessageContext 接口的文档,我可以看到我们可以将 add/remove 元素添加到 SOAP 消息等,但我不知道如何在 SOAP 消息中添加附件。有什么想法吗?

import javax.activation.FileDataSource;
import org.apache.axiom.soap.SOAPBody;
import org.apache.synapse.MessageContext; 
import org.apache.synapse.mediators.AbstractMediator;

public class SoapModifier extends AbstractMediator { 

private String AttachmentFilePath;  

public boolean mediate(MessageContext context) { 
    context.setDoingSWA(true);
    FileDataSource fileDataSource = new FileDataSource(AttachmentFilePath);
    SOAPBody soapBody = context.getEnvelope().getBody();
    System.out.println("Message Being Processed : " + context.toString());
    return true;
}

public String getAttachmentFilePath(){
    return AttachmentFilePath;
}

public void setAttachmentFilePath(String path){
    AttachmentFilePath = path;
}
}

这可能有帮助 Attachments API in Apache Axis2