diff --git a/doc/ArchiveServices/ArchiveServices.xml b/doc/ArchiveServices/ArchiveServices.xml index 1c65bbe..4e7c905 100644 --- a/doc/ArchiveServices/ArchiveServices.xml +++ b/doc/ArchiveServices/ArchiveServices.xml @@ -5,4 +5,19 @@ The ArchiveService bundles file packing operations. Its WSDL is located at http://server:port/XServices/ArchiveService?wsdl + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/ArchiveServices/bunzip2.xml b/doc/ArchiveServices/bunzip2.xml new file mode 100644 index 0000000..bd5942d --- /dev/null +++ b/doc/ArchiveServices/bunzip2.xml @@ -0,0 +1,20 @@ + + +%myent; +]> +
+ bunzip2 + Extract files from a bzip2 archive. + Sample request: + + Sample response: + + + +
\ No newline at end of file diff --git a/doc/ArchiveServices/bunzip2FromURL.xml b/doc/ArchiveServices/bunzip2FromURL.xml new file mode 100644 index 0000000..822f3cd --- /dev/null +++ b/doc/ArchiveServices/bunzip2FromURL.xml @@ -0,0 +1,21 @@ + + +%myent; +]> +
+ bunzip2FromURL + Extract files from a bzip2 archive. The archive is located on the web (http/ https) + and will be downloaded automatically. + Sample request: + + Sample response: + + + +
\ No newline at end of file diff --git a/doc/ArchiveServices/bzip2.xml b/doc/ArchiveServices/bzip2.xml new file mode 100644 index 0000000..7c6620c --- /dev/null +++ b/doc/ArchiveServices/bzip2.xml @@ -0,0 +1,20 @@ + + +%myent; +]> +
+ gzip + Create a GNU zip archive. + Sample request: + + Sample response: + + + +
\ No newline at end of file diff --git a/doc/ArchiveServices/bzip2FromArchive.xml b/doc/ArchiveServices/bzip2FromArchive.xml new file mode 100644 index 0000000..1f994ee --- /dev/null +++ b/doc/ArchiveServices/bzip2FromArchive.xml @@ -0,0 +1,20 @@ + + +%myent; +]> +
+ bzip2FromArchive + Create a new bzip2 archive from files located within another archive. + Sample request: + + Sample response: + + + +
\ No newline at end of file diff --git a/doc/ArchiveServices/gunzip.xml b/doc/ArchiveServices/gunzip.xml new file mode 100644 index 0000000..bc4fbea --- /dev/null +++ b/doc/ArchiveServices/gunzip.xml @@ -0,0 +1,20 @@ + + +%myent; +]> +
+ gunzip + Extract files from a GNU zip archive. + Sample request: + + Sample response: + + + +
\ No newline at end of file diff --git a/doc/ArchiveServices/gunzipFromURL.xml b/doc/ArchiveServices/gunzipFromURL.xml new file mode 100644 index 0000000..2edb189 --- /dev/null +++ b/doc/ArchiveServices/gunzipFromURL.xml @@ -0,0 +1,21 @@ + + +%myent; +]> +
+ gunzipFromURL + Extract files from a GNU zip archive. The archive is located on the web (http/ https) + and will be downloaded automatically. + Sample request: + + Sample response: + + + +
\ No newline at end of file diff --git a/doc/ArchiveServices/gzip.xml b/doc/ArchiveServices/gzip.xml new file mode 100644 index 0000000..7f23295 --- /dev/null +++ b/doc/ArchiveServices/gzip.xml @@ -0,0 +1,20 @@ + + +%myent; +]> +
+ bzip2 + Create a bzip2 archive. + Sample request: + + Sample response: + + + +
\ No newline at end of file diff --git a/doc/ArchiveServices/gzipFromArchive.xml b/doc/ArchiveServices/gzipFromArchive.xml new file mode 100644 index 0000000..4ef4f5d --- /dev/null +++ b/doc/ArchiveServices/gzipFromArchive.xml @@ -0,0 +1,20 @@ + + +%myent; +]> +
+ gzipFromArchive + Create a new GNU zip archive from files located within another archive. + Sample request: + + Sample response: + + + +
\ No newline at end of file diff --git a/doc/ArchiveServices/unrar.xml b/doc/ArchiveServices/unrar.xml new file mode 100644 index 0000000..21d9c7f --- /dev/null +++ b/doc/ArchiveServices/unrar.xml @@ -0,0 +1,20 @@ + + +%myent; +]> +
+ untar + Extract files from a tarball archive. + Sample request: + + Sample response: + + + +
\ No newline at end of file diff --git a/doc/ArchiveServices/untar.xml b/doc/ArchiveServices/untar.xml new file mode 100644 index 0000000..9bc8a03 --- /dev/null +++ b/doc/ArchiveServices/untar.xml @@ -0,0 +1,20 @@ + + +%myent; +]> +
+ unrar + Extract files from a RAR archive. + Sample request: + + Sample response: + + + +
\ No newline at end of file diff --git a/doc/ArchiveServices/unzip.xml b/doc/ArchiveServices/unzip.xml new file mode 100644 index 0000000..c789b29 --- /dev/null +++ b/doc/ArchiveServices/unzip.xml @@ -0,0 +1,20 @@ + + +%myent; +]> +
+ unzip + Extract files from a zip archive. + Sample request: + + Sample response: + + + +
\ No newline at end of file diff --git a/doc/ArchiveServices/zip.xml b/doc/ArchiveServices/zip.xml new file mode 100644 index 0000000..7f77979 --- /dev/null +++ b/doc/ArchiveServices/zip.xml @@ -0,0 +1,20 @@ + + +%myent; +]> +
+ zip + Compress files and store them in a ZIP archive. + Sample request: + + Sample response: + + + +
\ No newline at end of file diff --git a/doc/ArchiveServices/zipFromArchive.xml b/doc/ArchiveServices/zipFromArchive.xml new file mode 100644 index 0000000..bde2c9a --- /dev/null +++ b/doc/ArchiveServices/zipFromArchive.xml @@ -0,0 +1,20 @@ + + +%myent; +]> +
+ zipFromArchive + Create a new ZIP archive from files located within another archive. + Sample request: + + Sample response: + + + +
\ No newline at end of file diff --git a/doc/BruteXServices_User_Guide.dbk b/doc/BruteXServices_User_Guide.dbk index 9220712..e5967a6 100644 --- a/doc/BruteXServices_User_Guide.dbk +++ b/doc/BruteXServices_User_Guide.dbk @@ -67,7 +67,7 @@ This chapter describes the installation process.
-
+ Installation As of February 2013, XServices require Java 7. Older builds run against Java 5. Apache Tomcat 7 @@ -119,18 +119,204 @@ server.xml file (into <engine><host>).
-
+ - + - Available Services + Available SOAP Services List of available web services and their operations.
ArchiveServices The ArchiveService bundles file packing operations. Its WSDL is located at http://server:port/XServices/ArchiveService?wsdl + +
+ gzip + Create a GNU zip archive. + Sample request: + + Sample response: + + + +
+
+ bzip2FromArchive + Create a new bzip2 archive from files located within another archive. + Sample request: + + Sample response: + + + +
+
+ bzip2 + Create a bzip2 archive. + Sample request: + + Sample response: + + + +
+
+ gzipFromArchive + Create a new GNU zip archive from files located within another archive. + Sample request: + + Sample response: + + + +
+
+ gunzip + Extract files from a GNU zip archive. + Sample request: + + Sample response: + + + +
+
+ bunzip2 + Extract files from a bzip2 archive. + Sample request: + + Sample response: + + + +
+
+ gunzipFromURL + Extract files from a GNU zip archive. The archive is located on the web (http/ https) + and will be downloaded automatically. + Sample request: + + Sample response: + + + +
+
+ bunzip2FromURL + Extract files from a bzip2 archive. The archive is located on the web (http/ https) + and will be downloaded automatically. + Sample request: + + Sample response: + + + +
+
+ zip + Compress files and store them in a ZIP archive. + Sample request: + + Sample response: + + + +
+
+ zipFromArchive + Create a new ZIP archive from files located within another archive. + Sample request: + + Sample response: + + + +
+
+ unzip + Extract files from a zip archive. + Sample request: + + Sample response: + + + +
+
+ untar + Extract files from a tarball archive. + Sample request: + + Sample response: + + + +
+
+ unrar + Extract files from a RAR archive. + Sample request: + + Sample response: + + + +
+
DateServices @@ -150,6 +336,48 @@ +
+ dateAdd + Add or substract a time span from/ to a date. + Sample request: + + Sample response: + + +Hints here +
+
+ dateTimeDiff + Calculate elapsed time between two dates. Returns the elapsed time in milliseconds. + Sample request: + + Sample response: + + +Hints here +
+
+ dateTimeDiff + Calculate Fully elapsed units between two dates. Example: 4:15:10-4:15:55 in minutes = 0 and in seconds = 45. + Sample request: + + Sample response: + + +Hints here +
getDate Get current time and date. @@ -227,6 +455,37 @@ +
+
+ formatDateAdvanced + + Transform Time/ Date representation. Formats a date with a free form pattern. Uses SimpleDateFormat patterns. + + + The following pattern letters are defined (all other characters from 'A' to 'Z' and from 'a' to 'z' are reserved): + +
getInTimezone @@ -3336,6 +3595,33 @@ ]]> +
+
+ parseDate + + Converts a string into date using pre-defined date formats + + + ISO8601 (example: "2012-01-17T23:50:00+01:00") + + + RFC822 (example: "2012-01-17T23:50:00+0100") + + + YYYYMMDD (example: "2012/01/17") + + + DDMMYYYY (example: "17.01.2012") + + + +
+
+ parseDateAdvanced + + Converts a string into date using any format. + +
@@ -3610,6 +3896,26 @@ Sample request: Start notepad.exe and close it after 15 seconds. ]]>
+ +
+ runCommandAsync + Run an executable with arguments on the server providing the web + service and don't wait for the executable to finish. + The command is run within the environment and under the user + privileges of the user who is running the Tomcat Server. +
+
+ runCommandAsyncWithArgs + Run an executable with arguments on the server providing the web + service and don't wait for the executable to finish. + The command is run within the environment and under the user + privileges of the user who is running the Tomcat Server. +
+
+ runCommandWithArgs + 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.
runCommandWithSSH @@ -3732,6 +4038,15 @@ Sample request: Start notepad.exe and close it after 15 seconds. ]]>
+
+ runCommandWithSSHKeyAuth + Executes a command through a SSH session. + +
+
+ runJavaScript + Execute a JavaScript and or Java program using Mozilla Rhino JIT-Compiler. +
telnet Runs a telnet session with an "expect shell" like behaviour. @@ -4527,6 +4842,38 @@ xmlns:ws="http://ws.xservices.brutex.net">
+ + + Available RESTful Services + List of available web services and their operations. +
+ CVSInfoService + RESTful service to query a CVS repository, search files and content. Includes caching mechanism. + + Endpoint address: http://localhost:8080/XServices/cvsinfo +WADL : http://localhost:8080/XServices/cvsinfo?_wadl + + + + + +
+
+ FileInfoService + The FileInfoService allows listing/ searching/ browsing and download of files and directories. Includes caching mechanism. + + Endpoint address: http://localhost:8080/XServices/fileinfo +WADL : http://localhost:8080/XServices/fileinfo?_wadl + +
+ +
XML Types diff --git a/doc/BruteXServices_User_Guide.xml b/doc/BruteXServices_User_Guide.xml index c4394d2..eccc91a 100644 --- a/doc/BruteXServices_User_Guide.xml +++ b/doc/BruteXServices_User_Guide.xml @@ -51,9 +51,9 @@ This chapter describes the installation process. - + - Available Services + Available SOAP Services List of available web services and their operations. @@ -67,6 +67,14 @@ + + + Available RESTful Services + List of available web services and their operations. + + + + XML Types diff --git a/doc/CVSInfoService/CVSInfoService.xml b/doc/CVSInfoService/CVSInfoService.xml new file mode 100644 index 0000000..d8496fb --- /dev/null +++ b/doc/CVSInfoService/CVSInfoService.xml @@ -0,0 +1,17 @@ + +
+ CVSInfoService + RESTful service to query a CVS repository, search files and content. Includes caching mechanism. + + Endpoint address: http://localhost:8080/XServices/cvsinfo +WADL : http://localhost:8080/XServices/cvsinfo?_wadl + + + + + +
\ No newline at end of file diff --git a/doc/DateServices/DateServices.xml b/doc/DateServices/DateServices.xml index 7662a1a..bb6d90f 100644 --- a/doc/DateServices/DateServices.xml +++ b/doc/DateServices/DateServices.xml @@ -18,11 +18,17 @@ + + + + + + \ No newline at end of file diff --git a/doc/DateServices/dateAdd.xml b/doc/DateServices/dateAdd.xml new file mode 100644 index 0000000..8d83d25 --- /dev/null +++ b/doc/DateServices/dateAdd.xml @@ -0,0 +1,20 @@ + + +%myent; +]> +
+ dateAdd + Add or substract a time span from/ to a date. + Sample request: + + Sample response: + + +Hints here +
\ No newline at end of file diff --git a/doc/DateServices/dateTimeDiff.xml b/doc/DateServices/dateTimeDiff.xml new file mode 100644 index 0000000..98dae94 --- /dev/null +++ b/doc/DateServices/dateTimeDiff.xml @@ -0,0 +1,20 @@ + + +%myent; +]> +
+ dateTimeDiff + Calculate elapsed time between two dates. Returns the elapsed time in milliseconds. + Sample request: + + Sample response: + + +Hints here +
\ No newline at end of file diff --git a/doc/DateServices/dateTimeDiff2.xml b/doc/DateServices/dateTimeDiff2.xml new file mode 100644 index 0000000..e344108 --- /dev/null +++ b/doc/DateServices/dateTimeDiff2.xml @@ -0,0 +1,20 @@ + + +%myent; +]> +
+ dateTimeDiff + Calculate Fully elapsed units between two dates. Example: 4:15:10-4:15:55 in minutes = 0 and in seconds = 45. + Sample request: + + Sample response: + + +Hints here +
\ No newline at end of file diff --git a/doc/DateServices/formatDateAdvanced.xml b/doc/DateServices/formatDateAdvanced.xml new file mode 100644 index 0000000..72f7f4d --- /dev/null +++ b/doc/DateServices/formatDateAdvanced.xml @@ -0,0 +1,37 @@ + + +%myent; +]> +
+ formatDateAdvanced + + Transform Time/ Date representation. Formats a date with a free form pattern. Uses SimpleDateFormat patterns. + + + The following pattern letters are defined (all other characters from 'A' to 'Z' and from 'a' to 'z' are reserved): + + +
\ No newline at end of file diff --git a/doc/DateServices/parseDate.xml b/doc/DateServices/parseDate.xml new file mode 100644 index 0000000..3186b07 --- /dev/null +++ b/doc/DateServices/parseDate.xml @@ -0,0 +1,26 @@ + + +%myent; +]> +
+ parseDate + + Converts a string into date using pre-defined date formats + + + ISO8601 (example: "2012-01-17T23:50:00+01:00") + + + RFC822 (example: "2012-01-17T23:50:00+0100") + + + YYYYMMDD (example: "2012/01/17") + + + DDMMYYYY (example: "17.01.2012") + + + +
\ No newline at end of file diff --git a/doc/DateServices/parseDateAdvanced.xml b/doc/DateServices/parseDateAdvanced.xml new file mode 100644 index 0000000..3394ecd --- /dev/null +++ b/doc/DateServices/parseDateAdvanced.xml @@ -0,0 +1,13 @@ + + +%myent; +]> +
+ parseDateAdvanced + + Converts a string into date using any format. + + +
\ No newline at end of file diff --git a/doc/ExecuteServices/ExecuteServices.xml b/doc/ExecuteServices/ExecuteServices.xml index 07c9f25..fc47b18 100644 --- a/doc/ExecuteServices/ExecuteServices.xml +++ b/doc/ExecuteServices/ExecuteServices.xml @@ -8,6 +8,11 @@ http://server:port/XServices/ExecuteService?wsdl + + + + + \ No newline at end of file diff --git a/doc/ExecuteServices/runCommandAsync.xml b/doc/ExecuteServices/runCommandAsync.xml new file mode 100644 index 0000000..69790c4 --- /dev/null +++ b/doc/ExecuteServices/runCommandAsync.xml @@ -0,0 +1,13 @@ + + +%myent; +]> +
+ runCommandAsync + Run an executable with arguments on the server providing the web + service and don't wait for the executable to finish. + The command is run within the environment and under the user + privileges of the user who is running the Tomcat Server. +
\ No newline at end of file diff --git a/doc/ExecuteServices/runCommandAsyncWithArgs.xml b/doc/ExecuteServices/runCommandAsyncWithArgs.xml new file mode 100644 index 0000000..818bba9 --- /dev/null +++ b/doc/ExecuteServices/runCommandAsyncWithArgs.xml @@ -0,0 +1,13 @@ + + +%myent; +]> +
+ runCommandAsyncWithArgs + Run an executable with arguments on the server providing the web + service and don't wait for the executable to finish. + The command is run within the environment and under the user + privileges of the user who is running the Tomcat Server. +
\ No newline at end of file diff --git a/doc/ExecuteServices/runCommandWithArgs.xml b/doc/ExecuteServices/runCommandWithArgs.xml new file mode 100644 index 0000000..c38a61f --- /dev/null +++ b/doc/ExecuteServices/runCommandWithArgs.xml @@ -0,0 +1,12 @@ + + +%myent; +]> +
+ runCommandWithArgs + 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. +
\ No newline at end of file diff --git a/doc/ExecuteServices/runCommandWithSSHKeyAuth.xml b/doc/ExecuteServices/runCommandWithSSHKeyAuth.xml new file mode 100644 index 0000000..d4d5ea8 --- /dev/null +++ b/doc/ExecuteServices/runCommandWithSSHKeyAuth.xml @@ -0,0 +1,11 @@ + + +%myent; +]> +
+ runCommandWithSSHKeyAuth + Executes a command through a SSH session. + +
\ No newline at end of file diff --git a/doc/ExecuteServices/runJavaScript.xml b/doc/ExecuteServices/runJavaScript.xml new file mode 100644 index 0000000..e7de3de --- /dev/null +++ b/doc/ExecuteServices/runJavaScript.xml @@ -0,0 +1,10 @@ + + +%myent; +]> +
+ runJavaScript + Execute a JavaScript and or Java program using Mozilla Rhino JIT-Compiler. +
\ No newline at end of file diff --git a/doc/FileInfoService/FileInfoService.xml b/doc/FileInfoService/FileInfoService.xml new file mode 100644 index 0000000..96dfb77 --- /dev/null +++ b/doc/FileInfoService/FileInfoService.xml @@ -0,0 +1,13 @@ + +
+ FileInfoService + The FileInfoService allows listing/ searching/ browsing and download of files and directories. Includes caching mechanism. + + Endpoint address: http://localhost:8080/XServices/fileinfo +WADL : http://localhost:8080/XServices/fileinfo?_wadl + +
\ No newline at end of file diff --git a/doc/_template/_template.xml b/doc/_template/_template.xml new file mode 100644 index 0000000..a47150f --- /dev/null +++ b/doc/_template/_template.xml @@ -0,0 +1,20 @@ + + +%myent; +]> +
+ _template + Description here + Sample request: + + Sample response: + + +Hints here +
\ No newline at end of file diff --git a/doc/common/installation.xml b/doc/common/installation.xml index bc11ffe..87e0359 100644 --- a/doc/common/installation.xml +++ b/doc/common/installation.xml @@ -3,7 +3,7 @@ xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xlink="http://www.w3.org/1999/xlink"> -
+ Installation As of February 2013, XServices require Java 7. Older builds run against Java 5. Apache Tomcat 7 @@ -20,7 +20,7 @@
- Limit access to + Limit access by IP address Sometimes you'll only want to restrict access to to only specified host names or IP addresses. This way, only @@ -56,5 +56,5 @@ server.xml file (into <engine><host>).
- + \ No newline at end of file diff --git a/doc/html/BruteXServices_User_Guide.fo b/doc/html/BruteXServices_User_Guide.fo index 1879145..63be065 100644 --- a/doc/html/BruteXServices_User_Guide.fo +++ b/doc/html/BruteXServices_User_Guide.fo @@ -1,27 +1,30 @@ - - Brutex XServices Documentation - - June 2014 - - Brian - Rosenberger - bru@brutex.de - - Brutex Network - - 2014 - - - +Brutex XServices DocumentationBrian RosenbergerDocBook XSL Stylesheets with Apache FOPBrutex XServices DocumentationTable of ContentsChapter 1. Getting started1.1. Installation1.1.1. Securing with Basic Authentication1.1.2. Limit access toChapter 2. Available SOAP Services2.1. ArchiveServices2.1.1. gzip2.1.2. bzip2FromArchive2.1.3. bzip22.1.4. gzipFromArchive2.1.5. gunzip2.1.6. bunzip22.1.7. gunzipFromURL2.1.8. bunzip2FromURL2.1.9. zip2.1.10. zipFromArchive2.1.11. unzip2.1.12. untar2.1.13. unrar2.2. DateServices2.2.1. dateAdd2.2.2. dateTimeDiff2.2.3. dateTimeDiff2.2.4. getDate2.2.5. getDateExtended2.2.6. formatDate2.2.7. formatDateAdvanced2.2.8. getInTimezone2.2.9. getTimestamp2.2.10. getTimestamp22.2.11. getTimezones2.2.12. parseDate2.2.13. parseDateAdvanced2.3. ExecuteServices2.3.1. rExec2.3.1.1. Input parameters2.3.1.2. Output parameters2.3.1.2.1. ReturnCode type2.3.2. runCommand2.3.2.1. Input parameters2.3.2.2. Output parameters2.3.2.2.1. ReturnCode type2.3.2.3. 2.3.2.4. 2.3.3. runCommandAsync2.3.4. runCommandAsyncWithArgs2.3.5. runCommandWithArgs2.3.6. runCommandWithSSH2.3.6.1. Input parameters2.3.6.2. Output parameters2.3.6.2.1. ReturnCode type2.3.6.3. Sample Request:2.3.7. runCommandWithSSHKeyAuth2.3.8. runJavaScript2.3.9. telnet2.3.9.1. Input parameters2.3.9.2. Output parameters2.3.9.2.1. ReturnCode type2.3.9.3. Sample Request:2.4. FileServices2.4.1. downloadFile2.4.2. encodeFile2.5. JobServices2.6. MailServices2.6.1. sendMailSimple2.7. MiscServices2.7.1. generateUUID2.7.2. getHostinfo2.7.3. sleep2.8. StorageServices2.8.1.  ...2.8.1.1. Input parameters2.8.1.2. Output parameters2.8.1.2.1. ReturnCode type2.9. StringServices2.9.1. replaceRegEx2.10. XmlServices2.10.1. insertNodes2.10.2. insertNodes22.10.3. replaceNodes2.10.4. replaceNodes22.10.5. selectXPath2.10.6. setAttribute2.10.7. wrapInCDATAChapter 3. Available RESTful Services3.1. CVSInfoService3.2. FileInfoServiceChapter 4. XML Types4.1. 4.1.1. AntProperty type4.1.2. DateInfoType type4.1.3. FileResource type4.1.4. HostConnection type4.1.5. PatternElement type4.1.6. PatternSetType type4.1.7. ReturnCode type4.1.8. SelectorType typeBrutex XServices DocumentationBrian RosenbergerBrutex XServices DocumentationBrian RosenbergerCopyright © 2014 AbstractIn complex IT environments it is often necessary to integrate + different information systems with each other, exchange data between + software tools and automate actions based on events arising from user + interaction. Web Services is a popular way to make remote functions + available to a broad range of clients. A WebService is independent + from platforms and programming languages. XML Messages are exchanged + through common protocols like TCP/IP or SMTP, processed and returned + (request/ response paradigm).Because of their nature, WebServices are a great technology to + overcome system boundaries and to "orchestrate" your IT environment. + They make up the basis for SOA and are the pieces that assemble + automated business processes.XServices is a collection of pre-build WebServices with the + intention to avoid duplicate work and "re-inventing the wheel". The + historical base for XServices is the 'XBridgeNG' software, which + provided a set of Apache Ant Tasks with quite the same intention. The + available WebService operations are most likely the "most wanted" + ones, some of them for sure are "must have". This collection may + overlap with other libraries. In summary the current version contains + 8 WebServices with over 50 operations. + The copyright holders make no representation about the suitability of this document for any purpose. It is provided - as is + as is without expressed or implied warranty. - - - - - + + + + Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at @@ -33,58 +36,41 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. - - Apache Tomcat and Apache Ant are trademarks of the Apache - Software Foundation. + + Apache Tomcat and Apache Ant are trademarks of the Apache + Software Foundation. + Brutex XServices DocumentationBrutex XServices DocumentationTable of Contents1. Getting started 1.1. Installation 1.1.1. Securing with Basic Authentication 1.1.2. Limit access to 2. Available SOAP Services 2.1. ArchiveServices 2.1.1. gzip 2.1.2. bzip2FromArchive 2.1.3. bzip2 2.1.4. gzipFromArchive 2.1.5. gunzip 2.1.6. bunzip2 2.1.7. gunzipFromURL 2.1.8. bunzip2FromURL 2.1.9. zip 2.1.10. zipFromArchive 2.1.11. unzip 2.1.12. untar 2.1.13. unrar 2.2. DateServices 2.2.1. dateAdd 2.2.2. dateTimeDiff 2.2.3. dateTimeDiff 2.2.4. getDate 2.2.5. getDateExtended 2.2.6. formatDate 2.2.7. formatDateAdvanced 2.2.8. getInTimezone 2.2.9. getTimestamp 2.2.10. getTimestamp2 2.2.11. getTimezones 2.2.12. parseDate 2.2.13. parseDateAdvanced 2.3. ExecuteServices 2.3.1. rExec + 2.3.2. runCommand 2.3.3. runCommandAsync 2.3.4. runCommandAsyncWithArgs 2.3.5. runCommandWithArgs 2.3.6. runCommandWithSSH 2.3.7. runCommandWithSSHKeyAuth 2.3.8. runJavaScript 2.3.9. telnet 2.4. FileServices 2.4.1. downloadFile 2.4.2. encodeFile 2.5. JobServices 2.6. MailServices 2.6.1. sendMailSimple 2.7. MiscServices 2.7.1. generateUUID 2.7.2. getHostinfo 2.7.3. sleep 2.8. StorageServices 2.8.1. ... + 2.9. StringServices 2.9.1. replaceRegEx 2.10. XmlServices 2.10.1. insertNodes 2.10.2. insertNodes2 2.10.3. replaceNodes 2.10.4. replaceNodes2 2.10.5. selectXPath 2.10.6. setAttribute 2.10.7. wrapInCDATA 3. Available RESTful Services 3.1. CVSInfoService 3.2. FileInfoService 4. XML Types 4.1. 4.1.1. AntProperty type 4.1.2. DateInfoType type 4.1.3. FileResource type 4.1.4. HostConnection type 4.1.5. PatternElement type 4.1.6. PatternSetType type 4.1.7. ReturnCode type 4.1.8. SelectorType type Brutex XServices DocumentationBrutex XServices DocumentationList of Tables2.1. rExec + input parameters + 2.2. runCommand input parameters 2.3. runCommandWithSSH input parameters 2.4. telnet input parameters 2.5. Input parameters + + + + Getting startedGetting startedChapter 1. Getting started - Abstract - In complex IT environments it is often necessary to integrate - different information systems with each other, exchange data between - software tools and automate actions based on events arising from user - interaction. Web Services is a popular way to make remote functions - available to a broad range of clients. A WebService is independent - from platforms and programming languages. XML Messages are exchanged - through common protocols like TCP/IP or SMTP, processed and returned - (request/ response paradigm). - Because of their nature, WebServices are a great technology to - overcome system boundaries and to "orchestrate" your IT environment. - They make up the basis for SOA and are the pieces that assemble - automated business processes. - XServices is a collection of pre-build WebServices with the - intention to avoid duplicate work and "re-inventing the wheel". The - historical base for XServices is the 'XBridgeNG' software, which - provided a set of Apache Ant Tasks with quite the same intention. The - available WebService operations are most likely the "most wanted" - ones, some of them for sure are "must have". This collection may - overlap with other libraries. In summary the current version contains - 8 WebServices with over 50 operations. + This chapter describes the installation process. + Installation1.1. Installation - - - - Getting started - This chapter describes the installation process. - - - Installation - As of February 2013, XServices require Java 7. Older builds run against Java 5. - Apache Tomcat 7 - tbd. - In short: Deploy .WAR file to Apache Tomcat - Securing with Basic Authentication - There is a quick guide explaining Basic Authentication for Tomcat here: - http://oreilly.com/pub/a/java/archive/tomcat-tips.html?page=1 - + As of February 2013, XServices require Java 7. Older builds run against Java 5. + Apache Tomcat 7 + tbd. + In short: Deploy .WAR file to Apache Tomcat + Securing with Basic Authentication1.1.1. Securing with Basic Authentication + There is a quick guide explaining Basic Authentication for Tomcat here: + http://oreilly.com/pub/a/java/archive/tomcat-tips.html?page=1 [http://oreilly.com/pub/a/java/archive/tomcat-tips.html?page=1] + + + + + Limit access to1.1.2. Limit access to - - - Limit access to - Sometimes you'll only want to restrict access to to + Sometimes you'll only want to restrict access to to only specified host names or IP addresses. This way, only clients at @@ -92,21 +78,21 @@ Tomcat provides two configuration values for that: RemoteHostValve and - RemoteAddrValve. - These Valves allow you to filter requests by host name or + RemoteAddrValve. + 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. -
<Context
+				the local host.
+			<Context
 				path="/XService/ArchiveService"
 				...> <Valve
 				className="org.apache.catalina.valves.RemoteAddrValve"
 				allow="127.0.0.1" deny=""/> </Context>
