Creation
Deploy
Testing
Search Deployed Module
Jar Files Required
Bean Java Class
public class FTPSArchiveBean implements SessionBean, Module {
public ModuleData process(ModuleContext moduleContext,ModuleData inputModuleData)
{
Message msg = (Message) inputModuleData.getPrincipalData();
MessageKey key = new MessageKey(msg.getMessageId(), msg.getMessageDirection());
//Get Payload
InputStream payloadIn = new ByteArrayInputStream(msg.getDocument().getContent());
ByteArrayOutputStream payloadOut = new ByteArrayOutputStream();
payloadOut.write(payloadStr.getBytes());
//Set payload
msg.getDocument().setContent(payloadOut.toByteArray());
inputModuleData.setPrincipalData(msg);
return inputModuleData;
}
Audit Log
AuditAccess audit = PublicAPIAccessFactory.getPublicAPIAccess().getAuditAccess();
audit.addAuditLogEntry(key, AuditLogStatus.SUCCESS, "XXXX: Module called");
audit.addAuditLogEntry(key, AuditLogStatus.ERROR, "XXXX: Something failed");
Optional Fields
String addTimeStamp="true";
Enumeration<String> paramList = moduleContext.getContextDataKeys();
while( paramList.hasMoreElements()) {
if (paramList.nextElement().equals("addTimeStamp")) {
addTimeStamp = (String) moduleContext.getContextData("addTimeStamp"); break;
}
}
Mandatory Fields
String Host = (String) moduleContext.getContextData("Host");
int Port = Integer.parseInt(moduleContext.getContextData("Port"));
String User = (String) moduleContext.getContextData("User");
String Pwd = (String) moduleContext.getContextData("pwd");
Get ASMA
MessagePropertyKey FileKey = new MessagePropertyKey("FileName","http://sap.com/xi/XI/System/File");
MessagePropertyKey DirectoryKey = new MessagePropertyKey("Directory","http://sap.com/xi/XI/System/File");
String SourceFileName = msg.getMessageProperty(DirectoryKey)+msg.getMessageProperty(FileKey);
for (MessagePropertyKey mpKey : msg.getMessagePropertyKeys()) {
String mpName = mpKey.getPropertyName();
String mpNamespace = mpKey.getPropertyNamespace();
String mpValue = msg.getMessageProperty(mpKey);
}
Set ASMA
String DynTargetFolder = "\ABC\XYZ\";
msg.setMessageProperty(DirectoryKey,DynTargetFolder);
Links: