SSML Sample Analysis$B!J(BSample.ssml)

<SSML xmlns="x-schema:ssmlSchema.xml">

In the SSML(Soap Service Markup Language) file, the topmost element is <SSML>, and includes a single <service> element that defines the service name. The SSML file name is conveniently the same name as the service. 

<service name='Sample' nsuri='http://services.opensoap.jp/samples/Sample/'>

The <service> node contains at least 1 <connection> element, and optionally multiple <operation> elements, 1 <fault> element and a maximum of 1 <MaxProcessNumber> elements.
Within the server, the operation name may be duplicated, and if necessary the service name space is set in the <service> node nsuri attribute.

<connection name='Sample1'>
	<Socket hostname='localhost' port='8765'/>
	<asynchronizedTTL count="second" >8000</asynchronizedTTL>
	<synchronizedTTL count="second" >20</synchronizedTTL>
	<MaxProccessNumber>5</MaxProccessNumber>
</connection>
<connection name='Sample2'>
        <StdIO>
                <exec prog='/usr/local/sbin/SampleService' option='-s -u'/>
	</StdIO>
	<asynchronizedTTL count="second" >8000</asynchronizedTTL>
	<synchronizedTTL count="second" >20</synchronizedTTL>
	<MaxProccessNumber>5</MaxProccessNumber>
</connection>

How to connect to the service is described in the <connection> element. The connection types
 - socket:<Socket hostname='hostname where service program is located' port='port number'/> (It is necessary to register in either inetd or xinetd. Refer to RegistService.txt)
 - Standard Input/Output:<StdIO> sub-element <exec prog='full path of standard input/output compatible program' option='command line parameters passed to the program'
 - Named pipe:FIFO> (Not available in Ver 1.0)
 - IPC:<IPC> (Not available in Ver 1.0)
 - COM:<COM> (Not available in Ver 1.0)
 - Other connection modules:<Module> (Not available in Ver 1.0)
can be specified.

Furthermore, the asynchronous process timeout(in seconds)<asychronizedTTL>, the synchronous process timeout <synchronizedTTL> are set.
(By setting the count attribute to 'second' for seconds; or setting the count attribute to 'hoptimes' for the message hopcount'('hoptimes' is not available in the Beta version and Ver 1.0))
These can be specified simultaneously, and the synchronous/asynchronous setting of the request message determines how they are to be used.

Use the <MaxProcessNumber> to specify the maximum number of connections using this connection method.

<operation type ='Sample1'>add</operation>
<operation type ='Sample2'>sub</operation>

In the <operation> element, the name attribute of <connection> describes the operation name of the specified connection type.
It makes no difference if several operations using different connection styles use a single service.

<fault signature='1' />

The signature attribute('0' or '1') of the <fault> element is used to specify whether the server signature is appended by the sever to returned Fault message or not.
<MaxProccessNumber>15</MaxProccessNumber>

Use the <MaxProccessNumber> to limit the total number of connections to the service.

------
LastModified: July, 25. 2002 12:00:00