-			
- If no allow pattern is given, then patterns that match +
+ If no allow pattern is given, then patterns that match the deny attribute patterns will be rejected, and all others will be allowed. @@ -114,47 +100,272 @@ patterns that match the allow attribute will be allowed, and all others will be denied. - - The <context> element must be placed into the + + The <context> element must be placed into the server.xml - file (into <engine><host>). - - + file (into <engine><host>). +
- - +
+
+ Available SOAP ServicesAvailable SOAP ServicesChapter 2. Available SOAP Services - Available Services - List of available web services and their operations. - ArchiveServices - The ArchiveService bundles file packing operations. Its + List of available web services and their operations. + ArchiveServices2.1. ArchiveServices + + The ArchiveService bundles file packing operations. Its WSDL is located at - http://server:port/XServices/ArchiveService?wsdl - + http://server:port/XServices/ArchiveService?wsdl - DateServices - The DateService bundles various date and time related operations. - - Its WSDL is located at http://server:port/XServices/DateService?wsdl + gzip2.1.1. gzip - XServices uses a date/time format as suggested by http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/#dateTime, which is basically a subset of ISO8601. Most input parameters for date/time have to be provided as such. + Create a GNU zip archive. + Sample request: + +... + + Sample response: + +... + + + + + bzip2FromArchive2.1.2. bzip2FromArchive + + Create a new bzip2 archive from files located within another archive. + Sample request: + +... + + Sample response: + +... + + + + + bzip22.1.3. bzip2 + + Create a bzip2 archive. + Sample request: + +... + + Sample response: + +... + + + + + gzipFromArchive2.1.4. gzipFromArchive + + Create a new GNU zip archive from files located within another archive. + Sample request: + +... + + Sample response: + +... + + + + + gunzip2.1.5. gunzip + + Extract files from a GNU zip archive. + Sample request: + +... + + Sample response: + +... + + + + + bunzip22.1.6. bunzip2 + + Extract files from a bzip2 archive. + Sample request: + +... + + Sample response: + +... + + + + + gunzipFromURL2.1.7. gunzipFromURL + + Extract files from a GNU zip archive. The archive is located on the web (http/ https) + and will be downloaded automatically. + Sample request: + +... + + Sample response: + +... + + + + + bunzip2FromURL2.1.8. bunzip2FromURL + + Extract files from a bzip2 archive. The archive is located on the web (http/ https) + and will be downloaded automatically. + Sample request: + +... + + Sample response: + +... + + + + + zip2.1.9. zip + + Compress files and store them in a ZIP archive. + Sample request: + +... + + Sample response: + +... + + + + + zipFromArchive2.1.10. zipFromArchive + + Create a new ZIP archive from files located within another archive. + Sample request: + +... + + Sample response: + +... + + + + + unzip2.1.11. unzip + + Extract files from a zip archive. + Sample request: + +... + + Sample response: + +... + + + + + untar2.1.12. untar + + Extract files from a tarball archive. + Sample request: + +... + + Sample response: + +... + + + + + unrar2.1.13. unrar + + Extract files from a RAR archive. + Sample request: + +... + + Sample response: + +... + + + + + + + DateServices2.2. DateServices + + The DateService bundles various date and time related operations. + + Its WSDL is located at http://server:port/XServices/DateService?wsdl + + XServices uses a date/time format as suggested by http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/#dateTime, which is basically a subset of ISO8601. Most input parameters for date/time have to be provided as such. Another date/time format, that is often used is defined by RFC822. The major difference to ISO8601 and the Xmlschema datetime format, is in the way how the time zone is specified. ISO8601 specifies a colon to be used to separate hour and minutes time shift. RFC822 does not use a separator. + + ISO8601 (example: "2012-01-17T23:50:00+01:00") + + RFC822 (example: "2012-01-17T23:50:00+0100") + + + dateAdd2.2.1. dateAdd - - ISO8601 (example: "2012-01-17T23:50:00+01:00") - - - RFC822 (example: "2012-01-17T23:50:00+0100") - - - - - getDate - Get current time and date. + Add or substract a time span from/ to a date. Sample request: -
+
+...
+
+	Sample response:
+	
+...
+
+
+Hints here
+
+	dateTimeDiff2.2.2. dateTimeDiff
+	
+	Calculate elapsed time between two dates. Returns the elapsed time in milliseconds.
+	Sample request:
+
+...
+
+	Sample response:
+	
+...
+
+
+Hints here
+
+	dateTimeDiff2.2.3. dateTimeDiff
+	
+	Calculate Fully elapsed units between two dates. Example: 4:15:10-4:15:55 in minutes = 0 and in seconds = 45.
+	Sample request:
+
+...
+
+	Sample response:
+	
+...
+
+
+Hints here
+
+	getDate2.2.4. getDate
+	
+	Get current time and date.
+	Sample request:
+
 <soapenv:Envelope 
 	xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
 	xmlns:ws="http://ws.xservices.brutex.net">
