您好,
我需要从文件服务器中选择一个PDF文件,大数据数据处理,将其作为附件和PDF文件名作为字段发送到目标服务器。
作为一个解决方案,返利购物,我创建了一个JAVA代码,并将其用作PI中的JAVA映射。如果PI顾问有类似的要求,企业软件公司,我希望此代码能帮助他们。
*/*
*创建于2015年5月14日
*
*要更改此生成文件的模板,请转到
*窗口>;首选项>;Java>;代码生成>;代码和注释
*/
包附件;
/**
*@作者ashutosh upadhyay
*
*要更改此生成类型注释的模板,返利联盟,数据分析与大数据,请转到
*窗口
首选项
Java
代码生成
代码和注释
*/
导入输入流;
导入java.io.OutputStream输出流;
导入com.sap.aii公司.映射.api.AbstractTransformation;
进口com.sap.aii公司.映射.api.Attachment;
导入com.sap.aii公司.mapping.api.dynamicConfiguration密钥;
导入com.sap.aii公司.mapping.api.OutputAttachments输出附件;
导入com.sap.aii公司.映射.api.TransformationInput;
导入com.sap.aii公司.映射.api.TransformationOutput;
导入com.sap.aii公司.mapping.api.DynamicConfiguration配置;
public class AddAttachment extends AbstractTransformation{
private static final DynamicConfigurationKey\u FILENAME=DynAMIConfigurationKey.create文件("HTTP//SAP/COM/XI/XI/St/文件","FileName");
public void transform(TransformationInput TransformationInput,转换输出转换输出{
//系统输出打印("A");
//访问动态配置
InputStream InputStream=转换输入.getInputPayload().getInputStream();
OutputStream OutputStream=转换输出.getOutputPayload().getOutputStream();
动态配置形态=转换输入.getDynamicConfiguration();
字符串文件名=";
文件名=配置获取(KEY_文件名);
//系统输出打印("C"+文件名);
//设置文件名
配置输出(KEY_FILENAME,FILENAME);
try{
//a)为XML填充XML
String fresult="";
//创建XML
fresult="";
fresult=fresult.concat公司("";
结果=fresult.concat公司("");
fresult=fresult.concat公司(文件名);
fresult=fresult.concat公司("");
fresult=fresult.concat公司("");
outputstream.write文件(fresult.getBytes文件("UTF-8");
//写附件
输出附件输出附件=transformationOutput.getOutputAttachments文件();
byte[]b=新字节[inputstream.available可用()];
inputstream.read文件(b) ;
附件newAttachment=outputAttachments.create文件(文件名,"application/pdf",b);
outputAttachments.setAttachment文件(新附件);
}
catch(Exception e){
getTrace().addDebugMessage(e.getMessage());
}
}
输出:
这个帖子真的很有帮助,谢谢。。