点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
你好
我希望有人能为我提供帮助。
我有一个要发送邮件的文件方案,我想使用Mail Adapter将目录中的文件传递给客户。
我的问题是邮件适配器不保留文件名。 它将更改为MainDocument.xml。
我尝试通过Java映射和虚拟映射进行传递,但是它并没有改变任何内容。
我还创建了一个UDF来更改内容的配置,但是不知道如何从Java-Mapping中调用它。
也许有人可以帮助我吗?
最诚挚的问候:-)
Kevin Barczewski
(27.5 kB)
我可以自己解决。
我更改了JavaMapping。
如果有人遇到相同的问题,则可以找到该映射:
import java.io.InputStream; 导入java.io.OutputStream;
import com.sap.aii.mapping.api.AbstractTransformation;
导入com.sap.aii.mapping.api.DynamicConfigurationKey;
import com.sap.aii.mapping.api.StreamTransformationException;
import com.sap.aii.mapping.api.TransformationInput;
import com.sap.aii.mapping.api.TransformationOutput;
公共类Passthrough_Content扩展AbstractTransformation {public void transform(TransformationInput TransformationInput,TransformationOutput TransformationOutput)抛出StreamTransformationException
{
试试
{ InputStream inputstream = TransformationInput.getInputPayload()。getInputStream(); OutputStream outputstream = TransformationOutput.getOutputPayload()。getOutputStream();
//将文件名从输入的DynamicConfig复制到输出的内容类型DynamicConfigurationKey
KEY_FILENAME = DynamicConfigurationKey.create(" http://sap.com/xi/XI/System/File"," FileName ");
字符串文件= TransformationInput.getDynamicConfiguration()。get(KEY_FILENAME);
transformationOutput.getOutputHeader()。setContentType(" text/plain; charset = \" UTF-8 \";" +" name = \" " +文件+" \"");
byte [] b =新的byte [inputstream.available()];
inputstream.read(b);
outputstream.write(b);
}
catch(异常异常){getTrace()。addDebugMessage(exception.getMessage()); 抛出新的StreamTransformationException(exception.toString());
}
}
}
致谢
Kevin:-)
嗨
能否请您调查博客中提到的详细信息。
https://blogs.sap.com/2016/03/10/停止使用邮件包来简化您的邮件接收器适配器场景/
这应该有所帮助!
感谢和问候,
Praveen T
Hello Praveen,
感谢您的答复。 我已经看过这个博客,但是他写道,这应该是文件名传输的默认行为。
之间唯一的区别是使用的适配器。 我使用文件适配器,而他正在使用SFTP。
邮件收件人:
ICo:
ICO中的接收器接口
配置为"出站处理"的"收件人邮件适配器"。
我不知道为什么它不起作用。
感谢和问候
Kevin Barczewski
一周热门 更多>