@@ -163,9 +374,9 @@
       <ws:getDate/>
    </soapenv:Body>
 </soapenv:Envelop
-
+
Sample response: -
+	
 <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
       <ns1:getDateResponse xmlns:ns1="http://ws.xservices.brutex.net">
@@ -180,14 +391,14 @@
          </ns1:return>
       </ns1:getDateResponse>
    </soap:Body>
-</soap:Envelope>
- - +</soap:Envelope>
+
+
+ getDateExtended2.2.5. getDateExtended - getDateExtended - Get current time and date (extended Version). + Get current time and date (extended Version). Sample response: -
+		
 
 <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
@@ -204,43 +415,69 @@
    </soap:Body>
 </soap:Envelope>
 
-
- - +
+
+
+ formatDate2.2.6. formatDate - formatDate - + Transform date/time representation from ISO8601 or RFC822 format to - - - ISO8601 (example: "2012-01-17T23:50:00+01:00") - - - RFC822 (example: "2012-01-17T23:50:00+0100") - - - YYYYMMDD (example: "2012/01/17") - - - DDMMYYYY (example: "17.01.2012") - - + + ISO8601 (example: "2012-01-17T23:50:00+01:00") + + RFC822 (example: "2012-01-17T23:50:00+0100") + + YYYYMMDD (example: "2012/01/17") + + DDMMYYYY (example: "17.01.2012") + + + + formatDateAdvanced2.2.7. formatDateAdvanced - - - getInTimezone + + Transform Time/ Date representation. Formats a date with a free form pattern. Uses SimpleDateFormat patterns. + + + The following pattern letters are defined (all other characters from 'A' to 'Z' and from 'a' to 'z' are reserved): + + Letter Date or Time Component Presentation Examples + G Era designator Text AD + y Year Year 1996; 96 + M Month in year Month July; Jul; 07 + w Week in year Number 27 + W Week in month Number 2 + D Day in year Number 189 + d Day in month Number 10 + F Day of week in month Number 2 + E Day in week Text Tuesday; Tue + a Am/pm marker Text PM + H Hour in day (0-23) Number 0 + k Hour in day (1-24) Number 24 + K Hour in am/pm (0-11) Number 0 + h Hour in am/pm (1-12) Number 12 + m Minute in hour Number 30 + s Second in minute Number 55 + S Millisecond Number 978 + z Time zone General time zone Pacific Standard Time; PST; GMT-08:00 + Z Time zone RFC 822 time zone -0800 + + + + getInTimezone2.2.8. getInTimezone + Changes the date/time presentation to another time zone. The date/time object itself is not changed. For example '2012-01-05T22:45:11-06:30' is presented as '2012-01-06T07:15:11+02:00' from Helsinki time zone perspective. + + The web service operation "getTimezones" returns a full list of all supported time zones. + + getTimestamp2.2.9. getTimestamp - The web service operation "getTimezones" returns a full list of all supported time zones. - - - getTimestamp - Get current timestamp in milliseconds (epoch). + Get current timestamp in milliseconds (epoch). Sample request: -
+
 
 <soapenv:Envelope 
 	xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
