kernel.1.2.source-code.kernel.xsd Maven / Gradle / Ivy
The newest version!
Define data types that your project require, in
addition to the ones that are built-in
There is a predefined type called time-stamp.
Use that. There is no point defining another one
Name is to be unique within a project. text20 is
not a good name. shortDescription is a good name
What is the message to be used to inform the user
that the field is in error. While defining this message in
message.xml note that @1 is for field name, while @2 is for value.
name of function that is used by the client-side
script for formatting this value
used for creating script to create table
comma separated list of valid values. Like
enumeration. eg. 1:first,2:second for integral type, or
first,second for text type
regular expression pattern that this value should
specify. As per Java conventions
If this is decimal, number of digits after decimal
point
defaults to 'data' for storage-record, and
'view' for views
for fields in a view, this attribute
overrides defaultRefRecord at record level
defaults to name
Mandatory if fieldType is one of
valueArray, record or recordArray. This is the name of the
data structure defined in the rdbms that this field
corresponds to
Required if record is marked
forFixedWidthRow. Number of characters this field occupies
in the row.
Is this field to be encrypted before
pushing to data base? Once this is set, all record-based
actions (like read, filter save)will automatically take care
of encrypt/decrypt
Ignored for non-oracle db. Defaults to
tableName_seq if omitted.
Child records that are to be read whenever a row
from this record is read.
Child records that are to be saved along with
this record
Must be provided if this record is a view. This
is the record that the fields are taken from by default. Fields
taken from other records will use referredRecord at field level to
over-ride this
If this record is to be used for listing
key-value pairs, specify the field name to be used for value. Note
that key field is always the primary key.
If this record is to be used for listing
key-value pairs, and the table contains list of values across
groups, like states for all countries, then you need to specify
the field name to be used based on which rows are to be subset.
For example it would be country-code to get list of states for a
given country
First field is typically displayed and used for
matching while second one is the key/internal value
This is not the upper limit, but the number for
which we have to tune the design for. Customers tend to be
defensive, and give large numbers, but that may result in
sub-optimal design. It is important to articulate that this number
will put no restriction on actual number rows
If the underlying table/view is in a schema other
than the default, use this attribute for on-the-fly services for
this record to use the right schema. Note that this attribute is
not used for regular service. You have to use schemaName attribute
at the service level there
should we insist that the client returns the last
time stamp during an update that we match with the current row
before updating it? This technique allows us to detect whether the
row was updated after it was sent to client.
if this table is (almost) static, and the
vauleList that is delivered on a list request can be cached by the
agent. Valid only if valueListFieldis set (list_ auto service is
enabled) if valueListKey is specified, the result will be cached
by that field. For example, by country-code.
Name used by the rdbms to define a structure that
this record corresponds to. Mandatory if this record is used as
child-record by another field in a complex data structure.
If you deal with input or output text/file that
has data as rows with fixed width for fields, you can model that
with this record and specify width for each field. Simplity can
manage to parse text into data sheet as well as output datasheet
into fixed-length text rows
use c-section to avoid xml-escaping issues with
special characters
use this if it is simple. else use
preparedStatement element with c-section to avoid encoding issues
name as in the rdbms
if you use the returned value from the procedure,
then it should be the first parameter
If this procedure is returning one or more result
sets, then use record(s) that match the output fields in each of
this result set. Also, you can not use outputParameters in this
case.
input, output or in-out
If this parameter is a struct, or an array,
specify the type name as defined in the procedure
if this is an object/struct, specify the record
that has represents the struct
is this an array? You should also specify
sqlArrayType
type of the array as defined in the procedure
fully qualified java class name that actually
implements this service. No other attribute is relevant once you
specify this.
Use this ONLY IF you use any jms in your service,
either inside your java classes, or using JmsCOnsumer or
JmsProducer actions.
If input is exactly the same as that of another
service, use this feature. Note that the referred service MUST
have input records, and can not refer to another service
If output is exactly the same as that of another
service, use this feature. Note that the referred service MUST
have output records, and can not refer to another service
Optional. Valid if allowServiceSpecificSchema is
set to true in application.xml. default schema for the connection
is set to this before executing the service.
can the response from this service be cached? If
so what are the input fields that this response depends on?
provide comma separated list of field names. Null (default)
implies that this service can not be cashed.Empty string implies
that the response does not depend on the input at all. If it is
dependent on userId, then "_userId" must be the first field name.
A cache manager can keep the response from this service and re-use
it so long as the input values for these fields are same.
No database usage
No updates to the database
database is updated as a single transaction.
It is
committed or rolled back at the end of this service
Updates are made with no commit/roll back. Use
with caution because this violates the concept of a user
transaction.
No database use by actions, except for
sub-service-actions. Each of the sub-service will manage its
own
transaction.
we do read_write, but the transaction is
managed
externally, like JTA/JCA/XA
messaging activity is not managed under any
transaction management. Any message production/consumption is
auto-committed, and is not rolled-back in case of any error in the
service
messaging activities are not committed till the
service succeeds. They re committed/rolled-back based on the
success/failure of the service. This setting along with
dbAccess=readWrite ensures that both JMS and Db are either
committed together, or rolled-back together readWrite.
Transaction is managed by JTA/JCA/XA. Note that
dbAccess should also be set to external (if specified)
Comma separated list if fields that carry the key
for attachment files. These MUST be included in the input fields.
This is an additional info about those fields for us to manage the
attachment
Refer to attachmentFields. This is for columns in
sheet. use sheetName.columnName to qualify.
Name of the field to which the pay-load is
assigned to. If this feature is used, pay-load is not parsed at
all, but simply assigned to the field as it is. It is assumed that
the service actions will take care of it
Never use this if you are accepting input from an
external source like an http call. Input is parsed with no
validation. Data value types are guessed based on the content. To
be used typically by utility services, and NEVER by a business
service
Give comma separated names of fields to be sent to
client. We will pick up values from context and send these values
to client
Give comma separated names of data sheets to be
sent to client.
Comma separated list if fields that carry the key
for attachment files. These MUST be included in the input fields.
This is an additional info about those fields for us to manage the
attachment
Refer to attachmentFields. This is for columns in
sheet. use sheetName.columnName to qualify.
Any session fields that you want to set or reset.
Comma separated list of names. If you are writing your login
service, this attribute is a MUST to set at least _userId to signal
that the login process is successful.
comma separated names of arrays to be output. A
data sheet with a single column is expected in the service context
as value. If sheet is not found, but a value is found in fields
collection, then we send an array with just one element of that
value.
Use this feature is the service has already
prepared a pay-load.
Content of this field is used as pay-load.
Do not use this for any business service. To be
used for testing
purposes, and by utility services. all values,
arrays and data
sheet are written out as paylaod
Use this option if client is sending one row in
a sheet, but you want to extract the row into fields collection,
rather than a data sheet.
Are you expecting client to send _saveAction to
indicate insert/update operation?
Is data for this sheet being sent by client in
a typical json parent-child way? That is rows for this data
sheet are added as attribute of it parent row?
required when parentSheetName is used. Name of
the column in this sheet that has the value of the parent row
key that.Typycally, this field is not included in the client
data, but we copy it from the parent row.
Required if parentSheetName is used. Field name
in the parent row that is to be copied to the corresponding
column in the child sheet.
Special case where parent-child link is based
on more than one columns. This is typically for tables with
composite primary keys. This is a comma separated list of names.
Special case where parent-child link is based
on more than one columns. This is typically for tables with
composite primary keys. This is a comma separated list of names.
Useful if the data is input for a db operation.
For a key based read operation. Only key
fields re extracted
Fields along with operators, and possibly
to-fields are extracted
Any of the fields can be input. Meant for
updating only the fields that are received from client
new row, or a complete row update
not directly meant for any rdbms operation.
fields are treated as they are defined in the record
Values for an array can be input either as
array or a comma separated field
Use record name as a short-cut to specifying
all the fields. Note that we do not use validate output
parameters. We use only the names to pick values from output,
and send to client
Name of the sheet to be sent to client. We send
all columns as they are.
Sheet name to which this sheet should be
embedded as child rows. You must specify the two link column
attributes for this to work
Required if parentSheet is specified. Column
name in this sheet whose value is treated as parentKey to attach
this row its parent row.
Required if parentSheetName is specified.
Column in parent sheet that has the primary key to parent sheet,
which is used to match with parentKey in child sheet for
embedding.
Special case where parent-child link is based
on more than one columns. This is typically for tables with
composite primary keys. This is a comma separated list of names.
Special case where parent-child link is based
on more than one columns. This is typically for tables with
composite primary keys. This is a comma separated list of names.
comma separated names of arrays to be output. A
data sheet with a single column is expected in the service
context as value. If sheet is not found, but a value is found in
fields collection, then we send an array with just one element
of that value.
first row of this data sheet
act on this if a data sheet exists in context,
and it has at least one row
act on this if context does not have this sheet,
or that sheet has no rows
Message to be flashed if this action
extracts/affected one or more records. This message is to be
defined as a message component
Message to be flashed if this action
extracts/affected one or more records. This message is to be
defined as a message component
In case the message is parameterized, provide
comma separated list of values. Value starting with $ is assumed to
be a fieldName to get value at run time.
In case the message is parameterized, provide
comma separated list of values. Value starting with $ is assumed to
be a fieldName to get value at run time.
Message to be flashed if this action
extracts/affected one or more records. This message is to be
defined as a message component
Sheet to which a column needs to be added
Name of column to be added
What type of value is this column going to
contain.
if the value is going to be the same for all
rows, use this feature. Just specify the value if it is constant.
In case it is a field in the context, specify $fieldName.
Expression that is evaluated for each row to
assign value of the column for that row. Optional if you are going
to assign value later.
data sheet to which the row is to be added
qualified message name from defined messages.
comma separated list of values, if message is
parameterised. value starting with $, like $customerName implies
that the value is to be picked up at run time from that field.
if the message type of the message is ERROR,
should we stop/end this service. Normally you end the service, but
in case you are accumulating validation errors, you may want to
continue.
Sheet from which rows are copied. If this sheet is
not found, or has zero rows, no error is generated, but 0 is the
result
Sheet to which rows are copied to. If this is not
found, we copy entire fromSheet as toSheet, failing which we set 0
as result, but no error.
Field to which userId is to be copied to
Name by which sheet is to be added to
serviceContext. Once added, this sheet is available for subsequent
actions, as well as for output
The record name for creating an empty sheet,
either the data or the recordName needs to be specified.
Of the form
header1,header2...;val11,val12,val13...;val21,val22,val23.... rows
are separated by semicolon(;)and cells are separated by comma(,)
first row is header. refer to fieldValue attribute of setValue for
syntax of cells. Each cell can be either a field name ($fieldNAme)
or constant.
use either a constant, or a $fieldName as value
of the field. If you use this, you should not specify expression.
comma separated list of fields to encrypt or
decrypt
like sheet1.colName1,sheet2.colName1. comma
separated list, each one is of the form sheetNAme.columnName
comma separated list of fields to work encrypt or
decrypt
qualified name of .xml component you have saved
under sp folder. This is NOT the name of stored procedure in your
DB
If your sp has in parameters, by default we pick
them up from name-value pairs. But if you have designed to have
them in a sheet, this is the name of that sheet.
If your sp has out parameters, by default we
extract them to name-value pairs. But if you have designed to have
them in a sheet, this is the name of that sheet.
If your SP extracts one or more result set (but
not return them as parameters), by default we extract them to sheet
names based on record. You may change the names with this
attribute. Use comma separated list if there are 2 or more sheets
If constraints are defined in database, you may
want to use that to try to save, failing which you may want to
treat it as validation error, rather than a SQL Exception.
By default, only the first level children are read
along with the parent. Do you want that action to cascade down to
subsequent generations as well? That is, if the childRecord has
children, read them as well, and so on.
If data needs to be formatted as a json from set
of data fields/sheets in the service context, use this option. If
the data is non-json, or a simple value of a field, use
requestFieldName attribute instead.
If data needs to be formatted as a json from set
of data fields/sheets in the service context, use this option. If
the data is non-json, or a simple value of a field, use
requestFieldName attribute instead.
provide full url. In case the url has parts that
are known at run time, use ${fieldName}. For example
http://.....${orderNo}...${customerId}... Values are substituted at
run time. If field has no value in the context, we use empty string
example application/json or application/xml or
text/html. We assume that the content type is same for both request
and response, in case we send request data as well.
if request data is to be sent, this is the field
that will have the data at run time in service context. Ensure that
the value is as per the requirements for the request.For example it
could be a valid json, xml or form data, as required by the
service.
response from service is assigned as value of this
field in the service context. Not valid if you have specified
responseData provide full url. In case the url has parts that
in case the service request has to go thru a
proxy.
GET, PUT etc..
For proxy credential. use $fieldName in case the
value is known at run time. (not ${fieldName})
For proxy credential. use $fieldName in case the
value is known at run time. (not ${fieldName})
Required if proxy is to be used
false means this action will come out if there is
no message. true means it will wait. depending on value of
consumeAll this may lead to this action working as a perpetual
listener on this queue
false means we will process at most one message. 1
or zero depends on waitForMessage setting and state of the que.
true means we will process all the message available on the queue
first, and then wait depending on the other setting
_stop, _break, _continue or a name of an action to
go to
Comma separated list of names of fields and sheets
whose values are to be logged at this stage.
If you want to loop for each row in a sheet, use
this feature. If this is not specified, you have to specify the
condition to be true to keep looping. Inside the loop, you may use
sheetName.columnName as if it is a field. Simplity will map this to
the column value in the current row of the dta sheet
Use comma separated list of column names, or * to
imply all columns. If you are looping on a sheet, and you want to
refer to the columns in that sheet without prefixing them with
sheet name (for example you want to re-use a service that assumes
that the columns are actually fields in the context) then you may
copy columns from current row into the context as fields for each
loop. Simplity saves existing fields before starting the loop, and
restores them after the loop.
Use comma separated list of column names, or * to
imply all columns. At the end of loop, fields from ctx are copied
to the current row of the sheet. Valid only if you are looping on a
data sheet.
Useful only if this loop is used as an
infinite-loop for a background job. For example as a consumer of a
queue. When this attribute is set to true, a thread-interrupt is
checked at the beginning of each loop. And the execution comes out
of the loop on such an interrupt. Thus the actions in the loop are
executed as a transaction, and are not interrupted. For safety,
this keyword is allowed only if the service is marked as
toBeRunInBackground
put value of this field into message box
Use this as an alternate to fieldName. Expression
is evaluated and the result is put into the message box
content of the message box, if any, is set as text
value of this field name
By default, only the first level children are read
along with the parent. Do you want that action to cascade down to
subsequent generations as well? That is, if the childRecord has
children, read them as well, and so on.
By default, only the first level children are read
along with the parent. Do you want that action to cascade down to
subsequent generations as well? That is, if the childRecord has
children, read them as well, and so on.
Record us used to get the rdbms table and the key
field details. This record must contain the attachment field that
we are replacing. Other fields may be there, but we ignore them.
With this behavior, you may reuse a record define for regular save
operation.
if you want to use a key field name different from
the one defined in the record.
record to check the row
If constraints are defined in database, you may
want to use that to try to save, failing which you may want to
treat it as validation error, rather than a SQL Exception.
auto means we will figure out based on presence of
value of primary key
TEXT or TEMPLATE
Use CDATA section if your expression is complex,
and is confusing with xml escaping for quotes etc..
Note that you have to xml escape double quote and
less-than, greater-than etc.. If this is confusing,use expression
element instead with CDATA section.
use either a constant, or a $fieldName as value
of the field. If you use this, you should not specify expression.
Fully qualified service name
Fully qualified service name
Field to filter on. defaults to what is specified
in record. default is to match anywhere. If you want to match
starting only, then a special field named _matchStarting can be set
to true.
Name of the output data sheet. If not specified,
it defaults to the name as specified in record.
For primary input file, this is the
file-name-pattern as a regular expression. This is NOT wild card.
If there is only one file, you may use $fieldName, @propertyName as
well. For child-file, this may be expressed as part of the main
file name. {name} and {ext} will stand for name and extension of
primary file. or an output file, the reference file is always the
corresponding input file. The file name is relative to the
rootFolder as specified in batchProcess.
qualified name of record that defines the fields
in this flat file
in what format is data received in the file?
For a child file that may have more than one row
for a parent row. This is the list of fields in this file that are
to be matched with corresponding fields in parent as specified in
linkFieldsInParentRow
Required if linkFieldsInThisRow is specified.
This is the list of fields in the parent record to be matched
name of file relative to rootFolder that may
contain {name} and {ext} as name/ext of input file name.
$fieldName to get it as a field
not valid if renameInfileTo is specified. if set
to true, file is deleted after processing
If there are checks/conditions to ignore/reject a
row, specify the expression here. Row that is read is selected for
further processing only if this condition evaluates to true
if the output row should not be written
conditionally. Ensure that this expression evaluates to a boolean
value
Required if linkFieldsInThisRow is specified.
This is the list of fields in the parent record to be matched
name of file relative to rootFolder that may
contain {name} and {ext} as name/ext of input file name.
$fieldName to get it as a field
not valid if renameInfileTo is specified. if set
to true, file is deleted after processing
Details of what to process
Name of the folder where the files where input
files are located. use $fieldName to use a field in the service
context. Child-input files, if any are also expected in this
folder. In case you need to locate them on a different folder, you
should use the relative folder prefix as part of the filename for
the input
Name of the folder where the files are to be
written out. use $fieldName to use a field in the service context.
Child-file output, if any, will also be output to this folder. In
case you need to organize them to a different folder, you may use
relative path as part of the file name.
Name of the service to be executed as a
sub-service in case of error while processing a row.
Name of the service to be executed as a
sub-service in case an input row has validation errors.
Should the batch processing stop after processing
the current row in case of an interrupt issued by the admin?
Use this ONLY IF you use any jms in your service,
either inside your java classes, or using JmsConsumer or
JmsProducer actions.
What kind of transaction management is to be used
per row in this batch processing
In case this batch process uses a schema other
than the default for the project
If this processor isdesigned to work in more than
one file, some logic may need to get teh actual file name being
processed. This is the field name to which the actual driver
filebeing processed is set to in service context
Specify details of input file
Specify details of output file, if any
action to be executed for this row, before
processing any child row. If there are more than ne rows use
block action to group them
action to be executed for this row, after
processing any child rows. If there are more than ne rows use
block action to group them
one or more file processors associated with
this. Like lines for a header
for creating aggregated fields group by keys
Use this option to use the result of query as the
primary driver for batch processing. Either this is to be
specified or inputFile is to be specified
If you have custom code that writes some output.
This can be provided in addition to outputFile and outputQueue
In case you have custom code that provides input
rows for a bact procesor. Note that a batchRowProcessor shoudlhave
one and onl one wy to input
If there are aggregators, and under some
circumstane, you want to proces the row, but not
accumulate/aggregate. If specified, the row is aggregated only if
this expression evaluates to true;
It os possible to output teh value as decimal
or
integral irrespective of the input field type
Name of the field/column in the child row
being accumulated. For count, use * as the name if you wnt to
count all rows. Otherwise only rows with non-null value of this
column are counted.
Name of the field/column with which the
aggregated value is written out to parent row/context
Relevant for math functions. Default would be
to output accumulated valuea as number/integer.
Field to filter on. defaults to what is specified
in record. default is to match anywhere. If you want to match
starting only, then a special field named _matchStarting can be set
to true.
Name of the output data sheet. If not specified,
it defaults to the name as specified in record.
Typically child tables that are read/saved along
with parent
related record name. Fully qualified please.
sheet name that has data for this record
if the child rows are not referred any where
else, it is simpler at times to just delete all existing rows,
and insert new ones. Use this flag for such an operation. Note
that save action at the rows are ignored, and all rows are
inserted
define functions by mapping name to class
Simple name. This service will be referred
as fileName.name
Of course, good description, but not story.
fully qualified class name like
com.example.a.service.MyService
Define services that are implemented using java
class
Attributes like user name and password etc..
that may have to be put into environment before getting conection
factory. refer to your JMS provider manua, like jboss for details
If your application used more than one schemas,
then you need to provide details for non-default schema
Setup details for the LDAP connection
This must be UNIQUE within a corporate, so that
we can use it as identity for inter-application communication
During development, we prefer not to cache
components, so that any change to them is immediately reflected in
the application. This reduces the build requirements.
vendor specific specific syntax used ONLy when
ansi syntax is not available for the specified vendor
complete string including credentials
Preferred way to establish connection.
login service will be called with loginId and
securityToken. If you use SSO, security token would be the
authenticated ssoId, otherwise it would be the password entered by
user. This service MUST set _userId as sessionField using
sessionFields="" attribute of outputData tag. All these fields
will be used as global data, and will be made available to all
services.
If your application needs to do anything when
user logs-out/times-out do you need to do anything? Specify the
service name that is going to be called. userId as well all global
fields are going to be available to your service. Also a boolean
is supplied that indicates whether the user logged-out explicitly,
or got timed-out
Simplity need to know the data type of userId
(identify of the logged-in user that is generally saved in tables
as modified-by-user). Default is text, which you can change to
integral. Of course, we do not allow you to design it as any other
type
If a batch job is to be started whenever the
application comes up, use this option. It is possible that the
batch job is run on a different container than the regular
on-line, in which case you may have custom-made application.xmlfor
each.
Responses can be cached at http(web tier) as well
as at service (app tier). specify the qualified class name for the
service cache manager that implements ServiceCacheManager
interface. Services should indicate cacheability in response
service data (refer to service.xml attributes)
refer to org.simplity.service.AccessController
class.
refer to org.simplity.service.ExceptionListener
class. This feature allows you to wire exceptions to any corporate
infrastructure to deal with exceptions
Should the server log the sqs that are being
executed? This would be off in production for security reasons,
but would be quite helpful during development
Simplity provides a simple way to store
attachments in folder that is accessible to web tier as well as
App tier. Use this attribute to set the folder.
Way to interface with your own attachment
management infrastructure. This plug-in handles storage and
retrieval for all your services. Refer to
org.simplity.AttachmentManager class
By default, service-log is wrapped in a simple
xml element and the actual trace text is put inside a CDATA
section. You may format it differently using your own wrapper that
implements
should the trace/log for the service execution be
arranged to be sent to the caller/client? True during development,
false during production
During development/demo, login would be a
nuisance. You may disable that, and use a default userId for all
services. Ensure that this is a number in case your project uses
numeric value as userId, as set in userIdIsNumberattribute.
Responses can be cached at http(web tier) as well
as at service (app tier). specify the qualified class name for the
http cache manager that implements HttpCacheManager interface.
Services should indicate cacheability in response service data
(refer to service.xml attributes)
By default, service-log is emitted to console
(System.out). If you use any of the standard logging framework,
and you would like to service log to be diverted to your logger.
Old
log4J uses log4j-1.17.jar
Version 2.* of log4J. uses log4j-api-2.7.jar
Also known as JCL, uses
commons-logging-1.2-SNAPSHOT.jar
SLF4J adapter that you can bind to any other
framework. For example slf4J-Simple or LogBack.
slf4j-api-1.7.2.jar
Plain vanilla java.util.logging. Requires no
jar file, but configuration is the key
JNDI name for jms connection factory for a
non-JTA/JCA/XA aware connection. For example
java:/ConnectionFactory for JBOSS.
JNDI name for jms connection factory for a
JTA/JCA/XA aware connection. For example java:/JmsXA for JBOSS.
JNDI name for a UserTransaction instnce to manage
a JTA transaction. For example java:comp/UserTransaction in JBOSS
number of threads that are retained in the pool
for the batch even if they are idle.
Required if you use batch components inside some
EJB containers like Websphere. for example
java:jboss/ee/concurrency/factory/default for jboss. This is
avaiable in teh configuration file of your app server/container
Required if you use batch components inside some
EJB containers like Websphere. for example
java:jboss/ee/concurrency/scheduler/default for jboss. This is
avaiable in teh configuration file of your app server/container
You may use pattern like order.lines.2.name to get
name attribute from third element of lines-array of attribute order
use $ as first character to specify a variable in
the test context as value for this.
if you are asserting that this field is absent in
the output. fieldValue should not be specified.
You may use pattern like order.lines.2.name to get
name attribute from third element of lines-array of attribute order
name of the context variable to set this to. This
is the name used by subsequent services to refer to this value.
Defaults to field selector
item selector, for example order, or order.lines.2
Ensure that the selector selects an item, and not a an array at run
time. This item is the parent for all the fields in the fields
collection. Their selector would be relative to this item
item selector, for example order, or order.lines.2
Ensure that the selector selects an item, and not a an array at run
time. This item is the parent for all the fields in the fields
collection. Their selector would be relative to this item
list selector, for example order, or order.lines
Ensure that the selector selects an array, and not a an object at
run time.
Use a CDATA section to specify a json. Since
json is full of double quotes, it is quite ugly to specify it as
attribute or content. This is the initial JSON. Other input
specifications can alter or add to this
Use a CDATA section to specify a json. Once this
is specified, no other specification about output makes sense.
Unique within a test run for identification.
Describe what we are trying to test. Include
reference to features
Fully qualified name of service to be executed.
Normally, this is the service we are testing, but there are
certainly occasions where we use a service to verify the output of
teh service being tested, or prepare data in the db for the
service
if this test case is to assert failure
How many assertions are you making in this test
case? That is how many test conditions are getting verified in
this test case? This is used for reporting results after running a
series of tests. Default is 1.
JNDI name to locate the queue. Required for
request queue. Temp queue is used for response if name is not
specified.
If the message body is used for transporting data,
how is it formatted?
field name that is used to extract message body
into, or for preparing it. Valid if messsageBody is used.
Comma separated list of field names that being
transported (either as formatted text in message body, or as header
parametersm)
data structure to be used for either formatting
message body, or header setting/getting header paremeters
trust the producer and extract all data from
message.
custom java class that extracts fields from
message into service context. This class should implement
DataExtractor interface
custom java class that creates the message from
service context. This class shoudl implement MessageFormatter
interface
in case this attribute is used for the queue and
being used by your application
predefined sequence of fields each with
predefined width
predefined sequence of field values separated by
comma
Value of a single field. Any primitive value in
text representation or a java object.
predefined sequence of fields each with
predefined width
predefined sequence of field values separated by
comma
json format
xml with field values as attributes
userId to be used for running the batch. Defults
to setting in Application.xml, or "100". Over-ridden by the
setting at job level.
Use a CDATA section to paste a formatted json
from your editor. This is the json that is suppied as input to
the service
unique name to identify this job
userId to be used for running this job.
Overrides setting at jobs/application. Service is executed with
thisuser as logged-in user
qualified name of the service to be run as a
job
Use this if this is a batch service to be run
repeatedly. number of seconds between two runs start-to-start.
However, in case the current run takes longer, next run will
wait for this to complete before starting. keep it as 0 if this
is a lsitner/backgroud job that is run just once.
If the scheduling is by time of the day, use
this option to specify comma separated list of times in 24Hr
format upto minute (hh:mm, hh:mm, ...)
use this if this is a listener/background job
that is run once. min value is 1. If more than 1 is specified,
the job is fired on that many threads simultneously, subject to
availablity of threads in this scheduler.