Software AG Products 10.7 | Integrating On-Premises and Cloud Applications | Integration Server Built-In Services | Flow Folder | Summary of Elements in this Folder | pub.flow:savePipelineToFile
 
pub.flow:savePipelineToFile
WmPublic. Saves the current pipeline to a file on the machine running Integration Server.
Input Parameters
fileName
String Relative or absolute path to a file on the server file system in which Integration Server saves the contents of the pipeline. If the file or directory is not found at run time, the service creates it.
For a filename that does not include an absolute path, Integration Server calculates the relative path from the default pipeline directory which is located here: Integration Server_directory /instances/instance_name/pipeline
When you specify a path for the fileName input parameter and the path is outside of the pipeline directory, Integration Server verifies whether it is specified in the allowedWritePaths parameter of the file access control configuration file (fileAccessControl.cnf). If the file path is not specified in the allowedWritePaths parameter, Integration Server issues an exception. Otherwise, Integration Server either creates the file if it does not yet exist or overwrites the existing file if one already exists.
Output Parameters
None.
Usage Notes
This service is helpful in the interactive development or debugging of an application. In some cases, however, using the Pipeline debug property for the debugging of an application is more efficient. For more information about the Pipeline debug property, see webMethods Service Development Help.
The watt.server.checkPath.savePipelineToFile server configuration parameter determines whether Integration Server verifies that the provided filename is in the default pipeline directory or is in the allowedWritePaths parameter of the file access control configuration file (fileAccessControl.cnf). When this parameter is set to true, the default, Integration Server verifies that the path or directory specified in filename is in the default pipeline directory or is specified in the allowedWritePaths parameter. If the file is outside of the default pipeline directory and it is not in the allowed list, the service ends with a ServiceException. When the watt.server.checkPath.savePipelineToFile parameter is set to false Integration Server does not verify that the specified filename is in the default pipeline directory or in the allowedWritePaths parameter.
The pub.flow:savePipelineToFile can always write files to the default pipeline directory which is located here: Integration Server_directory /instances/instance_name/pipeline. You do not need to include the default pipeline directory in the allowedWritePaths parameter.
The fileAccessControl.cnf file is located in the following directory: Integration Server_directory /instances/instance_name/packages/WmPublic/config
If fileName specifies a filename with an invalid character the pub.flow:savePipelineToFile service appears to work but, in fact, does not persist the file to disk. If a subsequent call to pub.flow:restorePipelineFromFile that specifies the same invalid filename is made within the same server session, the service restores the pipeline successfully. However, if pub.flow:restorePipelineFromFile specifies the invalid filename after Integration Server restarted, the service fails with a FileNotFoundException. To avoid this situation, make sure the fileName value does not include any invalid characters.
When using MTOM streaming for SOAP attachments, messageContext variables and/or XOPObject fields will not be available in the saved pipeline. A messageContext variable is used by many pub.soap services to hold the SOAP message on which the service acts. XOPObject fields are Objects that use the com.wm.util.XOPObject Java wrapper type. For more information about MTOM Streaming, see the Web Services Developer’s Guide.
The following table shows the data types and classes that this service can write to the output file if they are included in the pipeline:
For
Java data types
*byte[]
*Date
*GregorianCalendar
*IData
*IData[] (IData list)
*String
*String[] (String list)
*String[][] (String table)
*Vector
Java wrapper classes
*Boolean
*Byte
*Character
*Double
*Float
*Integer
*Long
*Short
*Single dimension arrays of any of the above
webMethods classes
*MBoolean
*MByte
*MDouble
*MFloat
*MInteger
*MLong
*MShort
*Single dimension arrays of any of the above
Object arrays
Any non-array item listed in this table.
See Also
pub.flow:restorePipelineFromFile
pub.flow:savePipeline