@@ -251,25 +488,25 @@
    </soapenv:Body>
 </soapenv:Envelop
 
-
+
Sample response: -
+
 
 <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
       <ns1:getTimestampResponse xmlns:ns1="http://ws.xservices.brutex.net">
-         <ns1:return>1325488875703</ns1:return>
+         <ns1:return>1325488875703</ns1:return>
       </ns1:getTimestampResponse>
    </soap:Body>
 </soap:Envelope>
-
- - +
+
+
+ getTimestamp22.2.10. getTimestamp2 - getTimestamp2 - Get current timestamp in seconds (unix timestamp). + Get current timestamp in seconds (unix timestamp). Sample request: -
+
 
 <soapenv:Envelope 
 	xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
@@ -280,32 +517,32 @@
    </soapenv:Body>
 </soapenv:Envelop
 
-
+
Sample response: -
+
 
 <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
       <ns1:getTimestamp2Response xmlns:ns1="http://ws.xservices.brutex.net">
-         <ns1:return>1325488876</ns1:return>
+         <ns1:return>1325488876</ns1:return>
       </ns1:getTimestamp2Response>
    </soap:Body>
 </soap:Envelope>
-
- - - - getTimezones +
+
+
+ getTimezones2.2.11. getTimezones + Returns all time zones this implementation (more precisely your JVM) is aware of. You have to use the id to refer to a time zone, the display name is specific to the localisation of your JVM. - - The offset shows the time difference to Greenwich Time (GMT), also known as UTC. - The daylight saving time is not taken into account for the offset. - Sample response -
+	
+	The offset shows the time difference to Greenwich Time (GMT), also known as UTC. 
+	The daylight saving time is not taken into account for the offset.
+	Sample response
+	
 	<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
       <ns1:getTimezonesResponse xmlns:ns1="http://ws.xservices.brutex.net">
