Update XService documentation
git-svn-id: https://brutex.net/svn/xservices/trunk@59 e7e49efb-446e-492e-b9ec-fcafc1997a86tag-20130205r
parent
22de86be72
commit
eed2c21c0f
|
@ -1,5 +1,9 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?><section>
|
||||
<title>ArchiveServices</title>
|
||||
<para>The ArchiveService bundles file packing operations. Its WSDL is located at
|
||||
http://server:port/XServices/ArchiveService?wsdl</para>
|
||||
</section>
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<section xmlns="http://docbook.org/ns/docbook" version="5.0" xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
id="archiveservices">
|
||||
<title>ArchiveServices</title>
|
||||
<para>The ArchiveService bundles file packing operations. Its
|
||||
WSDL is
|
||||
located at
|
||||
http://server:port/XServices/ArchiveService?wsdl</para>
|
||||
</section>
|
|
@ -0,0 +1,887 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><book xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude" version="5.0">
|
||||
<title>Brutex XServices Documentation</title>
|
||||
<bookinfo>
|
||||
<date>February, 16th 2010</date>
|
||||
<author>
|
||||
<firstname>Brian</firstname>
|
||||
<surname>Rosenberger</surname>
|
||||
<email>bru@brutex.de</email>
|
||||
</author>
|
||||
<corpname>Brutex Network</corpname>
|
||||
<copyright>
|
||||
<year>2011</year>
|
||||
</copyright>
|
||||
<legalnotice>
|
||||
<para>
|
||||
The copyright holders make no representation about the suitability
|
||||
of this document for any purpose. It is provided
|
||||
<quote>as is</quote>
|
||||
without expressed or implied warranty.
|
||||
</para>
|
||||
</legalnotice>
|
||||
<legalnotice>
|
||||
<para>Apache Tomcat and Apache Ant are trademarks of the Apache
|
||||
Software Foundation.</para>
|
||||
</legalnotice>
|
||||
<abstract xml:base="common/abstract.xml">
|
||||
<title>Abstract</title>
|
||||
<para>In complex IT environments it is necessary to integrate
|
||||
different information systems with each other, exchange data
|
||||
between
|
||||
tools and automate actions and function calls depending
|
||||
on events
|
||||
arising from user interaction. To meet the requirements
|
||||
of
|
||||
integration building usually means to implement APIs and to
|
||||
create
|
||||
tool-to-tool bridges. Web Services can help to clean up
|
||||
bridges into
|
||||
interfaces as well as to abstract functions from
|
||||
their underlying
|
||||
platform and implementation.</para>
|
||||
<para>These are the major goals of the loosely coupled
|
||||
integration
|
||||
strategy which is in turn one essential idea of a
|
||||
service-oriented
|
||||
architecture (SOA).</para>
|
||||
<para>provide a low level set of functions and web services.
|
||||
These can
|
||||
be orchestrated into services and used in business
|
||||
processes which
|
||||
make up the execution part of a SOA
|
||||
environment.</para>
|
||||
<para>is an add-on to XBridgeNG 2.0. It runs standalone or in
|
||||
combination with XBridgeNG. Pure XBridgeNG has two
|
||||
components:</para>
|
||||
<para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>XML Schema for item based data types (e.g. tickets
|
||||
from a bug
|
||||
tracker system or a database record)</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Set of Apache Ant tasks to function as a bridge
|
||||
between the
|
||||
XBridgeNG XML format at legacy 3rd party
|
||||
software (e.g. HP Quality
|
||||
Center, Serena TeamTrack,
|
||||
...)</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>The add Web Services (SOAP) wrapper around Apache Ant
|
||||
tasks
|
||||
(since XBridgeNG 2.0)</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
<para>The current focus is on file-based operations. do not
|
||||
contain an
|
||||
integration server or a process execution
|
||||
engine.</para>
|
||||
</abstract>
|
||||
</bookinfo>
|
||||
<chapter id="installation">
|
||||
<beginpage/>
|
||||
<title>Getting started</title>
|
||||
<para>This chapter describes the installation.</para>
|
||||
<section xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:base="common/installation.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
|
||||
<section>
|
||||
<title>Installation</title>
|
||||
<para>tbd.</para>
|
||||
<para>Sun Java SE 1.6.0</para>
|
||||
<para>Apache Tomcat 7</para>
|
||||
<para>tbd.</para>
|
||||
<para>In short: Deploy .WAR file to Apache Tomcat</para>
|
||||
<section>
|
||||
<title>Securing with Basic Authentication</title>
|
||||
<para>There is a quick guide explaining Basic Authentication for Tomcat here: <link xlink:href="http://oreilly.com/pub/a/java/archive/tomcat-tips.html?page=1">
|
||||
http://oreilly.com/pub/a/java/archive/tomcat-tips.html?page=1</link>
|
||||
</para>
|
||||
<para>
|
||||
|
||||
</para>
|
||||
</section>
|
||||
<section>
|
||||
<title>Limit access to</title>
|
||||
<para>Sometimes you'll only want to restrict access to to
|
||||
only
|
||||
specified host names or IP addresses. This way, only
|
||||
clients at
|
||||
those specified addresses can use the web services.
|
||||
Tomcat provides
|
||||
two configuration values for that:
|
||||
RemoteHostValve and
|
||||
RemoteAddrValve.</para>
|
||||
<para>These Valves allow you to filter requests by host name or
|
||||
by IP
|
||||
address, and to allow or deny hosts that match. The
|
||||
example below
|
||||
restricts access to the ArchiveService from any
|
||||
machine that is not
|
||||
the local host.</para>
|
||||
<programlisting language="xml"><Context
|
||||
path="/XService/ArchiveService"
|
||||
...> <Valve
|
||||
className="org.apache.catalina.valves.RemoteAddrValve"
|
||||
allow="127.0.0.1" deny=""/> </Context>
|
||||
</programlisting>
|
||||
<para>If no allow pattern is given, then patterns that match
|
||||
the deny
|
||||
attribute patterns will be rejected, and all others
|
||||
will be allowed.
|
||||
Similarly, if no deny pattern is given,
|
||||
patterns that match the
|
||||
allow attribute will be allowed, and
|
||||
all others will be denied.
|
||||
</para>
|
||||
<para>The <context> element must be placed into the
|
||||
server.xml
|
||||
file (into <engine><host>).</para>
|
||||
</section>
|
||||
</section>
|
||||
</section>
|
||||
</chapter>
|
||||
<chapter id="services">
|
||||
<beginpage/>
|
||||
<title>Available Services</title>
|
||||
<para>List of available web services and their operations.</para>
|
||||
<section id="archiveservices" version="5.0" xml:base="ArchiveServices.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<title>ArchiveServices</title>
|
||||
<para>The ArchiveService bundles file packing operations. Its
|
||||
WSDL is
|
||||
located at
|
||||
http://server:port/XServices/ArchiveService?wsdl</para>
|
||||
</section>
|
||||
<section id="executeservices" version="5.0" xml:base="ExecuteServices.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<title>ExecuteServices</title>
|
||||
<para>The ExecuteService bundles local and remote command
|
||||
execution operations. Its WSDL is located at
|
||||
http://server:port/XServices/ExecuteService?wsdl</para>
|
||||
<section version="5.0" xml:base="ExecuteServices/rExec.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<title>rExec
|
||||
</title>
|
||||
<para>provides remote execution facilities with authentication based on
|
||||
user names and passwords.</para>
|
||||
<section>
|
||||
<title>Input parameters
|
||||
</title>
|
||||
<para/>
|
||||
<table frame="all">
|
||||
<title>rExec
|
||||
input parameters
|
||||
</title>
|
||||
<tgroup cols="4">
|
||||
<colspec colname="parameter" colnum="1"/>
|
||||
<colspec colname="type" colnum="2"/>
|
||||
<colspec colname="required" colnum="3"/>
|
||||
<colspec colname="description" colnum="4"/>
|
||||
<thead>
|
||||
<row>
|
||||
<entry>parameter</entry>
|
||||
<entry>type</entry>
|
||||
<entry>required</entry>
|
||||
<entry>description</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>host</entry>
|
||||
<entry>HostConnection</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry>
|
||||
Host where to execute the command. See
|
||||
<link linkend="hostconnection">HostConnection</link>
|
||||
.
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>command</entry>
|
||||
<entry>String</entry>
|
||||
<entry>No</entry>
|
||||
<entry>Any command including arguments</entry>
|
||||
</row>
|
||||
<row xml:base="file:/C:/Users/brosenberger/workspace/XServices/doc/entities.ent">
|
||||
<entry>timeout</entry>
|
||||
<entry>Long</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry>Timeout in milliseconds. The command is forcefully terminated when timeout is reached.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
<para/>
|
||||
</section>
|
||||
<section>
|
||||
<title>Output parameters
|
||||
</title>
|
||||
<section version="5.0" xml:base="ExecuteServices/../types/ReturnCode.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<title>ReturnCode type</title>
|
||||
<para>
|
||||
The ReturnCode type is used as the generic answer type for most of the
|
||||
<application class="software">BruteXservices</application>
|
||||
operations.
|
||||
</para>
|
||||
<para>
|
||||
The defining Java class is
|
||||
<ulink url="javadoc/net/brutex/xservices/types/ReturnCode.html">
|
||||
<classname>net.brutex.xservices.types.ReturnCode</classname>
|
||||
</ulink>
|
||||
.
|
||||
</para>
|
||||
<bridgehead renderas="sect3">Schema definition</bridgehead>
|
||||
<programlisting language="xml"><![CDATA[
|
||||
<xs:complexType name="ReturnCodeType">
|
||||
<xs:sequence>
|
||||
<xs:element name="returnCode" type="xs:int"/>
|
||||
<xs:element minOccurs="0" name="stdOut" type="xs:string"/>
|
||||
<xs:element minOccurs="0" name="stdErr" type="xs:string"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="propertyList" nillable="true" type="]]><link linkend="antproperty">tns:antProperty</link><![CDATA["/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>]]>
|
||||
</programlisting>
|
||||
|
||||
<bridgehead renderas="sect3">Example XML</bridgehead>
|
||||
<programlisting language="xml">
|
||||
<ReturnCode
|
||||
xmlns:ns2="http://ws.xservices.brutex.net">
|
||||
<returnCode>0</returnCode>
|
||||
<stdOut/>
|
||||
<stdErr/>
|
||||
<propertyList>
|
||||
<lineannotation>
|
||||
See
|
||||
<link linkend="antproperty">tns:antProperty</link>
|
||||
for details about the <propertyList> elements.
|
||||
</lineannotation>
|
||||
<name>key1</name>
|
||||
<value>value1</value>
|
||||
</propertyList>
|
||||
<propertyList>
|
||||
<name>key2</name>
|
||||
<value>value2</value>
|
||||
</propertyList>
|
||||
</ReturnCode>
|
||||
</programlisting>
|
||||
|
||||
</section>
|
||||
</section>
|
||||
</section>
|
||||
<section version="5.0" xml:base="ExecuteServices/runCommand.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<title>runCommand</title>
|
||||
<para>Run an executable with arguments on the server providing the web
|
||||
service. The command is run within the environment and under the user
|
||||
privileges of the user who is running the Tomcat Server.</para>
|
||||
<section>
|
||||
<title>Input parameters
|
||||
</title>
|
||||
<para/>
|
||||
<table frame="all">
|
||||
<title>runCommand input parameters</title>
|
||||
<tgroup cols="4">
|
||||
<colspec colname="parameter" colnum="1"/>
|
||||
<colspec colname="type" colnum="2"/>
|
||||
<colspec colname="required" colnum="3"/>
|
||||
<colspec colname="description" colnum="4"/>
|
||||
<thead>
|
||||
<row>
|
||||
<entry>parameter</entry>
|
||||
<entry>type</entry>
|
||||
<entry>required</entry>
|
||||
<entry>description</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>executable</entry>
|
||||
<entry>String</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry>Command to be run. The command may be specified with full
|
||||
path using forward slash "/" as path separator.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>argline</entry>
|
||||
<entry>String</entry>
|
||||
<entry>No</entry>
|
||||
<entry>Any command line arguments</entry>
|
||||
</row>
|
||||
<row xml:base="file:/C:/Users/brosenberger/workspace/XServices/doc/entities.ent">
|
||||
<entry>timeout</entry>
|
||||
<entry>Long</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry>Timeout in milliseconds. The command is forcefully terminated when timeout is reached.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
<para/>
|
||||
</section>
|
||||
<section>
|
||||
<title>Output parameters
|
||||
</title>
|
||||
<section version="5.0" xml:base="ExecuteServices/../types/ReturnCode.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<title>ReturnCode type</title>
|
||||
<para>
|
||||
The ReturnCode type is used as the generic answer type for most of the
|
||||
<application class="software">BruteXservices</application>
|
||||
operations.
|
||||
</para>
|
||||
<para>
|
||||
The defining Java class is
|
||||
<ulink url="javadoc/net/brutex/xservices/types/ReturnCode.html">
|
||||
<classname>net.brutex.xservices.types.ReturnCode</classname>
|
||||
</ulink>
|
||||
.
|
||||
</para>
|
||||
<bridgehead renderas="sect3">Schema definition</bridgehead>
|
||||
<programlisting language="xml"><![CDATA[
|
||||
<xs:complexType name="ReturnCodeType">
|
||||
<xs:sequence>
|
||||
<xs:element name="returnCode" type="xs:int"/>
|
||||
<xs:element minOccurs="0" name="stdOut" type="xs:string"/>
|
||||
<xs:element minOccurs="0" name="stdErr" type="xs:string"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="propertyList" nillable="true" type="]]><link linkend="antproperty">tns:antProperty</link><![CDATA["/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>]]>
|
||||
</programlisting>
|
||||
|
||||
<bridgehead renderas="sect3">Example XML</bridgehead>
|
||||
<programlisting language="xml">
|
||||
<ReturnCode
|
||||
xmlns:ns2="http://ws.xservices.brutex.net">
|
||||
<returnCode>0</returnCode>
|
||||
<stdOut/>
|
||||
<stdErr/>
|
||||
<propertyList>
|
||||
<lineannotation>
|
||||
See
|
||||
<link linkend="antproperty">tns:antProperty</link>
|
||||
for details about the <propertyList> elements.
|
||||
</lineannotation>
|
||||
<name>key1</name>
|
||||
<value>value1</value>
|
||||
</propertyList>
|
||||
<propertyList>
|
||||
<name>key2</name>
|
||||
<value>value2</value>
|
||||
</propertyList>
|
||||
</ReturnCode>
|
||||
</programlisting>
|
||||
|
||||
</section>
|
||||
</section>
|
||||
</section>
|
||||
<section version="5.0" xml:base="ExecuteServices/runCommandWithSSH.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<title>runCommandWithSSH</title>
|
||||
<para>Executes a command through a SSH session.</para>
|
||||
<section>
|
||||
<title>Input parameters
|
||||
</title>
|
||||
<para/>
|
||||
<table frame="all">
|
||||
<title>runCommandWithSSH input parameters</title>
|
||||
<tgroup cols="4">
|
||||
<colspec colname="parameter" colnum="1"/>
|
||||
<colspec colname="type" colnum="2"/>
|
||||
<colspec colname="required" colnum="3"/>
|
||||
<colspec colname="description" colnum="4"/>
|
||||
<thead>
|
||||
<row>
|
||||
<entry>parameter</entry>
|
||||
<entry>type</entry>
|
||||
<entry>required</entry>
|
||||
<entry>description</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>host</entry>
|
||||
<entry>HostConnection</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry>
|
||||
Host to connect to (see:
|
||||
<link linkend="hostconnection">tns:HostConnection</link>
|
||||
)
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>command</entry>
|
||||
<entry>String</entry>
|
||||
<entry>No</entry>
|
||||
<entry>The command to execute.</entry>
|
||||
</row>
|
||||
<row xml:base="file:/C:/Users/brosenberger/workspace/XServices/doc/entities.ent">
|
||||
<entry>timeout</entry>
|
||||
<entry>Long</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry>Timeout in milliseconds. The command is forcefully terminated when timeout is reached.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
<para/>
|
||||
</section>
|
||||
<section>
|
||||
<title>Output parameters
|
||||
</title>
|
||||
<section version="5.0" xml:base="ExecuteServices/../types/ReturnCode.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<title>ReturnCode type</title>
|
||||
<para>
|
||||
The ReturnCode type is used as the generic answer type for most of the
|
||||
<application class="software">BruteXservices</application>
|
||||
operations.
|
||||
</para>
|
||||
<para>
|
||||
The defining Java class is
|
||||
<ulink url="javadoc/net/brutex/xservices/types/ReturnCode.html">
|
||||
<classname>net.brutex.xservices.types.ReturnCode</classname>
|
||||
</ulink>
|
||||
.
|
||||
</para>
|
||||
<bridgehead renderas="sect3">Schema definition</bridgehead>
|
||||
<programlisting language="xml"><![CDATA[
|
||||
<xs:complexType name="ReturnCodeType">
|
||||
<xs:sequence>
|
||||
<xs:element name="returnCode" type="xs:int"/>
|
||||
<xs:element minOccurs="0" name="stdOut" type="xs:string"/>
|
||||
<xs:element minOccurs="0" name="stdErr" type="xs:string"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="propertyList" nillable="true" type="]]><link linkend="antproperty">tns:antProperty</link><![CDATA["/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>]]>
|
||||
</programlisting>
|
||||
|
||||
<bridgehead renderas="sect3">Example XML</bridgehead>
|
||||
<programlisting language="xml">
|
||||
<ReturnCode
|
||||
xmlns:ns2="http://ws.xservices.brutex.net">
|
||||
<returnCode>0</returnCode>
|
||||
<stdOut/>
|
||||
<stdErr/>
|
||||
<propertyList>
|
||||
<lineannotation>
|
||||
See
|
||||
<link linkend="antproperty">tns:antProperty</link>
|
||||
for details about the <propertyList> elements.
|
||||
</lineannotation>
|
||||
<name>key1</name>
|
||||
<value>value1</value>
|
||||
</propertyList>
|
||||
<propertyList>
|
||||
<name>key2</name>
|
||||
<value>value2</value>
|
||||
</propertyList>
|
||||
</ReturnCode>
|
||||
</programlisting>
|
||||
|
||||
</section>
|
||||
</section>
|
||||
<section>
|
||||
<title>Sample Request:</title>
|
||||
<programlisting language="xml">
|
||||
<![CDATA[
|
||||
<ws:runCommandWithSSH>
|
||||
<host>
|
||||
<hostname>ssh.brutex.net</hostname>
|
||||
<port>22</port>
|
||||
<user>roger</user>
|
||||
<password>xxx</password>
|
||||
</host>
|
||||
<command>ls /etc/</command>
|
||||
<timeout>30000</timeout>
|
||||
</ws:runCommandWithSSH>
|
||||
]]></programlisting>
|
||||
</section>
|
||||
</section>
|
||||
<section version="5.0" xml:base="ExecuteServices/telnet.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<title>telnet</title>
|
||||
<para>Runs a telnet session with an "expect shell" like behaviour.</para>
|
||||
<section>
|
||||
<title>Input parameters
|
||||
</title>
|
||||
<para/>
|
||||
<table frame="all">
|
||||
<title>telnet input parameters</title>
|
||||
<tgroup cols="4">
|
||||
<colspec colname="parameter" colnum="1"/>
|
||||
<colspec colname="type" colnum="2"/>
|
||||
<colspec colname="required" colnum="3"/>
|
||||
<colspec colname="description" colnum="4"/>
|
||||
<thead>
|
||||
<row>
|
||||
<entry>parameter</entry>
|
||||
<entry>type</entry>
|
||||
<entry>required</entry>
|
||||
<entry>description</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>host</entry>
|
||||
<entry>HostConnection</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry>Host to connect to (see: <link linkend="hostconnection">tns:HostConnection</link>)</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>prompt</entry>
|
||||
<entry>String</entry>
|
||||
<entry>No</entry>
|
||||
<entry>The prompt string to expect after login. This is used to recognize when
|
||||
the session is open.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>command</entry>
|
||||
<entry>String</entry>
|
||||
<entry>No</entry>
|
||||
<entry>The command to execute.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>expect</entry>
|
||||
<entry>String</entry>
|
||||
<entry>No</entry>
|
||||
<entry>The prompt to expect after the command has been executed successfully.</entry>
|
||||
</row>
|
||||
<row xml:base="file:/C:/Users/brosenberger/workspace/XServices/doc/entities.ent">
|
||||
<entry>timeout</entry>
|
||||
<entry>Long</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry>Timeout in milliseconds. The command is forcefully terminated when timeout is reached.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
<para/>
|
||||
</section>
|
||||
<section>
|
||||
<title>Output parameters</title>
|
||||
<section version="5.0" xml:base="ExecuteServices/../types/ReturnCode.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<title>ReturnCode type</title>
|
||||
<para>
|
||||
The ReturnCode type is used as the generic answer type for most of the
|
||||
<application class="software">BruteXservices</application>
|
||||
operations.
|
||||
</para>
|
||||
<para>
|
||||
The defining Java class is
|
||||
<ulink url="javadoc/net/brutex/xservices/types/ReturnCode.html">
|
||||
<classname>net.brutex.xservices.types.ReturnCode</classname>
|
||||
</ulink>
|
||||
.
|
||||
</para>
|
||||
<bridgehead renderas="sect3">Schema definition</bridgehead>
|
||||
<programlisting language="xml"><![CDATA[
|
||||
<xs:complexType name="ReturnCodeType">
|
||||
<xs:sequence>
|
||||
<xs:element name="returnCode" type="xs:int"/>
|
||||
<xs:element minOccurs="0" name="stdOut" type="xs:string"/>
|
||||
<xs:element minOccurs="0" name="stdErr" type="xs:string"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="propertyList" nillable="true" type="]]><link linkend="antproperty">tns:antProperty</link><![CDATA["/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>]]>
|
||||
</programlisting>
|
||||
|
||||
<bridgehead renderas="sect3">Example XML</bridgehead>
|
||||
<programlisting language="xml">
|
||||
<ReturnCode
|
||||
xmlns:ns2="http://ws.xservices.brutex.net">
|
||||
<returnCode>0</returnCode>
|
||||
<stdOut/>
|
||||
<stdErr/>
|
||||
<propertyList>
|
||||
<lineannotation>
|
||||
See
|
||||
<link linkend="antproperty">tns:antProperty</link>
|
||||
for details about the <propertyList> elements.
|
||||
</lineannotation>
|
||||
<name>key1</name>
|
||||
<value>value1</value>
|
||||
</propertyList>
|
||||
<propertyList>
|
||||
<name>key2</name>
|
||||
<value>value2</value>
|
||||
</propertyList>
|
||||
</ReturnCode>
|
||||
</programlisting>
|
||||
|
||||
</section>
|
||||
</section>
|
||||
<section>
|
||||
<title>Sample Request:</title>
|
||||
<programlisting language="xml">
|
||||
<![CDATA[
|
||||
<ws:telnet>
|
||||
<host>
|
||||
<hostname>localhost</hostname>
|
||||
<port>23</port>
|
||||
<user>brosenberger</user>
|
||||
<password></password>
|
||||
</host>
|
||||
<prompt>C:\Users\brosenberger></prompt>
|
||||
<command>dir c:\temp</command>
|
||||
<expect>enberger></expect>
|
||||
<timeout>60000</timeout>
|
||||
</ws:telnet>
|
||||
]]></programlisting>
|
||||
</section>
|
||||
</section>
|
||||
</section>
|
||||
<section id="fileservices" version="5.0" xml:base="FileServices.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<title>FileServices</title>
|
||||
<para>The FileServces bundles various file operations. Its WSDL is located at
|
||||
http://server:port/XServices/FileService?wsdl</para>
|
||||
</section>
|
||||
<section id="miscservices" version="5.0" xml:base="MiscServices.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<title>MiscServices</title>
|
||||
<para>The MiscService bundles various operations. Its WSDL is located at
|
||||
http://server:port/XServices/MiscService?wsdl</para>
|
||||
|
||||
</section>
|
||||
</chapter>
|
||||
|
||||
<chapter id="xmltypes">
|
||||
<beginpage/>
|
||||
<title>XML Types</title>
|
||||
<para>This chapter bundles the documentation for common XML types used
|
||||
by XServices web service.</para>
|
||||
<section version="5.0" xml:base="Types.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<!-- Sort alphabetically -->
|
||||
<section xml:base="types/AntProperty.xml">
|
||||
<title>AntProperty type</title>
|
||||
<para>The AntProperty type defines a list of key/value pairs.</para>
|
||||
<para>
|
||||
The defining Java class is
|
||||
<ulink url="javadoc/net/brutex/xservices/types/AntProperty.html">
|
||||
<classname>net.brutex.xservices.types.AntProperty</classname>
|
||||
</ulink>
|
||||
.
|
||||
</para>
|
||||
|
||||
<programlisting language="xml"><![CDATA[
|
||||
<xs:complexType name="antProperty">
|
||||
<xs:sequence>
|
||||
<xs:element name="name" type="xs:string"/>
|
||||
<xs:element name="value" type="xs:string"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>]]>
|
||||
</programlisting>
|
||||
|
||||
<programlisting language="xml"><![CDATA[
|
||||
<AntProperty>
|
||||
<name>key2</name>
|
||||
<value>value2</value>
|
||||
</AntProperty>]]>
|
||||
</programlisting>
|
||||
</section>
|
||||
<section xml:base="types/FileResource.xml">
|
||||
<title>FileResource type</title>
|
||||
<para>The FileResource type defines an URI to a file with optional on-the-fly decompression.</para>
|
||||
<para>
|
||||
The defining Java class is
|
||||
<ulink url="javadoc/net/brutex/xservices/types/FileResource.html">
|
||||
<classname>net.brutex.xservices.types.FileResource</classname>
|
||||
</ulink>
|
||||
.
|
||||
</para>
|
||||
|
||||
<programlisting language="xml"><![CDATA[
|
||||
<xs:complexType name="FileResourceType">
|
||||
<xs:sequence>
|
||||
<xs:element default="FILE" name="type" type="tns:type"/>
|
||||
<xs:element name="uri" type="xs:string"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>]]>
|
||||
</programlisting>
|
||||
<para>Available types:</para>
|
||||
<para>FILE: URI points to a local file resource. Examples: c:\temp\something.txt, c:/dir/another.file, /home/brian/file</para>
|
||||
<para>URL: File from URL (http, https, ftp, ...). Example: http://brutex.net/file.pdf</para>
|
||||
<para>GZIP and BZIP2: File from a local file system with on-the-fly decompression.</para>
|
||||
<programlisting language="xml"><![CDATA[
|
||||
<resource>
|
||||
<type>FILE</type>
|
||||
<uri>c:\temp\xservices.war</uri>
|
||||
</resource>]]>
|
||||
</programlisting>
|
||||
</section>
|
||||
<section id="hostconnection" version="5.0" xml:base="types/HostConnection.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<title>HostConnection type</title>
|
||||
<para>The HostConnection type identifies a server resource and login
|
||||
credentials.</para>
|
||||
<para>
|
||||
The defining Java class is
|
||||
<ulink url="javadoc/net/brutex/xservices/types/HostConnection.html">
|
||||
<classname>net.brutex.xservices.types.HostConnection</classname>
|
||||
</ulink>
|
||||
.
|
||||
</para>
|
||||
<bridgehead renderas="sect3">Schema definition</bridgehead>
|
||||
<programlisting language="xml"><![CDATA[
|
||||
<xs:complexType name="connection">
|
||||
<xs:sequence>
|
||||
<xs:element name="hostname" type="xs:string"/>
|
||||
<xs:element name="port" type="xs:int"/>
|
||||
<xs:element minOccurs="0" name="user" type="xs:string"/>
|
||||
<xs:element minOccurs="0" name="password" type="xs:string"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
]]>
|
||||
</programlisting>
|
||||
<bridgehead renderas="sect3">Example XML</bridgehead>
|
||||
<programlisting language="xml"><![CDATA[
|
||||
<host>
|
||||
<hostname>server.brutex.net</hostname>
|
||||
<port>512</port> <!-- default rExec port -->
|
||||
<user>brian</user>
|
||||
<!--Optional:-->
|
||||
<password>somepass</password>
|
||||
</host>
|
||||
]]>
|
||||
</programlisting>
|
||||
</section>
|
||||
<section id="patternelement" version="5.0" xml:base="types/PatternElement.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<title>PatternElement type</title>
|
||||
<para>The PatternElement type defines single string pattern for file/
|
||||
directory matching.</para>
|
||||
<para>
|
||||
The defining Java class is
|
||||
<ulink url="javadoc/net/brutex/xservices/types/PatternElement.html">
|
||||
<classname>net.brutex.xservices.types.PatternElement</classname>
|
||||
</ulink>
|
||||
.
|
||||
</para>
|
||||
<para>
|
||||
These patterns look exactly like those used in Apache Ant
|
||||
<ulink url="http://ant.apache.org/manual/dirtasks.html#patterns">Patterns</ulink>.
|
||||
The '*' matches zero or more characters and the
|
||||
'?' will match a single character.
|
||||
Both symbols can be combined in one pattern. The '**'
|
||||
symbol can be used to match any directory deepth.
|
||||
</para>
|
||||
<para>Some example patterns:</para>
|
||||
<para>
|
||||
<parameter>**/mydir/**</parameter>
|
||||
</para>
|
||||
<para>Match all file that are located in any directory that has
|
||||
"mydir" string in its pathname. Also applies to files with
|
||||
"mydir" in their name.</para>
|
||||
<para>
|
||||
<parameter>/mydir/</parameter>
|
||||
</para>
|
||||
<para>The
|
||||
parser will automatically append an '**' symbol, thus the
|
||||
resulting pattern is
|
||||
<parameter>/mydir/**</parameter>.
|
||||
All files below the "/mydir/" directory (including its
|
||||
sub-directories will be chosen.
|
||||
</para>
|
||||
<note>
|
||||
<para>The pattern is OS independent. You should always use
|
||||
"/" as path separator, even on windows based systems.
|
||||
</para>
|
||||
</note>
|
||||
<bridgehead renderas="sect3">Schema definition</bridgehead>
|
||||
<programlisting language="xml"><![CDATA[<xs:simpleType name="patternElement">
|
||||
<xs:restriction base="xs:string"/>
|
||||
</xs:simpleType>]]></programlisting>
|
||||
|
||||
<bridgehead renderas="sect3">Example XML</bridgehead>
|
||||
<programlisting language="xml"><![CDATA[<PatternElement>**/*</PatternElement>]]></programlisting>
|
||||
|
||||
</section>
|
||||
<section id="patternsettype" version="5.0" xml:base="types/PatternSetType.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<title>PatternSetType type</title>
|
||||
<para>The PatternSetType exposes various filters/ selectors for the
|
||||
selection of resources (files).</para>
|
||||
<para>
|
||||
The defining Java class is
|
||||
<ulink url="javadoc/net/brutex/xservices/types/PatternSetType.html">
|
||||
<classname>net.brutex.xservices.types.PatternSetType</classname>
|
||||
</ulink>
|
||||
.
|
||||
</para>
|
||||
<bridgehead renderas="sect3">Schema definition</bridgehead>
|
||||
<programlisting language="xml"><![CDATA[
|
||||
<xs:complexType name="patternSetType">
|
||||
<xs:sequence>
|
||||
<xs:element default="**/*" maxOccurs="unbounded" minOccurs="0" name="include" type="]]><link linkend="patternelement">tns:patternElement</link><![CDATA["/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="exclude" type="]]><link linkend="patternelement">tns:patternElement</link><![CDATA["/>
|
||||
<xs:element minOccurs="0" name="selector" nillable="true" type="]]><link linkend="selectortype">tns:selectorType</link><![CDATA["/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>]]>
|
||||
</programlisting>
|
||||
<bridgehead renderas="sect3">Example XML</bridgehead>
|
||||
<programlisting language="xml"><![CDATA[
|
||||
tbd.]]>
|
||||
</programlisting>
|
||||
</section>
|
||||
<section version="5.0" xml:base="types/ReturnCode.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<title>ReturnCode type</title>
|
||||
<para>
|
||||
The ReturnCode type is used as the generic answer type for most of the
|
||||
<application class="software">BruteXservices</application>
|
||||
operations.
|
||||
</para>
|
||||
<para>
|
||||
The defining Java class is
|
||||
<ulink url="javadoc/net/brutex/xservices/types/ReturnCode.html">
|
||||
<classname>net.brutex.xservices.types.ReturnCode</classname>
|
||||
</ulink>
|
||||
.
|
||||
</para>
|
||||
<bridgehead renderas="sect3">Schema definition</bridgehead>
|
||||
<programlisting language="xml"><![CDATA[
|
||||
<xs:complexType name="ReturnCodeType">
|
||||
<xs:sequence>
|
||||
<xs:element name="returnCode" type="xs:int"/>
|
||||
<xs:element minOccurs="0" name="stdOut" type="xs:string"/>
|
||||
<xs:element minOccurs="0" name="stdErr" type="xs:string"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="propertyList" nillable="true" type="]]><link linkend="antproperty">tns:antProperty</link><![CDATA["/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>]]>
|
||||
</programlisting>
|
||||
|
||||
<bridgehead renderas="sect3">Example XML</bridgehead>
|
||||
<programlisting language="xml">
|
||||
<ReturnCode
|
||||
xmlns:ns2="http://ws.xservices.brutex.net">
|
||||
<returnCode>0</returnCode>
|
||||
<stdOut/>
|
||||
<stdErr/>
|
||||
<propertyList>
|
||||
<lineannotation>
|
||||
See
|
||||
<link linkend="antproperty">tns:antProperty</link>
|
||||
for details about the <propertyList> elements.
|
||||
</lineannotation>
|
||||
<name>key1</name>
|
||||
<value>value1</value>
|
||||
</propertyList>
|
||||
<propertyList>
|
||||
<name>key2</name>
|
||||
<value>value2</value>
|
||||
</propertyList>
|
||||
</ReturnCode>
|
||||
</programlisting>
|
||||
|
||||
</section>
|
||||
<section id="selectortype" version="5.0" xml:base="types/SelectorType.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<title>SelectorType type</title>
|
||||
<para>The SelectorType exposes various selectors for the selection of resources (files).</para>
|
||||
<para>The defining Java class is
|
||||
<ulink url="javadoc/net/brutex/xservices/types/SelectorType.html">
|
||||
<classname>net.brutex.xservices.types.SelectorType</classname></ulink>.</para>
|
||||
<bridgehead renderas="sect3">Schema definition</bridgehead>
|
||||
<programlisting language="xml"><![CDATA[
|
||||
<xs:complexType abstract="true" name="selectorType">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="contains" nillable="true" type="tns:containsSelectorType"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>]]>
|
||||
</programlisting>
|
||||
<bridgehead renderas="sect3">Example XML</bridgehead>
|
||||
<programlisting language="xml"><![CDATA[
|
||||
tbd.]]>
|
||||
</programlisting>
|
||||
</section>
|
||||
</section>
|
||||
</chapter>
|
||||
</book>
|
|
@ -1,178 +1,57 @@
|
|||
<?xml version='1.0'?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
|
||||
<book>
|
||||
<title>User Guide</title>
|
||||
<bookinfo>
|
||||
<date>February, 16th 2010</date>
|
||||
<author>
|
||||
<firstname>Brian</firstname>
|
||||
<surname>Rosenberger</surname>
|
||||
<email>bru@brutex.de</email>
|
||||
</author>
|
||||
<corpname>Brutex Network</corpname>
|
||||
<pubdate>1997</pubdate>
|
||||
<copyright><year>2010</year></copyright>
|
||||
<legalnotice>
|
||||
<para>The copyright holders make no representation about the
|
||||
suitability of this document for any purpose. It is provided
|
||||
<quote>as is</quote> without expressed or implied warranty.</para>
|
||||
</legalnotice>
|
||||
<legalnotice>
|
||||
<para>Apache Tomcat and Apache Ant are trademarks of the Apache
|
||||
Software Foundation.</para>
|
||||
</legalnotice>
|
||||
<abstract>
|
||||
<title>Abstract</title>
|
||||
<para>In complex IT environments it is necessary to integrate
|
||||
different information systems with each other, exchange data
|
||||
between tools and automate actions and function calls depending
|
||||
on events arising from user interaction. To meet the requirements
|
||||
of integration building usually means to implement APIs and to
|
||||
create tool-to-tool bridges. Web Services can help to clean up
|
||||
bridges into interfaces as well as to abstract functions from
|
||||
their underlying platform and implementation.</para>
|
||||
<para>These are the major goals of the loosely coupled
|
||||
integration strategy which is in turn one essential idea of a
|
||||
service-oriented architecture (SOA).</para>
|
||||
<para>provide a low level set of functions and web services.
|
||||
These can be orchestrated into services and used in business
|
||||
processes which make up the execution part of a SOA
|
||||
environment.</para>
|
||||
<para>is an add-on to XBridgeNG 2.0. It runs standalone or in
|
||||
combination with XBridgeNG. Pure XBridgeNG has two
|
||||
components:</para>
|
||||
<para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>XML Schema for item based data types (e.g. tickets
|
||||
from a bug tracker system or a database record)</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Set of Apache Ant tasks to function as a bridge
|
||||
between the XBridgeNG XML format at legacy 3rd party
|
||||
software (e.g. HP Quality Center, Serena TeamTrack,
|
||||
...)</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>The add Web Services (SOAP) wrapper around Apache Ant
|
||||
tasks (since XBridgeNG 2.0)</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
<para>The current focus is on file-based operations. do not
|
||||
contain an integration server or a process execution
|
||||
engine.</para>
|
||||
</abstract>
|
||||
</bookinfo>
|
||||
<chapter>
|
||||
<beginpage />
|
||||
<title>Getting started</title>
|
||||
<para>This chapter describes the installation.</para>
|
||||
<sect1>
|
||||
<title>Prerequisites</title>
|
||||
<para>tbd.</para>
|
||||
<para>Sun Java SE 1.6.0</para>
|
||||
<para>Apache Tomcat 6</para>
|
||||
</sect1>
|
||||
<sect1>
|
||||
<title>Installation</title>
|
||||
<para>tbd.</para>
|
||||
<para>In short: Deploy .WAR file to Apache Tomcat</para>
|
||||
<sect2>
|
||||
<title>Securing with Basic Authentication</title>
|
||||
<para>There is a quick guide explaining Basic Authentication
|
||||
for Tomcat here:</para>
|
||||
<para>
|
||||
<ulink url="http://oreilly.com/pub/a/java/archive/tomcat-tips.html?page=1"/></para>
|
||||
</sect2>
|
||||
<sect2>
|
||||
<title>Limit access to</title>
|
||||
<para>Sometimes you'll only want to restrict access to to
|
||||
only specified host names or IP addresses. This way, only
|
||||
clients at those specified addresses can use the web services.
|
||||
Tomcat provides two configuration values for that:
|
||||
RemoteHostValve and RemoteAddrValve.</para>
|
||||
<para>These Valves allow you to filter requests by host name or
|
||||
by IP address, and to allow or deny hosts that match. The
|
||||
example below restricts access to the ArchiveService from any
|
||||
machine that is not the local host.</para>
|
||||
<programlisting language="xml"><Context path="/XService/ArchiveService" ...>
|
||||
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
|
||||
allow="127.0.0.1" deny=""/>
|
||||
</Context></programlisting>
|
||||
<para>If no allow pattern is given, then patterns that match
|
||||
the deny attribute patterns will be rejected, and all others
|
||||
will be allowed. Similarly, if no deny pattern is given,
|
||||
patterns that match the allow attribute will be allowed, and
|
||||
all others will be denied.</para>
|
||||
<para>The <context> element must be placed into the
|
||||
server.xml file (into <engine><host>).</para>
|
||||
</sect2>
|
||||
</sect1>
|
||||
</chapter>
|
||||
<chapter>
|
||||
<title />
|
||||
<section>
|
||||
<title>ArchiveServices</title>
|
||||
<para>The ArchiveService bundles file packing operations. Its
|
||||
WSDL is located at
|
||||
http://server:port/XServices/ArchiveService?wsdl</para>
|
||||
</section>
|
||||
<section>
|
||||
<title>ExecuteServices</title>
|
||||
<para>The ExecuteService bundles local and remote command
|
||||
execution operations. Its WSDL is located at
|
||||
http://server:port/XServices/ExecuteService?wsdl</para>
|
||||
<section>
|
||||
<title>runCommand</title>
|
||||
<para>Run an executable with arguments on the server providing
|
||||
the web service. The command is run within the environment and
|
||||
under the user privileges of the user who is running the Tomcat
|
||||
Server.</para>
|
||||
<section>
|
||||
<title />
|
||||
<para />
|
||||
<table frame="all">
|
||||
<title>runCommand input parameters</title>
|
||||
<tgroup cols="4">
|
||||
<colspec colname="parameter" colnum="1"/>
|
||||
<colspec colname="type" colnum="2"/>
|
||||
<colspec colname="required" colnum="3"/>
|
||||
<colspec colname="description" colnum="4"/>
|
||||
<thead>
|
||||
<row>
|
||||
<entry>parameter</entry>
|
||||
<entry>type</entry>
|
||||
<entry>required</entry>
|
||||
<entry>description</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>executable</entry>
|
||||
<entry>String</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry>Command to be run. The command may be
|
||||
specified with full path using forward slash
|
||||
"/" as path separator.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>argline</entry>
|
||||
<entry>String</entry>
|
||||
<entry>No</entry>
|
||||
<entry>Any command line arguments</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
<para />
|
||||
</section>
|
||||
</section>
|
||||
</section>
|
||||
</chapter>
|
||||
<chapter>
|
||||
<title>XML Types</title>
|
||||
<para>This chapter bundles the documentation for common xml types
|
||||
used by XServices web service.</para>
|
||||
</chapter>
|
||||
<!DOCTYPE book [
|
||||
<!ENTITY % myent SYSTEM "entities.ent">
|
||||
%myent;
|
||||
]>
|
||||
<book xmlns="http://docbook.org/ns/docbook" version="5.0"
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<title>Brutex XServices Documentation</title>
|
||||
<bookinfo>
|
||||
<date>February, 16th 2010</date>
|
||||
<author>
|
||||
<firstname>Brian</firstname>
|
||||
<surname>Rosenberger</surname>
|
||||
<email>bru@brutex.de</email>
|
||||
</author>
|
||||
<corpname>Brutex Network</corpname>
|
||||
<copyright>
|
||||
<year>2011</year>
|
||||
</copyright>
|
||||
<legalnotice>
|
||||
<para>
|
||||
The copyright holders make no representation about the suitability
|
||||
of this document for any purpose. It is provided
|
||||
<quote>as is</quote>
|
||||
without expressed or implied warranty.
|
||||
</para>
|
||||
</legalnotice>
|
||||
<legalnotice>
|
||||
<para>Apache Tomcat and Apache Ant are trademarks of the Apache
|
||||
Software Foundation.</para>
|
||||
</legalnotice>
|
||||
<xi:include href="common/abstract.xml" />
|
||||
</bookinfo>
|
||||
<chapter id="installation">
|
||||
<beginpage />
|
||||
<title>Getting started</title>
|
||||
<para>This chapter describes the installation.</para>
|
||||
<xi:include href="common/installation.xml"/>
|
||||
</chapter>
|
||||
<chapter id="services">
|
||||
<beginpage />
|
||||
<title>Available Services</title>
|
||||
<para>List of available web services and their operations.</para>
|
||||
<xi:include href="ArchiveServices.xml" />
|
||||
<xi:include href="ExecuteServices.xml" />
|
||||
<xi:include href="FileServices.xml" />
|
||||
<xi:include href="MiscServices.xml" />
|
||||
</chapter>
|
||||
|
||||
<chapter id="xmltypes">
|
||||
<beginpage />
|
||||
<title>XML Types</title>
|
||||
<para>This chapter bundles the documentation for common XML types used
|
||||
by XServices web service.</para>
|
||||
<xi:include href="Types.xml" />
|
||||
</chapter>
|
||||
</book>
|
||||
|
|
|
@ -1,5 +1,13 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?><section>
|
||||
<title>ExecuteServices</title>
|
||||
<para>The ExecuteService bundles local and remote command execution operations. Its WSDL is located at
|
||||
http://server:port/XServices/ExecuteService?wsdl</para>
|
||||
&runCommand;</section>
|
||||
<?xml version='1.0' encoding="utf-8"?>
|
||||
<section xmlns="http://docbook.org/ns/docbook" version="5.0"
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
id="executeservices">
|
||||
<title>ExecuteServices</title>
|
||||
<para>The ExecuteService bundles local and remote command
|
||||
execution operations. Its WSDL is located at
|
||||
http://server:port/XServices/ExecuteService?wsdl</para>
|
||||
<xi:include href="ExecuteServices/rExec.xml" />
|
||||
<xi:include href="ExecuteServices/runCommand.xml" />
|
||||
<xi:include href="ExecuteServices/runCommandWithSSH.xml" />
|
||||
<xi:include href="ExecuteServices/telnet.xml" />
|
||||
</section>
|
|
@ -0,0 +1,62 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<!DOCTYPE section [
|
||||
<!ENTITY % myent SYSTEM "../entities.ent">
|
||||
<!ENTITY rExec "rExec">
|
||||
%myent;
|
||||
]>
|
||||
<section xmlns="http://docbook.org/ns/docbook" version="5.0"
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<title>&rExec;
|
||||
</title>
|
||||
<para>provides remote execution facilities with authentication based on
|
||||
user names and passwords.</para>
|
||||
<section>
|
||||
<title>&inp;
|
||||
</title>
|
||||
<para />
|
||||
<table frame="all">
|
||||
<title>&rExec;
|
||||
input parameters
|
||||
</title>
|
||||
<tgroup cols="4">
|
||||
<colspec colnum="1" colname="parameter" />
|
||||
<colspec colnum="2" colname="type" />
|
||||
<colspec colnum="3" colname="required" />
|
||||
<colspec colnum="4" colname="description" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>parameter</entry>
|
||||
<entry>type</entry>
|
||||
<entry>required</entry>
|
||||
<entry>description</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>host</entry>
|
||||
<entry>HostConnection</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry>
|
||||
Host where to execute the command. See
|
||||
<link linkend='hostconnection'>HostConnection</link>
|
||||
.
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>command</entry>
|
||||
<entry>String</entry>
|
||||
<entry>No</entry>
|
||||
<entry>Any command including arguments</entry>
|
||||
</row>
|
||||
¶m-timeout;
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
<para />
|
||||
</section>
|
||||
<section>
|
||||
<title>&outp;
|
||||
</title>
|
||||
<xi:include href="../types/ReturnCode.xml" />
|
||||
</section>
|
||||
</section>
|
|
@ -1,42 +1,56 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?><section>
|
||||
<title>runCommand</title>
|
||||
<para>Run an executable with arguments on the server providing the web service. The command is run within the environment and under the user privileges of the user who is running the Tomcat Server.</para>
|
||||
<section>
|
||||
<title>&inp;</title>
|
||||
<para/>
|
||||
<table frame="all">
|
||||
<title>runCommand input parameters</title>
|
||||
<tgroup cols="4">
|
||||
<colspec colnum="1" colname="parameter"/>
|
||||
<colspec colnum="2" colname="type"/>
|
||||
<colspec colnum="3" colname="required"/>
|
||||
<colspec colnum="4" colname="description"/>
|
||||
<thead>
|
||||
<row>
|
||||
<entry>parameter</entry>
|
||||
<entry>type</entry>
|
||||
<entry>required</entry>
|
||||
<entry>description</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>executable</entry>
|
||||
<entry>String</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry>Command to be run. The command may be specified with full path using forward slash "/" as path separator.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>argline</entry>
|
||||
<entry>String</entry>
|
||||
<entry>No</entry>
|
||||
<entry>Any command line arguments</entry>
|
||||
</row>
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<!DOCTYPE section [
|
||||
<!ENTITY % myent SYSTEM "../entities.ent">
|
||||
%myent;
|
||||
]>
|
||||
<section xmlns="http://docbook.org/ns/docbook" version="5.0"
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<title>runCommand</title>
|
||||
<para>Run an executable with arguments on the server providing the web
|
||||
service. The command is run within the environment and under the user
|
||||
privileges of the user who is running the Tomcat Server.</para>
|
||||
<section>
|
||||
<title>&inp;
|
||||
</title>
|
||||
<para />
|
||||
<table frame="all">
|
||||
<title>runCommand input parameters</title>
|
||||
<tgroup cols="4">
|
||||
<colspec colnum="1" colname="parameter" />
|
||||
<colspec colnum="2" colname="type" />
|
||||
<colspec colnum="3" colname="required" />
|
||||
<colspec colnum="4" colname="description" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>parameter</entry>
|
||||
<entry>type</entry>
|
||||
<entry>required</entry>
|
||||
<entry>description</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>executable</entry>
|
||||
<entry>String</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry>Command to be run. The command may be specified with full
|
||||
path using forward slash "/" as path separator.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>argline</entry>
|
||||
<entry>String</entry>
|
||||
<entry>No</entry>
|
||||
<entry>Any command line arguments</entry>
|
||||
</row>
|
||||
¶m-timeout;
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
<para/>
|
||||
&returncode;
|
||||
</section>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
<para />
|
||||
</section>
|
||||
<section>
|
||||
<title>&outp;
|
||||
</title>
|
||||
<xi:include href="../types/ReturnCode.xml" />
|
||||
</section>
|
||||
</section>
|
|
@ -0,0 +1,73 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<!DOCTYPE section [
|
||||
<!ENTITY % myent SYSTEM "../entities.ent">
|
||||
%myent;
|
||||
]>
|
||||
<section xmlns="http://docbook.org/ns/docbook" version="5.0"
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<title>runCommandWithSSH</title>
|
||||
<para>Executes a command through a SSH session.</para>
|
||||
<section>
|
||||
<title>&inp;
|
||||
</title>
|
||||
<para />
|
||||
<table frame="all">
|
||||
<title>runCommandWithSSH input parameters</title>
|
||||
<tgroup cols="4">
|
||||
<colspec colnum="1" colname="parameter" />
|
||||
<colspec colnum="2" colname="type" />
|
||||
<colspec colnum="3" colname="required" />
|
||||
<colspec colnum="4" colname="description" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>parameter</entry>
|
||||
<entry>type</entry>
|
||||
<entry>required</entry>
|
||||
<entry>description</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>host</entry>
|
||||
<entry>HostConnection</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry>
|
||||
Host to connect to (see:
|
||||
<link linkend="hostconnection">tns:HostConnection</link>
|
||||
)
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>command</entry>
|
||||
<entry>String</entry>
|
||||
<entry>No</entry>
|
||||
<entry>The command to execute.</entry>
|
||||
</row>
|
||||
¶m-timeout;
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
<para />
|
||||
</section>
|
||||
<section>
|
||||
<title>&outp;
|
||||
</title>
|
||||
<xi:include href="../types/ReturnCode.xml" />
|
||||
</section>
|
||||
<section>
|
||||
<title>Sample Request:</title>
|
||||
<programlisting language="xml">
|
||||
<![CDATA[
|
||||
<ws:runCommandWithSSH>
|
||||
<host>
|
||||
<hostname>ssh.brutex.net</hostname>
|
||||
<port>22</port>
|
||||
<user>roger</user>
|
||||
<password>xxx</password>
|
||||
</host>
|
||||
<command>ls /etc/</command>
|
||||
<timeout>30000</timeout>
|
||||
</ws:runCommandWithSSH>
|
||||
]]></programlisting>
|
||||
</section>
|
||||
</section>
|
|
@ -0,0 +1,83 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<!DOCTYPE section [
|
||||
<!ENTITY % myent SYSTEM "../entities.ent">
|
||||
%myent;
|
||||
]>
|
||||
<section xmlns="http://docbook.org/ns/docbook" version="5.0"
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<title>telnet</title>
|
||||
<para>Runs a telnet session with an "expect shell" like behaviour.</para>
|
||||
<section>
|
||||
<title>&inp;
|
||||
</title>
|
||||
<para />
|
||||
<table frame="all">
|
||||
<title>telnet input parameters</title>
|
||||
<tgroup cols="4">
|
||||
<colspec colnum="1" colname="parameter" />
|
||||
<colspec colnum="2" colname="type" />
|
||||
<colspec colnum="3" colname="required" />
|
||||
<colspec colnum="4" colname="description" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry>parameter</entry>
|
||||
<entry>type</entry>
|
||||
<entry>required</entry>
|
||||
<entry>description</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>host</entry>
|
||||
<entry>HostConnection</entry>
|
||||
<entry>Yes</entry>
|
||||
<entry>Host to connect to (see: <link linkend="hostconnection">tns:HostConnection</link>)</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>prompt</entry>
|
||||
<entry>String</entry>
|
||||
<entry>No</entry>
|
||||
<entry>The prompt string to expect after login. This is used to recognize when
|
||||
the session is open.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>command</entry>
|
||||
<entry>String</entry>
|
||||
<entry>No</entry>
|
||||
<entry>The command to execute.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>expect</entry>
|
||||
<entry>String</entry>
|
||||
<entry>No</entry>
|
||||
<entry>The prompt to expect after the command has been executed successfully.</entry>
|
||||
</row>
|
||||
¶m-timeout;
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
<para />
|
||||
</section>
|
||||
<section>
|
||||
<title>&outp;</title>
|
||||
<xi:include href="../types/ReturnCode.xml" />
|
||||
</section>
|
||||
<section>
|
||||
<title>Sample Request:</title>
|
||||
<programlisting language="xml">
|
||||
<![CDATA[
|
||||
<ws:telnet>
|
||||
<host>
|
||||
<hostname>localhost</hostname>
|
||||
<port>23</port>
|
||||
<user>brosenberger</user>
|
||||
<password></password>
|
||||
</host>
|
||||
<prompt>C:\Users\brosenberger></prompt>
|
||||
<command>dir c:\temp</command>
|
||||
<expect>enberger></expect>
|
||||
<timeout>60000</timeout>
|
||||
</ws:telnet>
|
||||
]]></programlisting>
|
||||
</section>
|
||||
</section>
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<section xmlns="http://docbook.org/ns/docbook" version="5.0"
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
id="fileservices">
|
||||
<title>FileServices</title>
|
||||
<para>The FileServces bundles various file operations. Its WSDL is located at
|
||||
http://server:port/XServices/FileService?wsdl</para>
|
||||
</section>
|
|
@ -0,0 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<section xmlns="http://docbook.org/ns/docbook" version="5.0"
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
id="miscservices">
|
||||
<title>MiscServices</title>
|
||||
<para>The MiscService bundles various operations. Its WSDL is located at
|
||||
http://server:port/XServices/MiscService?wsdl</para>
|
||||
|
||||
</section>
|
|
@ -1,4 +1,12 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?><chapter>
|
||||
<title>XML Types</title>
|
||||
<para>This chapter bundles the documentation for common xml types used by XServices web service.</para>
|
||||
&returncode;&patternsettype;&selectortype;&antproperty;&patternelement;</chapter>
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<section xmlns="http://docbook.org/ns/docbook" version="5.0"
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<!-- Sort alphabetically -->
|
||||
<xi:include href="types/AntProperty.xml" />
|
||||
<xi:include href="types/FileResource.xml" />
|
||||
<xi:include href="types/HostConnection.xml" />
|
||||
<xi:include href="types/PatternElement.xml" />
|
||||
<xi:include href="types/PatternSetType.xml" />
|
||||
<xi:include href="types/ReturnCode.xml" />
|
||||
<xi:include href="types/SelectorType.xml" />
|
||||
</section>
|
|
@ -1,3 +0,0 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?><chapter>
|
||||
<title>&brs;</title>
|
||||
&ArchiveServices;&ExecuteServices;</chapter>
|
Binary file not shown.
|
@ -1,20 +0,0 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<title>Abstract</title>
|
||||
<para>In complex IT environments it is necessary to integrate different information systems with each other, exchange data between tools and automate actions and function calls depending on events arising from user interaction. To meet the requirements of integration building usually means to implement APIs and to create tool-to-tool bridges. Web Services can help to clean up bridges into interfaces as well as to abstract functions from their underlying platform and implementation.</para>
|
||||
<para>These are the major goals of the loosely coupled integration strategy which is in turn one essential idea of a service-oriented architecture (SOA).</para>
|
||||
<para>&brs; provide a low level set of functions and web services. These can be orchestrated into services and used in business processes which make up the execution part of a SOA environment.</para>
|
||||
<para>&brs; is an add-on to XBridgeNG 2.0. It runs standalone or in combination with XBridgeNG. Pure XBridgeNG has two components:</para>
|
||||
<para><itemizedlist>
|
||||
<listitem>
|
||||
<para>XML Schema for item based data types (e.g. tickets from a bug tracker system or a database record)</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Set of Apache Ant tasks to function as a bridge between the XBridgeNG XML format at legacy 3rd party software (e.g. HP Quality Center, Serena TeamTrack, ...)</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>The &brs; add
|
||||
Web Services (SOAP) wrapper around Apache Ant tasks (since XBridgeNG 2.0)</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
<para>The current focus is on file-based operations. &brs; do not contain an integration server or a process execution engine.</para>
|
|
@ -0,0 +1,59 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<abstract>
|
||||
<title>Abstract</title>
|
||||
<para>In complex IT environments it is necessary to integrate
|
||||
different information systems with each other, exchange data
|
||||
between
|
||||
tools and automate actions and function calls depending
|
||||
on events
|
||||
arising from user interaction. To meet the requirements
|
||||
of
|
||||
integration building usually means to implement APIs and to
|
||||
create
|
||||
tool-to-tool bridges. Web Services can help to clean up
|
||||
bridges into
|
||||
interfaces as well as to abstract functions from
|
||||
their underlying
|
||||
platform and implementation.</para>
|
||||
<para>These are the major goals of the loosely coupled
|
||||
integration
|
||||
strategy which is in turn one essential idea of a
|
||||
service-oriented
|
||||
architecture (SOA).</para>
|
||||
<para>provide a low level set of functions and web services.
|
||||
These can
|
||||
be orchestrated into services and used in business
|
||||
processes which
|
||||
make up the execution part of a SOA
|
||||
environment.</para>
|
||||
<para>is an add-on to XBridgeNG 2.0. It runs standalone or in
|
||||
combination with XBridgeNG. Pure XBridgeNG has two
|
||||
components:</para>
|
||||
<para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>XML Schema for item based data types (e.g. tickets
|
||||
from a bug
|
||||
tracker system or a database record)</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Set of Apache Ant tasks to function as a bridge
|
||||
between the
|
||||
XBridgeNG XML format at legacy 3rd party
|
||||
software (e.g. HP Quality
|
||||
Center, Serena TeamTrack,
|
||||
...)</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>The add Web Services (SOAP) wrapper around Apache Ant
|
||||
tasks
|
||||
(since XBridgeNG 2.0)</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
<para>The current focus is on file-based operations. do not
|
||||
contain an
|
||||
integration server or a process execution
|
||||
engine.</para>
|
||||
</abstract>
|
||||
|
|
@ -0,0 +1,61 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<section xmlns="http://docbook.org/ns/docbook" version="5.0"
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
|
||||
<section>
|
||||
<title>Installation</title>
|
||||
<para>tbd.</para>
|
||||
<para>Sun Java SE 1.6.0</para>
|
||||
<para>Apache Tomcat 7</para>
|
||||
<para>tbd.</para>
|
||||
<para>In short: Deploy .WAR file to Apache Tomcat</para>
|
||||
<section>
|
||||
<title>Securing with Basic Authentication</title>
|
||||
<para>There is a quick guide explaining Basic Authentication for Tomcat here: <link
|
||||
xlink:href="http://oreilly.com/pub/a/java/archive/tomcat-tips.html?page=1">
|
||||
http://oreilly.com/pub/a/java/archive/tomcat-tips.html?page=1</link>
|
||||
</para>
|
||||
<para>
|
||||
|
||||
</para>
|
||||
</section>
|
||||
<section>
|
||||
<title>Limit access to</title>
|
||||
<para>Sometimes you'll only want to restrict access to to
|
||||
only
|
||||
specified host names or IP addresses. This way, only
|
||||
clients at
|
||||
those specified addresses can use the web services.
|
||||
Tomcat provides
|
||||
two configuration values for that:
|
||||
RemoteHostValve and
|
||||
RemoteAddrValve.</para>
|
||||
<para>These Valves allow you to filter requests by host name or
|
||||
by IP
|
||||
address, and to allow or deny hosts that match. The
|
||||
example below
|
||||
restricts access to the ArchiveService from any
|
||||
machine that is not
|
||||
the local host.</para>
|
||||
<programlisting language="xml"><Context
|
||||
path="/XService/ArchiveService"
|
||||
...> <Valve
|
||||
className="org.apache.catalina.valves.RemoteAddrValve"
|
||||
allow="127.0.0.1" deny=""/> </Context>
|
||||
</programlisting>
|
||||
<para>If no allow pattern is given, then patterns that match
|
||||
the deny
|
||||
attribute patterns will be rejected, and all others
|
||||
will be allowed.
|
||||
Similarly, if no deny pattern is given,
|
||||
patterns that match the
|
||||
allow attribute will be allowed, and
|
||||
all others will be denied.
|
||||
</para>
|
||||
<para>The <context> element must be placed into the
|
||||
server.xml
|
||||
file (into <engine><host>).</para>
|
||||
</section>
|
||||
</section>
|
||||
</section>
|
|
@ -1,6 +1,6 @@
|
|||
<!ENTITY inp "Input parameters">
|
||||
<!ENTITY outp "Output parameters">
|
||||
<!ENTITY brs "<application class='software'>BruteXservices</application>">
|
||||
<!ENTITY brs "">
|
||||
<!ENTITY param-timeout "<row>
|
||||
<entry>timeout</entry>
|
||||
<entry>Long</entry>
|
||||
|
@ -12,9 +12,4 @@
|
|||
<!ENTITY schemadefinition "<bridgehead renderas='sect3'>Schema definition</bridgehead>">
|
||||
|
||||
|
||||
<!ENTITY returncode SYSTEM "types/ReturnCode.xml">
|
||||
<!ENTITY antproperty SYSTEM "types/AntProperty.xml">
|
||||
<!ENTITY patternelement SYSTEM "types/PatternElement.xml">
|
||||
<!ENTITY patternsettype SYSTEM "types/PatternSetType.xml">
|
||||
<!ENTITY selectortype SYSTEM "types/SelectorType.xml">
|
||||
|
||||
|
|
|
@ -1,32 +0,0 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?><chapter>
|
||||
<beginpage/>
|
||||
<title>Getting started</title>
|
||||
<para>This chapter describes the installation.</para>
|
||||
<sect1>
|
||||
<title>Prerequisites</title>
|
||||
<para>tbd.</para>
|
||||
<para>Sun Java SE 1.6.0</para>
|
||||
<para>Apache Tomcat 6</para>
|
||||
</sect1>
|
||||
<sect1>
|
||||
<title>Installation</title>
|
||||
<para>tbd.</para>
|
||||
<para>In short: Deploy .WAR file to Apache Tomcat</para>
|
||||
<sect2>
|
||||
<title>Securing &brs; with Basic Authentication</title>
|
||||
<para>There is a quick guide explaining Basic Authentication for Tomcat here: </para>
|
||||
<para><ulink url="http://oreilly.com/pub/a/java/archive/tomcat-tips.html?page=1"/></para>
|
||||
</sect2>
|
||||
<sect2>
|
||||
<title>Limit access to &brs;</title>
|
||||
<para>Sometimes you'll only want to restrict access to &brs; to only specified host names or IP addresses. This way, only clients at those specified addresses can use the &brs; web services. Tomcat provides two configuration values for that: RemoteHostValve and RemoteAddrValve.</para>
|
||||
<para>These Valves allow you to filter requests by host name or by IP address, and to allow or deny hosts that match. The example below restricts access to the ArchiveService from any machine that is not the local host.</para>
|
||||
<programlisting language="xml"><Context path="/XService/ArchiveService" ...>
|
||||
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
|
||||
allow="127.0.0.1" deny=""/>
|
||||
</Context></programlisting>
|
||||
<para>If no allow pattern is given, then patterns that match the deny attribute patterns will be rejected, and all others will be allowed. Similarly, if no deny pattern is given, patterns that match the allow attribute will be allowed, and all others will be denied.</para>
|
||||
<para>The <context> element must be placed into the server.xml file (into <engine><host>).</para>
|
||||
</sect2>
|
||||
</sect1>
|
||||
</chapter>
|
|
@ -1,24 +1,31 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?><section id="antproperty">
|
||||
<title>AntProperty type</title>
|
||||
<para>The AntProperty type defines a list of key/value pairs.</para>
|
||||
<para>The defining Java class is
|
||||
<ulink url="javadoc/net/brutex/xservices/types/AntProperty.html">
|
||||
<classname>net.brutex.xservices.types.AntProperty</classname></ulink>.</para>
|
||||
&schemadefinition;
|
||||
<programlisting language="xml"><![CDATA[
|
||||
<xs:complexType name="antProperty">
|
||||
<xs:sequence>
|
||||
<xs:element name="name" type="xs:string"/>
|
||||
<xs:element name="value" type="xs:string"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>]]>
|
||||
</programlisting>
|
||||
&examplexml;
|
||||
<programlisting language="xml"><![CDATA[
|
||||
<AntProperty>
|
||||
<name>key2</name>
|
||||
<value>value2</value>
|
||||
</AntProperty>]]>
|
||||
</programlisting>
|
||||
|
||||
</section>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<section>
|
||||
<title>AntProperty type</title>
|
||||
<para>The AntProperty type defines a list of key/value pairs.</para>
|
||||
<para>
|
||||
The defining Java class is
|
||||
<ulink
|
||||
url="javadoc/net/brutex/xservices/types/AntProperty.html">
|
||||
<classname>net.brutex.xservices.types.AntProperty</classname>
|
||||
</ulink>
|
||||
.
|
||||
</para>
|
||||
|
||||
<programlisting
|
||||
language="xml"><![CDATA[
|
||||
<xs:complexType name="antProperty">
|
||||
<xs:sequence>
|
||||
<xs:element name="name" type="xs:string"/>
|
||||
<xs:element name="value" type="xs:string"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>]]>
|
||||
</programlisting>
|
||||
|
||||
<programlisting
|
||||
language="xml"><![CDATA[
|
||||
<AntProperty>
|
||||
<name>key2</name>
|
||||
<value>value2</value>
|
||||
</AntProperty>]]>
|
||||
</programlisting>
|
||||
</section>
|
|
@ -0,0 +1,34 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<section>
|
||||
<title>FileResource type</title>
|
||||
<para>The FileResource type defines an URI to a file with optional on-the-fly decompression.</para>
|
||||
<para>
|
||||
The defining Java class is
|
||||
<ulink
|
||||
url="javadoc/net/brutex/xservices/types/FileResource.html">
|
||||
<classname>net.brutex.xservices.types.FileResource</classname>
|
||||
</ulink>
|
||||
.
|
||||
</para>
|
||||
|
||||
<programlisting
|
||||
language="xml"><![CDATA[
|
||||
<xs:complexType name="FileResourceType">
|
||||
<xs:sequence>
|
||||
<xs:element default="FILE" name="type" type="tns:type"/>
|
||||
<xs:element name="uri" type="xs:string"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>]]>
|
||||
</programlisting>
|
||||
<para>Available types:</para>
|
||||
<para>FILE: URI points to a local file resource. Examples: c:\temp\something.txt, c:/dir/another.file, /home/brian/file</para>
|
||||
<para>URL: File from URL (http, https, ftp, ...). Example: http://brutex.net/file.pdf</para>
|
||||
<para>GZIP and BZIP2: File from a local file system with on-the-fly decompression.</para>
|
||||
<programlisting
|
||||
language="xml"><![CDATA[
|
||||
<resource>
|
||||
<type>FILE</type>
|
||||
<uri>c:\temp\xservices.war</uri>
|
||||
</resource>]]>
|
||||
</programlisting>
|
||||
</section>
|
|
@ -0,0 +1,37 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<section xmlns="http://docbook.org/ns/docbook" version="5.0"
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude" id="hostconnection">
|
||||
<title>HostConnection type</title>
|
||||
<para>The HostConnection type identifies a server resource and login
|
||||
credentials.</para>
|
||||
<para>
|
||||
The defining Java class is
|
||||
<ulink url="javadoc/net/brutex/xservices/types/HostConnection.html">
|
||||
<classname>net.brutex.xservices.types.HostConnection</classname>
|
||||
</ulink>
|
||||
.
|
||||
</para>
|
||||
<bridgehead renderas='sect3'>Schema definition</bridgehead>
|
||||
<programlisting language="xml"><![CDATA[
|
||||
<xs:complexType name="connection">
|
||||
<xs:sequence>
|
||||
<xs:element name="hostname" type="xs:string"/>
|
||||
<xs:element name="port" type="xs:int"/>
|
||||
<xs:element minOccurs="0" name="user" type="xs:string"/>
|
||||
<xs:element minOccurs="0" name="password" type="xs:string"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
]]>
|
||||
</programlisting>
|
||||
<bridgehead renderas='sect3'>Example XML</bridgehead>
|
||||
<programlisting language="xml"><![CDATA[
|
||||
<host>
|
||||
<hostname>server.brutex.net</hostname>
|
||||
<port>512</port> <!-- default rExec port -->
|
||||
<user>brian</user>
|
||||
<!--Optional:-->
|
||||
<password>somepass</password>
|
||||
</host>
|
||||
]]>
|
||||
</programlisting>
|
||||
</section>
|
|
@ -1,31 +1,52 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?><section id="patternelement">
|
||||
<title>PatternElement type</title>
|
||||
<para>The PatternElement type defines single string pattern for file/ directory matching.</para>
|
||||
<para>The defining Java class is
|
||||
<ulink url="javadoc/net/brutex/xservices/types/PatternElement.html">
|
||||
<classname>net.brutex.xservices.types.PatternElement</classname>
|
||||
</ulink>.
|
||||
</para>
|
||||
<para>These patterns look exactly like those used in Apache Ant
|
||||
<ulink url="http://ant.apache.org/manual/dirtasks.html#patterns">Patterns</ulink>.
|
||||
The '*' matches zero or more characters and the '?' will match a single character.
|
||||
Both symbols can be combined in one pattern. The '**'
|
||||
symbol can be used to match any directory deepth.
|
||||
</para>
|
||||
<para>Some example patterns:</para>
|
||||
<para><parameter>**/mydir/**</parameter></para>
|
||||
<para>Match all file that are located in any directory that has "mydir" string in its pathname. Also applies to files with "mydir" in their name.</para>
|
||||
<para><parameter>/mydir/</parameter></para>
|
||||
<para>The parser will automatically append an '**' symbol, thus the resulting pattern is <parameter>/mydir/**</parameter>. All files below the "/mydir/" directory (including its sub-directories will be chosen.</para>
|
||||
<note>
|
||||
<para>The pattern is OS independent. You should always use "/" as path separator, even on windows based systems.</para>
|
||||
</note>
|
||||
&schemadefinition;
|
||||
<programlisting language="xml"><![CDATA[<xs:simpleType name="patternElement">
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<section xmlns="http://docbook.org/ns/docbook" version="5.0"
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude" id="patternelement">
|
||||
<title>PatternElement type</title>
|
||||
<para>The PatternElement type defines single string pattern for file/
|
||||
directory matching.</para>
|
||||
<para>
|
||||
The defining Java class is
|
||||
<ulink url="javadoc/net/brutex/xservices/types/PatternElement.html">
|
||||
<classname>net.brutex.xservices.types.PatternElement</classname>
|
||||
</ulink>
|
||||
.
|
||||
</para>
|
||||
<para>
|
||||
These patterns look exactly like those used in Apache Ant
|
||||
<ulink url="http://ant.apache.org/manual/dirtasks.html#patterns">Patterns</ulink>.
|
||||
The '*' matches zero or more characters and the
|
||||
'?' will match a single character.
|
||||
Both symbols can be combined in one pattern. The '**'
|
||||
symbol can be used to match any directory deepth.
|
||||
</para>
|
||||
<para>Some example patterns:</para>
|
||||
<para>
|
||||
<parameter>**/mydir/**</parameter>
|
||||
</para>
|
||||
<para>Match all file that are located in any directory that has
|
||||
"mydir" string in its pathname. Also applies to files with
|
||||
"mydir" in their name.</para>
|
||||
<para>
|
||||
<parameter>/mydir/</parameter>
|
||||
</para>
|
||||
<para>The
|
||||
parser will automatically append an '**' symbol, thus the
|
||||
resulting pattern is
|
||||
<parameter>/mydir/**</parameter>.
|
||||
All files below the "/mydir/" directory (including its
|
||||
sub-directories will be chosen.
|
||||
</para>
|
||||
<note>
|
||||
<para>The pattern is OS independent. You should always use
|
||||
"/" as path separator, even on windows based systems.
|
||||
</para>
|
||||
</note>
|
||||
<bridgehead renderas='sect3'>Schema definition</bridgehead>
|
||||
<programlisting language="xml"><![CDATA[<xs:simpleType name="patternElement">
|
||||
<xs:restriction base="xs:string"/>
|
||||
</xs:simpleType>]]></programlisting>
|
||||
|
||||
&examplexml;
|
||||
<programlisting language="xml"><![CDATA[<PatternElement>**/*</PatternElement>]]></programlisting>
|
||||
<bridgehead renderas='sect3'>Example XML</bridgehead>
|
||||
<programlisting language="xml"><![CDATA[<PatternElement>**/*</PatternElement>]]></programlisting>
|
||||
|
||||
</section>
|
|
@ -1,23 +1,32 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<section id="patternsettype">
|
||||
<title>PatternSetType type</title>
|
||||
<para>The PatternSetType exposes various filters/ selectors for the selection of resources (files).</para>
|
||||
<para>The defining Java class is
|
||||
<ulink url="javadoc/net/brutex/xservices/types/PatternSetType.html">
|
||||
<classname>net.brutex.xservices.types.PatternSetType</classname></ulink>.</para>
|
||||
&schemadefinition;
|
||||
<programlisting language="xml"><![CDATA[
|
||||
<section xmlns="http://docbook.org/ns/docbook" version="5.0"
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude" id="patternsettype">
|
||||
<title>PatternSetType type</title>
|
||||
<para>The PatternSetType exposes various filters/ selectors for the
|
||||
selection of resources (files).</para>
|
||||
<para>
|
||||
The defining Java class is
|
||||
<ulink url="javadoc/net/brutex/xservices/types/PatternSetType.html">
|
||||
<classname>net.brutex.xservices.types.PatternSetType</classname>
|
||||
</ulink>
|
||||
.
|
||||
</para>
|
||||
<bridgehead renderas='sect3'>Schema definition</bridgehead>
|
||||
<programlisting language="xml"><![CDATA[
|
||||
<xs:complexType name="patternSetType">
|
||||
<xs:sequence>
|
||||
<xs:element default="**/*" maxOccurs="unbounded" minOccurs="0" name="include" type="]]><link linkend="patternelement">tns:patternElement</link><![CDATA["/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="exclude" type="]]><link linkend="patternelement">tns:patternElement</link><![CDATA["/>
|
||||
<xs:element minOccurs="0" name="selector" nillable="true" type="]]><link linkend="selectortype">tns:selectorType</link><![CDATA["/>
|
||||
<xs:element default="**/*" maxOccurs="unbounded" minOccurs="0" name="include" type="]]><link
|
||||
linkend="patternelement">tns:patternElement</link><![CDATA["/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="exclude" type="]]><link
|
||||
linkend="patternelement">tns:patternElement</link><![CDATA["/>
|
||||
<xs:element minOccurs="0" name="selector" nillable="true" type="]]><link
|
||||
linkend="selectortype">tns:selectorType</link><![CDATA["/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>]]>
|
||||
</programlisting>
|
||||
&examplexml;
|
||||
<programlisting language="xml"><![CDATA[
|
||||
</programlisting>
|
||||
<bridgehead renderas='sect3'>Example XML</bridgehead>
|
||||
<programlisting language="xml"><![CDATA[
|
||||
tbd.]]>
|
||||
</programlisting>
|
||||
</programlisting>
|
||||
</section>
|
||||
|
||||
|
|
|
@ -1,34 +1,53 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?><section>
|
||||
<title>ReturnCode type</title>
|
||||
<para>The ReturnCode type is used as the generic answer type for most of the &brs; operations.</para>
|
||||
<para>The defining Java class is
|
||||
<ulink url="&javadoc-base;javadoc/net/brutex/xservices/types/ReturnCode.html">
|
||||
<classname>net.brutex.xservices.types.ReturnCode</classname></ulink>.</para>
|
||||
&schemadefinition;
|
||||
<programlisting language="xml"><![CDATA[
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<section xmlns="http://docbook.org/ns/docbook" version="5.0"
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<title>ReturnCode type</title>
|
||||
<para>
|
||||
The ReturnCode type is used as the generic answer type for most of the
|
||||
<application class='software'>BruteXservices</application>
|
||||
operations.
|
||||
</para>
|
||||
<para>
|
||||
The defining Java class is
|
||||
<ulink url="javadoc/net/brutex/xservices/types/ReturnCode.html">
|
||||
<classname>net.brutex.xservices.types.ReturnCode</classname>
|
||||
</ulink>
|
||||
.
|
||||
</para>
|
||||
<bridgehead renderas='sect3'>Schema definition</bridgehead>
|
||||
<programlisting language="xml"><![CDATA[
|
||||
<xs:complexType name="ReturnCodeType">
|
||||
<xs:sequence>
|
||||
<xs:element name="returnCode" type="xs:int"/>
|
||||
<xs:element minOccurs="0" name="stdOut" type="xs:string"/>
|
||||
<xs:element minOccurs="0" name="stdErr" type="xs:string"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="propertyList" nillable="true" type="]]><link linkend="antproperty">tns:antProperty</link><![CDATA["/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="propertyList" nillable="true" type="]]><link
|
||||
linkend="antproperty">tns:antProperty</link><![CDATA["/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>]]>
|
||||
</programlisting>
|
||||
</programlisting>
|
||||
|
||||
&examplexml;
|
||||
<programlisting language="xml"><ReturnCode xmlns:ns2="http://ws.xservices.brutex.net">
|
||||
<returnCode>0</returnCode>
|
||||
<stdOut/>
|
||||
<stdErr/>
|
||||
<propertyList> <lineannotation>See <link linkend="antproperty">tns:antProperty</link> for details about the <propertyList> elements.</lineannotation>
|
||||
<name>key1</name>
|
||||
<value>value1</value>
|
||||
</propertyList>
|
||||
<propertyList>
|
||||
<name>key2</name>
|
||||
<value>value2</value>
|
||||
</propertyList>
|
||||
</ReturnCode></programlisting>
|
||||
<bridgehead renderas='sect3'>Example XML</bridgehead>
|
||||
<programlisting language="xml">
|
||||
<ReturnCode
|
||||
xmlns:ns2="http://ws.xservices.brutex.net">
|
||||
<returnCode>0</returnCode>
|
||||
<stdOut/>
|
||||
<stdErr/>
|
||||
<propertyList>
|
||||
<lineannotation>
|
||||
See
|
||||
<link linkend="antproperty">tns:antProperty</link>
|
||||
for details about the <propertyList> elements.
|
||||
</lineannotation>
|
||||
<name>key1</name>
|
||||
<value>value1</value>
|
||||
</propertyList>
|
||||
<propertyList>
|
||||
<name>key2</name>
|
||||
<value>value2</value>
|
||||
</propertyList>
|
||||
</ReturnCode>
|
||||
</programlisting>
|
||||
|
||||
</section>
|
|
@ -1,11 +1,13 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<section id="selectortype">
|
||||
<section xmlns="http://docbook.org/ns/docbook"
|
||||
version="5.0"
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude" id="selectortype">
|
||||
<title>SelectorType type</title>
|
||||
<para>The SelectorType exposes various selectors for the selection of resources (files).</para>
|
||||
<para>The defining Java class is
|
||||
<ulink url="javadoc/net/brutex/xservices/types/SelectorType.html">
|
||||
<classname>net.brutex.xservices.types.SelectorType</classname></ulink>.</para>
|
||||
&schemadefinition;
|
||||
<bridgehead renderas='sect3'>Schema definition</bridgehead>
|
||||
<programlisting language="xml"><![CDATA[
|
||||
<xs:complexType abstract="true" name="selectorType">
|
||||
<xs:sequence>
|
||||
|
@ -13,7 +15,7 @@
|
|||
</xs:sequence>
|
||||
</xs:complexType>]]>
|
||||
</programlisting>
|
||||
&examplexml;
|
||||
<bridgehead renderas='sect3'>Example XML</bridgehead>
|
||||
<programlisting language="xml"><![CDATA[
|
||||
tbd.]]>
|
||||
</programlisting>
|
||||
|
|
Loading…
Reference in New Issue