// Create BPEL
BPELScript bpel = new BPELScript(workflow);
bpel.create(BPELScriptType.GPEL);
GpelProcess gpelProcess = bpel.getGpelProcess();
WorkflowWSDL workflowWSDL = bpel.getWorkflowWSDL();
WsdlDefinitions definitions = workflowWSDL.getWsdlDefinitions();
File bpelFile = new File(this.temporalDirectory, filename + XBayaConstants.BPEL_SUFFIX);
File wsdlFile = new File(this.temporalDirectory, filename + XBayaConstants.WSDL_SUFFIX);
XMLUtil.saveXML(gpelProcess.xml(), bpelFile);
XMLUtil.saveXML(definitions.xml(), wsdlFile);
// Save the workflow
File workflowFile = new File(this.temporalDirectory, filename + XBayaConstants.WORKFLOW_FILE_SUFFIX);
XMLUtil.saveXML(workflow.toXML(), workflowFile);
// Read the workflow
XmlElement workflowElement = XMLUtil.loadXML(workflowFile);
workflow = new Workflow(workflowElement);
// Create BPEL again
bpel = new BPELScript(workflow);
bpel.create(BPELScriptType.GPEL);
gpelProcess = bpel.getGpelProcess();
workflowWSDL = bpel.getWorkflowWSDL();
definitions = workflowWSDL.getWsdlDefinitions();
File bpelFile2 = new File(this.temporalDirectory, filename + "-2" + XBayaConstants.BPEL_SUFFIX);
File wsdlFile2 = new File(this.temporalDirectory, filename + "-2" + XBayaConstants.WSDL_SUFFIX);
XMLUtil.saveXML(gpelProcess.xml(), bpelFile2);
XMLUtil.saveXML(definitions.xml(), wsdlFile2);