@@ -3334,111 +3571,98 @@
       </ns1:getTimezonesResponse>
    </soap:Body>
 </soap:Envelope>
-
- - - +
+
+
+ parseDate2.2.12. parseDate + + + Converts a string into date using pre-defined date formats + + ISO8601 (example: "2012-01-17T23:50:00+01:00") + + RFC822 (example: "2012-01-17T23:50:00+0100") + + YYYYMMDD (example: "2012/01/17") + + DDMMYYYY (example: "17.01.2012") + + + + parseDateAdvanced2.2.13. parseDateAdvanced + + + Converts a string into date using any format. - ExecuteServices - The ExecuteService bundles local and remote command + + +
+ ExecuteServices2.3. ExecuteServices + + The ExecuteService bundles local and remote command execution operations. Its WSDL is located at - http://server:port/XServices/ExecuteService?wsdl - - rExec + http://server:port/XServices/ExecuteService?wsdl + rExec + 2.3.1. rExec + - provides remote execution facilities with authentication based on - user names and passwords. - - Input parameters + provides remote execution facilities with authentication based on + user names and passwords. + 2.3.1.1. Input parameters + - - - rExec + + Table 2.1. rExec input parameters - - - - - - - - - parameter - type - required - description - - - - - host - HostConnection - Yes - + parametertyperequireddescriptionhostHostConnectionYes Host where to execute the command. See - HostConnection + HostConnection . - - - - command - String - No - Any command including arguments - - - timeout - Long - Yes - Timeout in milliseconds. The command is forcefully terminated when timeout is reached. - - - - + commandStringNoAny command including argumentstimeoutLongYesTimeout in milliseconds. The command is forcefully terminated when timeout is reached. + + + 2.3.1.2. Output parameters + + 2.3.1.2.1. ReturnCode type - - Output parameters - - - ReturnCode type - + The ReturnCode type is used as the generic answer type for most of the BruteXservices operations. - - + + The defining Java class is - - net.brutex.xservices.types.ReturnCode - + + net.brutex.xservices.types.ReturnCode + [javadoc/net/brutex/xservices/types/ReturnCode.html] . - - Schema definition -
+	
+	Schema definition
+	
 <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="tns:antProperty"/>
+        <xs:element maxOccurs="unbounded" minOccurs="0" name="propertyList" nillable="true" type="tns:antProperty"/>
     </xs:sequence>
 </xs:complexType>
-	
+
- Example XML -
+	Example XML
+	
 		<ReturnCode
 		xmlns:ns2="http://ws.xservices.brutex.net">
 		<returnCode>0</returnCode>
 		<stdOut/>
 		<stdErr/>
 		<propertyList>
-		
+		
 			See
-			tns:antProperty
+			tns:antProperty
 			for details about the <propertyList> elements.
-		
+		
 		<name>key1</name>
 		<value>value1</value>
 		</propertyList>
@@ -3447,102 +3671,66 @@
 		<value>value2</value>
 		</propertyList>
 		</ReturnCode>
-	
- +
+
+
+
+ runCommand2.3.2. runCommand - - - runCommand - Run an executable with arguments on the server providing the web + 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. - - Input parameters - - - - runCommand input parameters - - - - - - - - parameter - type - required - description - - - - - executable - String - Yes - Command to be run. The command may be specified with full - path using forward slash "/" as path separator. - - - argline - String - No - Any command line arguments - - - timeout - Long - Yes - Timeout in milliseconds. The command is forcefully terminated when timeout is reached. - - - - - - - - Output parameters - - - ReturnCode type + privileges of the user who is running the Tomcat Server. + 2.3.2.1. Input parameters + + + + Table 2.2. runCommand input parametersparametertyperequireddescriptionexecutableStringYesCommand to be run. The command may be specified with full + path using forward slash "/" as path separator.arglineStringNoAny command line argumentstimeoutLongYesTimeout in milliseconds. The command is forcefully terminated when timeout is reached. + + + 2.3.2.2. Output parameters + + + 2.3.2.2.1. ReturnCode type + The ReturnCode type is used as the generic answer type for most of the BruteXservices operations. - - + + The defining Java class is - - net.brutex.xservices.types.ReturnCode - + + net.brutex.xservices.types.ReturnCode + [javadoc/net/brutex/xservices/types/ReturnCode.html] . - - Schema definition -
+	
+	Schema definition
+	
 <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="tns:antProperty"/>
+        <xs:element maxOccurs="unbounded" minOccurs="0" name="propertyList" nillable="true" type="tns:antProperty"/>
     </xs:sequence>
 </xs:complexType>
-	
+
- Example XML -
+	Example XML
+	
 		<ReturnCode
 		xmlns:ns2="http://ws.xservices.brutex.net">
 		<returnCode>0</returnCode>
 		<stdOut/>
 		<stdErr/>
 		<propertyList>
-		
+		
 			See
-			tns:antProperty
+			tns:antProperty
 			for details about the <propertyList> elements.
-		
+		
 		<name>key1</name>
 		<value>value1</value>
 		</propertyList>
@@ -3551,14 +3739,14 @@
 		<value>value2</value>
 		</propertyList>
 		</ReturnCode>
-	
+
- - - - +
+
+ + Sample request: Start Windows Command Interpreter and print "Hello World" to STDOUT. -
+	
 	<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.xservices.brutex.net">
    <soapenv:Header/>
    <soapenv:Body>
@@ -3569,10 +3757,10 @@
       </ws:runCommand>
    </soapenv:Body>
 </soapenv:Envelope>
-	
+
Sample response: -
+	
 	<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
       <ns2:runCommandResponse xmlns:ns2="http://ws.xservices.brutex.net">
@@ -3595,11 +3783,11 @@
          </return>
       </ns2:runCommandResponse>
    </soap:Body>
-</soap:Envelope>
- - +</soap:Envelope>
+ + Sample request: Start notepad.exe and close it after 15 seconds. -
+
 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.xservices.brutex.net">
    <soapenv:Header/>
    <soapenv:Body>
@@ -3609,100 +3797,84 @@ Sample request: Start notepad.exe and close it after 15 seconds.
          <timeout>15000</timeout>
       </ws:runCommand>
    </soapenv:Body>
-</soapenv:Envelope>
- - - runCommandWithSSH - Executes a command through a SSH session. +</soapenv:Envelope>
+
+ runCommandAsync2.3.3. runCommandAsync - Input parameters + Run an executable with arguments on the server providing the web + service and don't wait for the executable to finish. + The command is run within the environment and under the user + privileges of the user who is running the Tomcat Server. + + runCommandAsyncWithArgs2.3.4. runCommandAsyncWithArgs + + Run an executable with arguments on the server providing the web + service and don't wait for the executable to finish. + The command is run within the environment and under the user + privileges of the user who is running the Tomcat Server. + + runCommandWithArgs2.3.5. runCommandWithArgs + + 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. + + runCommandWithSSH2.3.6. runCommandWithSSH + + Executes a command through a SSH session. + 2.3.6.1. Input parameters + - - - runCommandWithSSH input parameters - - - - - - - - parameter - type - required - description - - - - - host - HostConnection - Yes - + + Table 2.3. runCommandWithSSH input parametersparametertyperequireddescriptionhostHostConnectionYes Host to connect to (see: - tns:HostConnection + tns:HostConnection ) - - - - command - String - No - The command to execute. - - - timeout - Long - Yes - Timeout in milliseconds. The command is forcefully terminated when timeout is reached. - - - - + commandStringNoThe command to execute.timeoutLongYesTimeout in milliseconds. The command is forcefully terminated when timeout is reached. + + + 2.3.6.2. Output parameters + + 2.3.6.2.1. ReturnCode type - - Output parameters - - - ReturnCode type - + The ReturnCode type is used as the generic answer type for most of the BruteXservices operations. - - + + The defining Java class is - - net.brutex.xservices.types.ReturnCode - + + net.brutex.xservices.types.ReturnCode + [javadoc/net/brutex/xservices/types/ReturnCode.html] . - - Schema definition -
+	
+	Schema definition
+	
 <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="tns:antProperty"/>
