diff --git a/pom.xml b/pom.xml
index cd94ae8..587ae67 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
org.joget.marketplace
enhanced-soap-tool
bundle
- 7.0.3
+ 7.0.4
enhanced-soap-tool
http://www.joget.org
diff --git a/src/main/java/org/joget/marketplace/EnhancedSoapTool.java b/src/main/java/org/joget/marketplace/EnhancedSoapTool.java
index 257ae17..a4352a4 100644
--- a/src/main/java/org/joget/marketplace/EnhancedSoapTool.java
+++ b/src/main/java/org/joget/marketplace/EnhancedSoapTool.java
@@ -199,13 +199,29 @@ private String prepareRequest(Map properties) {
private void save(String request, String response, String formDefId, String requestFieldId, String responseFieldId) {
AppDefinition appDef = AppUtil.getCurrentAppDefinition();
AppService appService = (AppService) FormUtil.getApplicationContext().getBean("appService");
- FormRowSet rows = new FormRowSet();
+
+ //Get record Id from process
+ WorkflowAssignment wfAssignment = (WorkflowAssignment) getProperties().get("workflowAssignment");
+ String id = appService.getOriginProcessId(wfAssignment.getProcessId());
+
+ //Load the original Form Data record
FormRow row = new FormRow();
+ FormRowSet rowSet = appService.loadFormData(appDef.getAppId(), appDef.getVersion().toString(), formDefId, id);
+ if (!rowSet.isEmpty()) {
+ row = rowSet.get(0);
+ }
+
row.put(requestFieldId, request);
row.put(responseFieldId, response);
- rows.add(row);
+
+ if (!rowSet.isEmpty()) {
+ rowSet.set(0, row);
+ } else {
+ rowSet.add(0, row);
+ }
+
String tableName = appService.getFormTableName(appDef, formDefId);
- appService.storeFormData(formDefId, tableName, rows, null);
+ appService.storeFormData(formDefId, tableName, rowSet, id);
}
protected String xmlCall(String wsdlURL, String username, String password, String operationName, Object[] customNamespaces, String xml, String soapAction, boolean debug, boolean useWSS) throws Exception {
@@ -343,7 +359,7 @@ public String getDescription() {
@Override
public String getVersion() {
- return "7.0.3";
+ return "7.0.4";
}
@Override