+        <xs:element maxOccurs="unbounded" minOccurs="0" name="propertyList" nillable="true" type="tns:antProperty"/>
     </xs:sequence>
 </xs:complexType>
-	
+
- Example XML -
+	Example XML
+	
 		<ReturnCode
 		xmlns:ns2="http://ws.xservices.brutex.net">
 		<returnCode>0</returnCode>
 		<stdOut/>
 		<stdErr/>
 		<propertyList>
-		
+		
 			See
-			tns:antProperty
+			tns:antProperty
 			for details about the <propertyList> elements.
-		
+		
 		<name>key1</name>
 		<value>value1</value>
 		</propertyList>
@@ -3711,13 +3883,13 @@ Sample request: Start notepad.exe and close it after 15 seconds.
 		<value>value2</value>
 		</propertyList>
 		</ReturnCode>
-	
+
- - - - Sample Request: -
+
+	
+	2.3.6.3. Sample Request:
+		
+		
 	
       <ws:runCommandWithSSH>
          <host>
@@ -3729,109 +3901,70 @@ Sample request: Start notepad.exe and close it after 15 seconds.
          <command>ls /etc/</command>
          <timeout>30000</timeout>
       </ws:runCommandWithSSH>
-	
+
+
+
+ runCommandWithSSHKeyAuth2.3.7. runCommandWithSSHKeyAuth - - - telnet - Runs a telnet session with an "expect shell" like behaviour. + Executes a command through a SSH session. - Input parameters - - - - telnet input parameters - - - - - - - - parameter - type - required - description - - - - - host - HostConnection - Yes - Host to connect to (see: tns:HostConnection) - - - prompt - String - No - The prompt string to expect after login. This is used to recognize when - the session is open. - - - command - String - No - The command to execute. - - - expect - String - No - The prompt to expect after the command has been executed successfully. - - - timeout - Long - Yes - Timeout in milliseconds. The command is forcefully terminated when timeout is reached. - - - - - + + runJavaScript2.3.8. runJavaScript + Execute a JavaScript and or Java program using Mozilla Rhino JIT-Compiler. + + telnet2.3.9. telnet - Output parameters + Runs a telnet session with an "expect shell" like behaviour. + 2.3.9.1. Input parameters + - ReturnCode type + + Table 2.4. telnet input parametersparametertyperequireddescriptionhostHostConnectionYesHost to connect to (see: tns:HostConnection)promptStringNoThe prompt string to expect after login. This is used to recognize when + the session is open.commandStringNoThe command to execute.expectStringNoThe prompt to expect after the command has been executed successfully.timeoutLongYesTimeout in milliseconds. The command is forcefully terminated when timeout is reached. + + + 2.3.9.2. Output parameters + + 2.3.9.2.1. ReturnCode type + The ReturnCode type is used as the generic answer type for most of the BruteXservices operations. - - + + The defining Java class is - - net.brutex.xservices.types.ReturnCode - + + net.brutex.xservices.types.ReturnCode + [javadoc/net/brutex/xservices/types/ReturnCode.html] . - - Schema definition -
+	
+	Schema definition
+	
 <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="tns:antProperty"/>
+        <xs:element maxOccurs="unbounded" minOccurs="0" name="propertyList" nillable="true" type="tns:antProperty"/>
     </xs:sequence>
 </xs:complexType>
-	
+
- Example XML -
+	Example XML
+	
 		<ReturnCode
 		xmlns:ns2="http://ws.xservices.brutex.net">
 		<returnCode>0</returnCode>
 		<stdOut/>
 		<stdErr/>
 		<propertyList>
-		
+		
 			See
-			tns:antProperty
+			tns:antProperty
 			for details about the <propertyList> elements.
-		
+		
 		<name>key1</name>
 		<value>value1</value>
 		</propertyList>
@@ -3840,13 +3973,13 @@ Sample request: Start notepad.exe and close it after 15 seconds.
 		<value>value2</value>
 		</propertyList>
 		</ReturnCode>
-	
- +
+
+
+ 2.3.9.3. Sample Request: - - Sample Request: -
+	
 	
 	 <ws:telnet>
          <host>
@@ -3860,19 +3993,19 @@ Sample request: Start notepad.exe and close it after 15 seconds.
          <expect>enberger&gt;</expect>
          <timeout>60000</timeout>
       </ws:telnet>
-	
+
+
+
+
+ FileServices2.4. FileServices + The FileServces bundles various file operations. Its WSDL is located at + http://server:port/XServices/FileService?wsdl + downloadFile2.4.1. downloadFile - - - FileServices - The FileServces bundles various file operations. Its WSDL is located at - http://server:port/XServices/FileService?wsdl - - downloadFile - Downloads a file as base64 encoded. + Downloads a file as base64 encoded. Sample request: -
+
 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.xservices.brutex.net">
    <soapenv:Header/>
    <soapenv:Body>
@@ -3885,9 +4018,9 @@ Sample request: Start notepad.exe and close it after 15 seconds.
       </ws:downloadFile>
    </soapenv:Body>
 </soapenv:Envelope>
-
+
Sample response: -
+	
 <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
       <ns2:downloadFileResponse xmlns:ns2="http://ws.xservices.brutex.net">
@@ -3897,15 +4030,15 @@ Sample request: Start notepad.exe and close it after 15 seconds.
          </return>
       </ns2:downloadFileResponse>
    </soap:Body>
-</soap:Envelope>
- -Encoding files as base64 is very memory consuming! +</soap:Envelope>
+
+Encoding files as base64 is very memory consuming! +
+ encodeFile2.4.2. encodeFile - - encodeFile - Encodes a file as base64. + Encodes a file as base64. Sample request: - + <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.xservices.brutex.net"> <soapenv:Header/> <soapenv:Body> @@ -3917,9 +4050,9 @@ Encoding files as base64 is very memory consuming! </ws:encodeFile> </soapenv:Body> </soapenv:Envelope> - + Sample response: -
+	
 <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
       <ns2:encodeFileResponse xmlns:ns2="http://ws.xservices.brutex.net">
@@ -3929,206 +4062,171 @@ Encoding files as base64 is very memory consuming!
          </return>
       </ns2:encodeFileResponse>
    </soap:Body>
-</soap:Envelope>
- -DEPRECATED: Encoding files as base64 is very memory consuming! +</soap:Envelope>
+
+DEPRECATED: Encoding files as base64 is very memory consuming! +
+
+ JobServices2.5. JobServices - + The JobService bundles re-occuring or scheduled operations. Its WSDL is located at + http://server:port/XServices/JobService?wsdl - JobServices - The JobService bundles re-occuring or scheduled operations. Its WSDL is located at - http://server:port/XServices/JobService?wsdl - - - - MailServices - The MailService contains mail send and receive operations. Its WSDL is located at - http://server:port/XServices/MailService?wsdl - - sendMailSimple - Send email. - - - - MiscServices - The MiscService bundles various operations. Its WSDL is located at - http://server:port/XServices/MiscService?wsdl - - generateUUID - Generates a UUID that represents a 128-bit value. This operation does not require any + + MailServices2.6. MailServices + + The MailService contains mail send and receive operations. Its WSDL is located at + http://server:port/XServices/MailService?wsdl + sendMailSimple2.6.1. sendMailSimple + + Send email. + + + MiscServices2.7. MiscServices + + The MiscService bundles various operations. Its WSDL is located at + http://server:port/XServices/MiscService?wsdl + generateUUID2.7.1. generateUUID + + Generates a UUID that represents a 128-bit value. This operation does not require any input parameters. The output has the format: - + 0xFFFFFFFF00000000 time_low 0x00000000FFFF0000 time_mid 0x000000000000F000 version 0x0000000000000FFF time_hi - + The least significant long consists of the following unsigned fields: - + 0xC000000000000000 variant 0x3FFF000000000000 clock_seq 0x0000FFFFFFFFFFFF node - + Sample response: - + <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns1:generateUUIDResponse xmlns:ns1="http://ws.xservices.brutex.net"> - <ns1:return>33b9e5c8-9102-423b-88af-bbee479ebea8</ns1:return> + <ns1:return>33b9e5c8-9102-423b-88af-bbee479ebea8</ns1:return> </ns1:generateUUIDResponse> </soap:Body> </soap:Envelope> - - - - - getHostinfo - Collect information about a host address. + + + + getHostinfo2.7.2. getHostinfo + + Collect information about a host address. Sample request: - + <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.xservices.brutex.net"> <soapenv:Header/> <soapenv:Body> <ws:getHostinfo> - <ws:hostname>google.com</ws:hostname> + <ws:hostname>google.com</ws:hostname> </ws:getHostinfo> </soapenv:Body> </soapenv:Envelope> - + Sample response: - + <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns1:getHostinfoResponse xmlns:ns1="http://ws.xservices.brutex.net"> <ns1:return> - <ns1:domain>1e100.net</ns1:domain> - <ns1:ip4>173.194.66.105</ns1:ip4> - <ns1:ip6>::</ns1:ip6> - <ns1:name>we-in-f105</ns1:name> + <ns1:domain>1e100.net</ns1:domain> + <ns1:ip4>173.194.66.105</ns1:ip4> + <ns1:ip6>::</ns1:ip6> + <ns1:name>we-in-f105</ns1:name> </ns1:return> </ns1:getHostinfoResponse> </soap:Body> </soap:Envelope> - - - - - sleep - Delays the response by the given minutes/ seconds. Please note, + + + + sleep2.7.3. sleep + + Delays the response by the given minutes/ seconds. Please note, that it may take more time to perform the server roundtrip (network delays, parsing, etc.). Also you may have a network timeout set up in Tomcat or your client that prevents this web service to respond correctly. - - - - - StorageServices - The StorageService will provide get/ push operations to store and retrieve data from various backends. + + + + StorageServices2.8. StorageServices + + The StorageService will provide get/ push operations to store and retrieve data from various backends. This is currently under development and not yet released. Its WSDL is located at - http://server:port/XServices/StorageService?wsdl - - ... + http://server:port/XServices/StorageService?wsdl + ... + 2.8.1.  ... + - Description here - - Input parameters + Description here + 2.8.1.1. Input parameters + - - - Input parameters - - - - - - - - - parameter - type - required - description - - - - - host - HostConnection - Yes - + + Table 2.5. Input parameters + parametertyperequireddescriptionhostHostConnectionYes Host where to execute the command. See - HostConnection + HostConnection . - - - - command - String - No - Any command including arguments - - - timeout - Long - Yes - Timeout in milliseconds. The command is forcefully terminated when timeout is reached. - - - - + commandStringNoAny command including argumentstimeoutLongYesTimeout in milliseconds. The command is forcefully terminated when timeout is reached. + + + 2.8.1.2. Output parameters + + 2.8.1.2.1. ReturnCode type - - Output parameters - - - ReturnCode type - + The ReturnCode type is used as the generic answer type for most of the BruteXservices operations. - - + + The defining Java class is - - net.brutex.xservices.types.ReturnCode - + + net.brutex.xservices.types.ReturnCode + [javadoc/net/brutex/xservices/types/ReturnCode.html] . - - Schema definition -
+	
+	Schema definition
+	
 <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="tns:antProperty"/>
+        <xs:element maxOccurs="unbounded" minOccurs="0" name="propertyList" nillable="true" type="tns:antProperty"/>
     </xs:sequence>
 </xs:complexType>
-	
+
- Example XML -
+	Example XML
+	
 		<ReturnCode
 		xmlns:ns2="http://ws.xservices.brutex.net">
 		<returnCode>0</returnCode>
 		<stdOut/>
 		<stdErr/>
 		<propertyList>
-		
+		
 			See
-			tns:antProperty
+			tns:antProperty
 			for details about the <propertyList> elements.
-		
+		
 		<name>key1</name>
 		<value>value1</value>
 		</propertyList>
@@ -4137,23 +4235,23 @@ DEPRECATED: Encoding files as base64 is very memory consuming!
 		<value>value2</value>
 		</propertyList>
 		</ReturnCode>
-	
- +
+
+
+
- +
+ StringServices2.9. StringServices - - - StringServices - The StringService provides String manipulation capabilities. + The StringService provides String manipulation capabilities. Its WSDL is located at - http://server:port/XServices/StringService?wsdl - - replaceRegEx - Search and Replace using regular expression. + http://server:port/XServices/StringService?wsdl + replaceRegEx2.9.1. replaceRegEx + + Search and Replace using regular expression. Sample request: - + <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.xservices.brutex.net"> <soapenv:Header/> @@ -4166,9 +4264,9 @@ xmlns:ws="http://ws.xservices.brutex.net"> </ws:replaceRegEx> </soapenv:Body> </soapenv:Envelope> - + Sample response: -
+	
 <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
       <ns2:replaceRegExResponse xmlns:ns2="http://ws.xservices.brutex.net">
@@ -4178,24 +4276,24 @@ xmlns:ws="http://ws.xservices.brutex.net">
          </return>
       </ns2:replaceRegExResponse>
    </soap:Body>
-</soap:Envelope>
- -Allowed regexflags are case-insensitive (i) and global search (g). - +</soap:Envelope>
+
+Allowed regexflags are case-insensitive (i) and global search (g). +
- - - XmlServices - The XmlService provides operations to manipulate XML structures. +
+ XmlServices2.10. XmlServices + + The XmlService provides operations to manipulate XML structures. Its WSDL is located at - http://server:port/XServices/XmlService?wsdl - - insertNodes - Insert an xml fragment into other elements specified by an XPath expression. + http://server:port/XServices/XmlService?wsdl + insertNodes2.10.1. insertNodes + + Insert an xml fragment into other elements specified by an XPath expression. This operation is namespace aware. Sample request: -
+
 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.xservices.brutex.net">
    <soapenv:Header/>
    <soapenv:Body>
@@ -4230,9 +4328,9 @@ Allowed regexflags are case-insensitive (i) and global search (g).
       </ws:insertNodes>
    </soapenv:Body>
 </soapenv:Envelope>
-
+
Sample response: -
+	
 <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
       <ns2:insertNodesResponse xmlns:ns2="http://ws.xservices.brutex.net">
@@ -4254,28 +4352,28 @@ Allowed regexflags are case-insensitive (i) and global search (g).
       </ns2:insertNodesResponse>
    </soap:Body>
 </soap:Envelope>
-
- - - - insertNodes2 - Insert an xml fragment into xml resource (i.e. file, URL) specified by an XPath expression. +
+
+
+ insertNodes22.10.2. insertNodes2 + + Insert an xml fragment into xml resource (i.e. file, URL) specified by an XPath expression. This operation is namespace aware. Sample request: -
-...
+ +... Sample response: -
-...
- - - - replaceNodes - Replace an xml fragment with another xml fragment. This operation is namespace aware. + +... +
+
+ replaceNodes2.10.3. replaceNodes + + Replace an xml fragment with another xml fragment. This operation is namespace aware. Sample request: -
+
 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
 xmlns:ws="http://ws.xservices.brutex.net">
    <soapenv:Header/>
@@ -4312,9 +4410,9 @@ xmlns:ws="http://ws.xservices.brutex.net">
       </ws:replaceNodes>
    </soapenv:Body>
 </soapenv:Envelope>
-
+
Sample response: -
+	
 <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
       <ns2:replaceNodesResponse xmlns:ns2="http://ws.xservices.brutex.net">
@@ -4335,29 +4433,29 @@ xmlns:ws="http://ws.xservices.brutex.net">
          </books>]]></return>
       </ns2:replaceNodesResponse>
    </soap:Body>
-</soap:Envelope>
- - - - replaceNodes2 - Replace an xml fragment with another xml fragment read from a resource (i.e. file, URL). This operation is namespace aware. +</soap:Envelope>
+
+
+ replaceNodes22.10.4. replaceNodes2 + + Replace an xml fragment with another xml fragment read from a resource (i.e. file, URL). This operation is namespace aware. Sample request: -
+
 ...
-
+
Sample response: -
-...
- - - - selectXPath - Selects xmlfragements, nodes, attribute or text from xml data using an XPath expression. - This function requires namespaces to be declared correctly. + +... +
+
+ selectXPath2.10.5. selectXPath + Selects xmlfragements, nodes, attribute or text from xml data using an XPath expression. + This function requires namespaces to be declared correctly. + Sample request: -
+
 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
 xmlns:ws="http://ws.xservices.brutex.net">
    <soapenv:Header/>
@@ -4401,9 +4499,9 @@ xmlns:ws="http://ws.xservices.brutex.net">
       </ws:selectXPath>
    </soapenv:Body>
 </soapenv:Envelope>
-
+
Sample response: -
+	
 <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
       <ns2:selectXPathResponse xmlns:ns2="http://ws.xservices.brutex.net">
@@ -4415,15 +4513,15 @@ xmlns:ws="http://ws.xservices.brutex.net">
       </ns2:selectXPathResponse>
    </soap:Body>
 </soap:Envelope>
-
- - - - setAttribute - Set an attribute into elements matched by an XPath expression. +
+ + + setAttribute2.10.6. setAttribute + Set an attribute into elements matched by an XPath expression. + Sample request: -
+
 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.xservices.brutex.net">
    <soapenv:Header/>
    <soapenv:Body>
@@ -4462,9 +4560,9 @@ xmlns:ws="http://ws.xservices.brutex.net">
       </ws:setAttribute>
    </soapenv:Body>
 </soapenv:Envelope>
-
+
Sample response: -
+	
 <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
       <ns2:setAttributeResponse xmlns:ns2="http://ws.xservices.brutex.net">
@@ -4486,17 +4584,17 @@ xmlns:ws="http://ws.xservices.brutex.net">
       </ns2:setAttributeResponse>
    </soap:Body>
 </soap:Envelope>
-
- - - - wrapInCDATA - Simply wraps any data fragment into <![CDATA[ ... ]]> section. This can be useful if you +
+ + + wrapInCDATA2.10.7. wrapInCDATA + + Simply wraps any data fragment into <![CDATA[ ... ]]> section. This can be useful if you want to preserve indentation or line breaks. - - + + Sample request: -
+
 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
 xmlns:ws="http://ws.xservices.brutex.net">
    <soapenv:Header/>
@@ -4506,9 +4604,9 @@ xmlns:ws="http://ws.xservices.brutex.net">
       </ws:wrapInCDATA>
    </soapenv:Body>
 </soapenv:Envelope>
-
+
Sample response: -
+	
 <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
       <ns2:wrapInCDATAResponse xmlns:ns2="http://ws.xservices.brutex.net">
@@ -4516,102 +4614,128 @@ xmlns:ws="http://ws.xservices.brutex.net">
       </ns2:wrapInCDATAResponse>
    </soap:Body>
 </soap:Envelope>
-
- - +
+ + + +
- - - + Available RESTful ServicesAvailable RESTful ServicesChapter 3. Available RESTful Services - XML Types - This chapter bundles the documentation for common XML types used - by XServices web service. + List of available web services and their operations. + CVSInfoService3.1. CVSInfoService + + RESTful service to query a CVS repository, search files and content. Includes caching mechanism. + + Endpoint address: http://localhost:8080/XServices/cvsinfo +WADL : http://localhost:8080/XServices/cvsinfo?_wadl + + + -AntProperty type - The AntProperty type defines a list of key/value pairs. - + + FileInfoService3.2. FileInfoService + + The FileInfoService allows listing/ searching/ browsing and download of files and directories. Includes caching mechanism. + + Endpoint address: http://localhost:8080/XServices/fileinfo +WADL : http://localhost:8080/XServices/fileinfo?_wadl + + + + + XML TypesXML TypesChapter 4. XML Types + + + This chapter bundles the documentation for common XML types used + by XServices web service. + + + AntProperty type4.1.1. AntProperty type + + The AntProperty type defines a list of key/value pairs. + The defining Java class is - - net.brutex.xservices.types.AntProperty - + + net.brutex.xservices.types.AntProperty + [javadoc/net/brutex/xservices/types/AntProperty.html] . - + -
+			
 <xs:complexType name="antProperty">
    <xs:sequence>
       <xs:element name="name" type="xs:string"/>
       <xs:element name="value" type="xs:string"/>
    </xs:sequence>
 </xs:complexType>
-			
+
-
+			
 <AntProperty>
     <name>key2</name>
     <value>value2</value>
 </AntProperty>
-			
- - - DateInfoType type - Different presentation of a date time value. +
+
+ DateInfoType type4.1.2. DateInfoType type + Different presentation of a date time value. + The defining Java class is - - net.brutex.xservices.types.DateInfoType - + + net.brutex.xservices.types.DateInfoType + [javadoc/net/brutex/xservices/types/DateInfoType.html] . + - + + FileResource type4.1.3. FileResource type - -FileResource type - The FileResource type defines an URI to a file with optional on-the-fly decompression. - + The FileResource type defines an URI to a file with optional on-the-fly decompression. + The defining Java class is - - net.brutex.xservices.types.FileResource - + + net.brutex.xservices.types.FileResource + [javadoc/net/brutex/xservices/types/FileResource.html] . - + -
+			
 <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>
-			
- Available types: - FILE: URI points to a local file resource. Examples: c:\temp\something.txt, c:/dir/another.file, /home/brian/file - URL: File from URL (http, https, ftp, ...). Example: http://brutex.net/file.pdf - GZIP and BZIP2: File from a local file system with on-the-fly decompression. -
+			
+			Available types:
+			FILE: URI points to a local file resource. Examples: c:\temp\something.txt, c:/dir/another.file, /home/brian/file		
+			URL: File from URL (http, https, ftp, ...). Example: http://brutex.net/file.pdf
+			GZIP and BZIP2: File from a local file system with on-the-fly decompression.
+			
 <resource>
 	<type>FILE</type>
     <uri>c:\temp\xservices.war</uri>
 </resource>
-			
- - - HostConnection type - The HostConnection type identifies a server resource and login - credentials. +
+ + HostConnection type4.1.4. HostConnection type + The HostConnection type identifies a server resource and login + credentials. + The defining Java class is - - net.brutex.xservices.types.HostConnection - + + net.brutex.xservices.types.HostConnection + [javadoc/net/brutex/xservices/types/HostConnection.html] . - - Schema definition -
+	
+	Schema definition
+	
 <xs:complexType name="connection">
    <xs:sequence>
       <xs:element name="hostname" type="xs:string"/>
@@ -4621,9 +4745,9 @@ FileResource type
    </xs:sequence>
 </xs:complexType>
 
-	
- Example XML -
+	
+	Example XML
+	
 <host>
    <hostname>server.brutex.net</hostname>
    <port>512</port> <!-- default rExec port -->
@@ -4632,123 +4756,123 @@ FileResource type
    <password>somepass</password>
 </host>
 
-	
- - - PatternElement type - The PatternElement type defines single string pattern for file/ - directory matching. +
+
+ PatternElement type4.1.5. PatternElement type + The PatternElement type defines single string pattern for file/ + directory matching. + The defining Java class is - - net.brutex.xservices.types.PatternElement - + + net.brutex.xservices.types.PatternElement + [javadoc/net/brutex/xservices/types/PatternElement.html] . - - + + These patterns look exactly like those used in Apache Ant - Patterns. + Patterns [http://ant.apache.org/manual/dirtasks.html#patterns]. 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. - - Some example patterns: - - **/mydir/** - - Match all file that are located in any directory that has + + Some example patterns: + + **/mydir/** + + 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. - - /mydir/ - - The + "mydir" in their name. + + /mydir/ + + The parser will automatically append an '**' symbol, thus the resulting pattern is - /mydir/**. + /mydir/**. All files below the "/mydir/" directory (including its sub-directories will be chosen. - - - The pattern is OS independent. You should always use + + Note + The pattern is OS independent. You should always use "/" as path separator, even on windows based systems. - - - Schema definition -
<xs:simpleType name="patternElement">
+		
+	
+	Schema definition
+	<xs:simpleType name="patternElement">
     <xs:restriction base="xs:string"/>
-</xs:simpleType>
- - Example XML -
<PatternElement>**/*</PatternElement>
+</xs:simpleType>
+ Example XML + <PatternElement>**/*</PatternElement> +
+ PatternSetType type4.1.6. PatternSetType type - PatternSetType type - The PatternSetType exposes various filters/ selectors for the - selection of resources (files). - + The PatternSetType exposes various filters/ selectors for the + selection of resources (files). + The defining Java class is - - net.brutex.xservices.types.PatternSetType - + + net.brutex.xservices.types.PatternSetType + [javadoc/net/brutex/xservices/types/PatternSetType.html] . - - Schema definition -
+	
+	Schema definition
+	
 <xs:complexType name="patternSetType">
     <xs:sequence>
-        <xs:element default="**/*" maxOccurs="unbounded" minOccurs="0" name="include" type="tns:patternElement"/>
-        <xs:element maxOccurs="unbounded" minOccurs="0" name="exclude" type="tns:patternElement"/>
-        <xs:element minOccurs="0" name="selector" nillable="true" type="tns:selectorType"/>
+        <xs:element default="**/*" maxOccurs="unbounded" minOccurs="0" name="include" type="tns:patternElement"/>
+        <xs:element maxOccurs="unbounded" minOccurs="0" name="exclude" type="tns:patternElement"/>
+        <xs:element minOccurs="0" name="selector" nillable="true" type="tns:selectorType"/>
     </xs:sequence>
 </xs:complexType>
-	
- Example XML -
+	
+	Example XML
+	
             tbd.
-	
- - - ReturnCode type +
+
+ ReturnCode type4.1.7. ReturnCode type + The ReturnCode type is used as the generic answer type for most of the BruteXservices operations. - - + + The defining Java class is - - net.brutex.xservices.types.ReturnCode - + + net.brutex.xservices.types.ReturnCode + [javadoc/net/brutex/xservices/types/ReturnCode.html] . - - Schema definition -
+	
+	Schema definition
+	
 <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="tns:antProperty"/>
+        <xs:element maxOccurs="unbounded" minOccurs="0" name="propertyList" nillable="true" type="tns:antProperty"/>
     </xs:sequence>
 </xs:complexType>
-	
+
- Example XML -
+	Example XML
+	
 		<ReturnCode
 		xmlns:ns2="http://ws.xservices.brutex.net">
 		<returnCode>0</returnCode>
 		<stdOut/>
 		<stdErr/>
 		<propertyList>
-		
+		
 			See
-			tns:antProperty
+			tns:antProperty
 			for details about the <propertyList> elements.
-		
+		
 		<name>key1</name>
 		<value>value1</value>
 		</propertyList>
@@ -4757,27 +4881,28 @@ FileResource type
 		<value>value2</value>
 		</propertyList>
 		</ReturnCode>
-	
+
- - - SelectorType type - The SelectorType exposes various selectors for the selection of resources (files). - The defining Java class is - - net.brutex.xservices.types.SelectorType. -Schema definition -
+
+	SelectorType type4.1.8. SelectorType type
+    
+    The SelectorType exposes various selectors for the selection of resources (files).
+    The defining Java class is
+        
+    net.brutex.xservices.types.SelectorType [javadoc/net/brutex/xservices/types/SelectorType.html].
+Schema definition
+        
          <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>
-
-Example XML -
+
+Example XML
+    
             tbd.
-        
- - - +
+
+ +
+
\ No newline at end of file diff --git a/doc/html/BruteXServices_User_Guide.pdf b/doc/html/BruteXServices_User_Guide.pdf new file mode 100644 index 0000000..cb647a5 Binary files /dev/null and b/doc/html/BruteXServices_User_Guide.pdf differ