diff --git a/BruteXServices_User_Guide.html b/BruteXServices_User_Guide.html deleted file mode 100644 index d4ead48..0000000 --- a/BruteXServices_User_Guide.html +++ /dev/null @@ -1,207 +0,0 @@ -User Guide

User Guide

Brian Rosenberger

-

- The copyright holders make no representation about the - suitability of - this document for any purpose. It is provided - as is - without expressed or implied warranty. -

-
-

Apache Tomcat and Apache Ant are trademarks of the Apache - Software Foundation.

-

1997

Abstract

- -

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.

-

These are the major goals of the loosely coupled - integration - strategy which is in turn one essential idea of a - service-oriented - architecture (SOA).

-

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.

-

is an add-on to XBridgeNG 2.0. It runs standalone or in - combination with XBridgeNG. Pure XBridgeNG has two - components:

-

-

  • -

    XML Schema for item based data types (e.g. tickets - from a bug - tracker system or a database record)

    -
  • -

    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, - ...)

    -
  • -

    The add Web Services (SOAP) wrapper around Apache Ant - tasks - (since XBridgeNG 2.0)

    -

-

-

The current focus is on file-based operations. do not - contain an - integration server or a process execution - engine.

-

Table of Contents

1. Getting started
Prerequisites
Installation
Securing with Basic Authentication
Limit access to
2. Available Services
ArchiveServices
ExecuteServices
3. XML Types
AntProperty type

List of Tables

2.1. runCommand input parameters
- - -

Chapter 1. Getting started

- - -

This chapter describes the installation.

-

Prerequisites

- -

tbd.

-

Sun Java SE 1.6.0

-

Apache Tomcat 6

-
-

Installation

- -

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 -

-
-

Limit access to

- -

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.

-

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
-					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 - 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. -

-

The <context> element must be placed into the - server.xml - file (into <engine><host>).

-
-
-
-

Chapter 2. Available 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

-
-
-

ExecuteServices

- -

The ExecuteService bundles local and remote command - execution - operations. Its WSDL is located at - http://server:port/XServices/ExecuteService?wsdl

-

runCommand

- -

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.

-
- -

-

Table 2.1. runCommand input parameters

- -
parametertyperequireddescription
executableStringYesCommand to be run. The command may be - specified with full - path using forward slash - "/" as path separator. -
arglineStringNoAny command line arguments
-

-

-
-
-
-
-
- -

Chapter 3. XML Types

Table of Contents

AntProperty type
- - -

This chapter bundles the documentation for common xml types - used - by XServices web service.

-

AntProperty type

- -

The AntProperty type defines a list of key/value pairs.

-

- The defining Java class is - - net.brutex.xservices.types.AntProperty - - . -

- -
-<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>
-			
-
-
-
\ No newline at end of file diff --git a/src/java/net/brutex/xservices/security/DirectoryPermission.java b/src/java/net/brutex/xservices/security/DirectoryPermission.java index 8138146..979cd00 100644 --- a/src/java/net/brutex/xservices/security/DirectoryPermission.java +++ b/src/java/net/brutex/xservices/security/DirectoryPermission.java @@ -30,6 +30,7 @@ public class DirectoryPermission implements Permission { private final String path; public DirectoryPermission(String antlikepath) { + logger.debug(String.format("Creating permission for path '%s'", antlikepath)); path = antlikepath; } diff --git a/src/java/net/brutex/xservices/security/PermissionResolver.java b/src/java/net/brutex/xservices/security/PermissionResolver.java index 04d2f7b..478d58e 100644 --- a/src/java/net/brutex/xservices/security/PermissionResolver.java +++ b/src/java/net/brutex/xservices/security/PermissionResolver.java @@ -16,8 +16,12 @@ package net.brutex.xservices.security; +import net.brutex.xservices.ws.XmlService; +import net.brutex.xservices.ws.rs.FileInfo; + import org.apache.log4j.Logger; import org.apache.shiro.authz.Permission; +import org.apache.shiro.authz.permission.InvalidPermissionStringException; /** * @author Brian Rosenberger, bru(at)brutex.de @@ -26,10 +30,31 @@ import org.apache.shiro.authz.Permission; public class PermissionResolver implements org.apache.shiro.authz.permission.PermissionResolver { final Logger logger = Logger.getLogger(PermissionResolver.class); + private final String DELIMITER = "||"; @Override public Permission resolvePermission(String permissionString) { - logger.debug(String.format("Creating new Permission '%s'", permissionString)); - return new DirectoryPermission(permissionString); + logger.debug(String.format("Trying to examine new Permission '%s'", permissionString)); + if(! permissionString.contains(DELIMITER)) { + logger.error(String.format("Permission '%s' is missing permission class.", permissionString)); + throw new InvalidPermissionStringException(String.format("Permission '%s' is missing permission class.", permissionString), permissionString); + } + int delimiterIndex = permissionString.indexOf(DELIMITER); + String value = permissionString.substring(0, delimiterIndex); + delimiterIndex = delimiterIndex + DELIMITER.length(); + switch (value) { + case XmlService.SERVICE_NAME: + logger.debug(String.format("Found '%s' as permission class.", value)); + return new XmlServicePermission(permissionString.substring( delimiterIndex )); + + case FileInfo.SERVICE_NAME: + logger.debug(String.format("Found '%s' as permission class.", value)); + return new DirectoryPermission(permissionString.substring( delimiterIndex )); + + + default: + logger.warn(String.format("Permission class '%s' is not defined.", value)); + throw new InvalidPermissionStringException(String.format("Permission class '%s' is not defined.", value), permissionString); + } } } diff --git a/src/java/net/brutex/xservices/security/XmlServicePermission.java b/src/java/net/brutex/xservices/security/XmlServicePermission.java new file mode 100644 index 0000000..56343b2 --- /dev/null +++ b/src/java/net/brutex/xservices/security/XmlServicePermission.java @@ -0,0 +1,67 @@ +/* + * Copyright 2013 Brian Rosenberger (Brutex Network) + * + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * 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. +*/ + +package net.brutex.xservices.security; + +import org.apache.log4j.Logger; +import org.apache.shiro.authz.Permission; +import org.apache.shiro.util.AntPathMatcher; + +/** + * @author Brian Rosenberger, bru(at)brutex.de + * + */ +public class XmlServicePermission implements Permission { + + private final Logger logger = Logger.getLogger(XmlServicePermission.class); + private final String permissionString; + + public XmlServicePermission(String permissionString) { + logger.debug(String.format("Creating permission for '%s'", permissionString)); + this.permissionString = permissionString; + } + + @Override + public boolean implies(Permission p) { + boolean result = false; + + /* is of same type */ + if(! (p instanceof XmlServicePermission)) { + logger.debug(String.format("Testing if permission of type '%s' implies permission of type '%s'. Result was '%s'" , this.getClass(), p.getClass(), result)); + return result; + } + + /* comparing to non null directory */ + if( ((XmlServicePermission)p).getPermissionString() == null) { + logger.debug(String.format("Testing if DirectoryPermission '%s' implies permission to 'null'. Result was '%s'" , permissionString, result)); + return result; + } + + /* directory pattern implies other */ + //TODO + /*if( (new AntPathMatcher()).matches(permissionString, ((XmlServicePermission)p).getPermissionString())) ) { + result = true; + } + logger.debug(String.format("Testing if DirectoryPermission '%s' implies permission to '%s'. Result was '%s'" , permissionString, ((XmlServicePermission) p).getPermissionString(), result)); + */ + return result; + } + + public String getPermissionString() { + return permissionString; + } + +} diff --git a/src/java/net/brutex/xservices/ws/ArchiveService.java b/src/java/net/brutex/xservices/ws/ArchiveService.java index 1249728..b49ddd5 100644 --- a/src/java/net/brutex/xservices/ws/ArchiveService.java +++ b/src/java/net/brutex/xservices/ws/ArchiveService.java @@ -1,5 +1,5 @@ /* - * Copyright 2010 Brian Rosenberger (Brutex Network) +g * Copyright 2010 Brian Rosenberger (Brutex Network) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/java/net/brutex/xservices/ws/StringService.java b/src/java/net/brutex/xservices/ws/StringService.java index 3ef51c2..306dfd5 100644 --- a/src/java/net/brutex/xservices/ws/StringService.java +++ b/src/java/net/brutex/xservices/ws/StringService.java @@ -75,4 +75,10 @@ public abstract interface StringService @WebParam(name="delimiter") @XmlElement(required=true) String delimiter) throws XServicesFault; + @WebMethod(operationName="removeCRLF") + @WSDLDocumentation("Remove any line feed and/ or carriage return characters") + public abstract String removeCRLF( + @WebParam(name="string") @XmlElement(required=true) String paramString) + throws XServicesFault; + } \ No newline at end of file diff --git a/src/java/net/brutex/xservices/ws/XmlService.java b/src/java/net/brutex/xservices/ws/XmlService.java index d198cfc..cc67f2f 100644 --- a/src/java/net/brutex/xservices/ws/XmlService.java +++ b/src/java/net/brutex/xservices/ws/XmlService.java @@ -27,6 +27,7 @@ import net.brutex.xservices.types.StringSplitType; import net.brutex.xservices.types.ant.FileResource; import org.apache.cxf.annotations.WSDLDocumentation; +import org.apache.shiro.authz.annotation.RequiresPermissions; /** * @author Brian Rosenberger, bru(at)brutex.de @@ -41,6 +42,7 @@ public abstract interface XmlService public static final String PARAM_XPATH = "xpath"; public static final String PARAM_XML = "xmldata"; + @RequiresPermissions("insertNodes") @WebMethod(operationName="insertNodes") @WSDLDocumentation("Insert an XML fragment into an XML document given as string.") public abstract String insertNodes( diff --git a/src/java/net/brutex/xservices/ws/impl/ExecuteServiceImpl.java b/src/java/net/brutex/xservices/ws/impl/ExecuteServiceImpl.java index d5cc249..934499c 100644 --- a/src/java/net/brutex/xservices/ws/impl/ExecuteServiceImpl.java +++ b/src/java/net/brutex/xservices/ws/impl/ExecuteServiceImpl.java @@ -17,15 +17,12 @@ package net.brutex.xservices.ws.impl; import java.io.File; -import java.util.UUID; - import javax.jws.WebMethod; import javax.jws.WebParam; import javax.jws.WebService; import net.brutex.xservices.types.HostConnection; import net.brutex.xservices.types.ReturnCode; import net.brutex.xservices.util.BrutexNamespaces; -import net.brutex.xservices.util.JobWrapper; import net.brutex.xservices.util.RunTask; import net.brutex.xservices.ws.ExecuteService; import net.brutex.xservices.ws.XServicesFault; @@ -37,16 +34,6 @@ import org.apache.tools.ant.taskdefs.optional.ssh.SSHExec; import org.apache.tools.ant.types.Commandline; import org.mozilla.javascript.Context; import org.mozilla.javascript.Scriptable; -import org.quartz.JobBuilder; -import org.quartz.JobDetail; -import org.quartz.Scheduler; -import org.quartz.SchedulerException; -import org.quartz.Trigger; -import static org.quartz.TriggerBuilder.*; -import static org.quartz.SimpleScheduleBuilder.*; -import org.quartz.TriggerUtils; -import org.quartz.impl.StdSchedulerFactory; -import org.quartz.impl.triggers.SimpleTriggerImpl; /** * diff --git a/src/java/net/brutex/xservices/ws/impl/StringServiceImpl.java b/src/java/net/brutex/xservices/ws/impl/StringServiceImpl.java index 4ccd1c5..c114720 100644 --- a/src/java/net/brutex/xservices/ws/impl/StringServiceImpl.java +++ b/src/java/net/brutex/xservices/ws/impl/StringServiceImpl.java @@ -20,12 +20,15 @@ import java.util.ArrayList; import java.util.StringTokenizer; import java.util.regex.Matcher; import java.util.regex.Pattern; + import javax.jws.WebService; + import net.brutex.xservices.types.StringMatchType; import net.brutex.xservices.types.StringReplaceType; import net.brutex.xservices.types.StringSplitType; import net.brutex.xservices.ws.StringService; import net.brutex.xservices.ws.XServicesFault; + import org.apache.commons.lang3.StringEscapeUtils; import org.apache.commons.lang3.text.translate.CharSequenceTranslator; import org.apache.commons.lang3.text.translate.NumericEntityEscaper; @@ -96,6 +99,12 @@ public class StringServiceImpl } return result; } + + @Override + public String removeCRLF(String paramString) throws XServicesFault { + String value = paramString.replaceAll("[\r\n]", ""); + return value; + } private int getFlags(String flags) { int allflags = 0; diff --git a/src/java/net/brutex/xservices/ws/impl/XmlServiceImpl.java b/src/java/net/brutex/xservices/ws/impl/XmlServiceImpl.java index ef761d6..6f3005f 100644 --- a/src/java/net/brutex/xservices/ws/impl/XmlServiceImpl.java +++ b/src/java/net/brutex/xservices/ws/impl/XmlServiceImpl.java @@ -61,6 +61,7 @@ import org.apache.axiom.om.xpath.AXIOMXPath; import org.apache.log4j.Logger; import org.apache.shiro.SecurityUtils; import org.apache.shiro.authz.UnauthorizedException; +import org.apache.shiro.authz.annotation.RequiresPermissions; import org.jaxen.JaxenException; import org.jaxen.SimpleNamespaceContext; @@ -194,6 +195,7 @@ public class XmlServiceImpl implements XmlService { } } + @RequiresPermissions("insertNodes") public String insertNodes(String source, String encoding, NamespaceListType nsList, String xpath, String xmlFragment) throws XServicesFault { encoding = validateEncoding(encoding); try { diff --git a/src/java/net/brutex/xservices/ws/rs/FileInfo.java b/src/java/net/brutex/xservices/ws/rs/FileInfo.java index 834dd1a..1f76a0b 100644 --- a/src/java/net/brutex/xservices/ws/rs/FileInfo.java +++ b/src/java/net/brutex/xservices/ws/rs/FileInfo.java @@ -42,6 +42,7 @@ import net.brutex.xservices.ws.XServicesFault; public abstract interface FileInfo { public final static String BASE_PATH = "/FileService/"; + public final static String SERVICE_NAME = "FileInfoService"; /** * Get the file/ directory listing. diff --git a/src/java/net/brutex/xservices/ws/rs/FileInfoImpl.java b/src/java/net/brutex/xservices/ws/rs/FileInfoImpl.java index eb60b80..9670c12 100644 --- a/src/java/net/brutex/xservices/ws/rs/FileInfoImpl.java +++ b/src/java/net/brutex/xservices/ws/rs/FileInfoImpl.java @@ -73,12 +73,14 @@ public class FileInfoImpl implements FileInfo { */ public Response getFiles(HttpHeaders h, UriInfo uriInfo, String dir, boolean withDir, boolean withFiles, int level, String search, int count, int page, boolean useCache) { - + if(dir==null) { + dir = "c:/"; + logger.warn("No directory specified. Default is 'c:/'."); + } isPermitted(dir); URI baseuri = URI.create(uriInfo.getBaseUri()+FileInfo.BASE_PATH+"getFile?file="); - if(dir==null) {dir = "c:/"; System.out.println("No directory specified.");} logger.info(String.format("Listing directory '%s'.", dir)); if (level <= 0) level = 1; @@ -109,9 +111,8 @@ public class FileInfoImpl implements FileInfo { logger.info(String.format("Returning items %s to %s from total of %s items in the list.", fromIndex, toIndex, list.size())); return Response.ok(sublist).build(); } catch (CacheException e) { - Response.serverError().build(); + return Response.serverError().build(); } - return null; } /** @@ -254,4 +255,14 @@ private boolean isPermitted(String dir) { } return true; } + +//http://stackoverflow.com/questions/3758606/how-to-convert-byte-size-into-human-readable-format-in-java +private static String humanReadableByteCount(long bytes, boolean si) { + int unit = si ? 1000 : 1024; + if (bytes < unit) return bytes + " B"; + int exp = (int) (Math.log(bytes) / Math.log(unit)); + String pre = (si ? "kMGTPE" : "KMGTPE").charAt(exp-1) + (si ? "" : "i"); + return String.format("%.1f %sB", bytes / Math.pow(unit, exp), pre); +} + } \ No newline at end of file diff --git a/src/java/net/brutex/xservices/ws/rs/FileListType.java b/src/java/net/brutex/xservices/ws/rs/FileListType.java index c2d6181..2eca8f8 100644 --- a/src/java/net/brutex/xservices/ws/rs/FileListType.java +++ b/src/java/net/brutex/xservices/ws/rs/FileListType.java @@ -1,3 +1,19 @@ +/* + * Copyright 2014 Brian Rosenberger (Brutex Network) + * + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * 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. + */ + package net.brutex.xservices.ws.rs; import javax.xml.bind.annotation.XmlElement; diff --git a/src/java/net/brutex/xservices/ws/rs/ResultType.java b/src/java/net/brutex/xservices/ws/rs/ResultType.java index 76c8d93..7464b8c 100644 --- a/src/java/net/brutex/xservices/ws/rs/ResultType.java +++ b/src/java/net/brutex/xservices/ws/rs/ResultType.java @@ -1,3 +1,19 @@ +/* + * Copyright 2014 Brian Rosenberger (Brutex Network) + * + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * 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. + */ + package net.brutex.xservices.ws.rs; import net.brutex.xservices.types.scm.ItemType; diff --git a/test/ArchiveService-soapui-project.xml b/test/ArchiveService-soapui-project.xml index a1d01a0..f86d5ee 100644 --- a/test/ArchiveService-soapui-project.xml +++ b/test/ArchiveService-soapui-project.xml @@ -1,5 +1,5 @@ -http://localhost:8080/xservices/ArchiveService?WSDL +http://localhost:8080/xservices/ArchiveService?WSDL @@ -501,7 +501,7 @@ c:\temp -]]>UTF-8http://localhost:8080/xservices/ArchiveService +]]>No AuthorizationUTF-8http://localhost:8080/xservices/ArchiveService @@ -518,4 +518,4 @@ ? -]]> \ No newline at end of file +]]> \ No newline at end of file diff --git a/test/DateService-soapui-project.xml b/test/DateService-soapui-project.xml index 42e78f8..1749ecb 100644 --- a/test/DateService-soapui-project.xml +++ b/test/DateService-soapui-project.xml @@ -1,5 +1,5 @@ - + @@ -879,4 +879,4 @@ seconds -]]>Global HTTP Settingsfalse300250truetrue-1180TIMEBurst6000010000100true500 \ No newline at end of file +]]>Global HTTP Settingsfalse300250truetrue-1180TIMEBurst6000010000100true500 \ No newline at end of file diff --git a/test/ExecuteService-soapui-project.xml b/test/ExecuteService-soapui-project.xml index 63dc394..ccbeeee 100644 --- a/test/ExecuteService-soapui-project.xml +++ b/test/ExecuteService-soapui-project.xml @@ -1,5 +1,5 @@ -http://localhost:8080/XServices/ExecuteService?wsdl +http://localhost:8080/XServices/ExecuteService?wsdl @@ -388,7 +388,7 @@ 15000 -]]>Global HTTP SettingsUTF-8http://localhost:8080/XServices/ExecuteService +]]>BasicBasicGlobal HTTP SettingsUTF-8http://localhost:8080/XServices/ExecuteService @@ -496,4 +496,4 @@ with(blub) { ? -]]> \ No newline at end of file +]]> \ No newline at end of file diff --git a/test/FileRest-soapui-project.xml b/test/FileRest-soapui-project.xml index 8b18aab..25648f2 100644 --- a/test/FileRest-soapui-project.xml +++ b/test/FileRest-soapui-project.xml @@ -1,2 +1,10 @@ - \ No newline at end of file +http://localhost:8080/XServices/fileinfodirectoryQUERYincludeDirectoriesQUERYxs:boolean01depthQUERYxs:intincludeFilesQUERYxs:booleansearchQUERYitemsPerPageQUERYxs:intusecacheQUERYxs:booleantext/html;charset=utf-8401html401datatext/xml200fileInfoTypes401data401data<xml-fragment/>http://localhost:8080/XServices/fileinfohttp://localhost/XServices/fileinfo/FileService/getFilesadminBasicBasicGlobal HTTP Settings + + + + + + + +directoryincludeDirectoriesdepthincludeFilessearchitemsPerPageusecachefileQUERYtext/html;charset=utf-8401htmltext/plain200data<xml-fragment/>http://localhost:8080/XServices/fileinfohttp://localhost/XServices/fileinfo/FileService/getFileadminBasicBasicGlobal HTTP Settingsfile \ No newline at end of file diff --git a/test/FileService-soapui-project.xml b/test/FileService-soapui-project.xml index 92ec686..aeef4e2 100644 --- a/test/FileService-soapui-project.xml +++ b/test/FileService-soapui-project.xml @@ -1,5 +1,5 @@ -http://localhost:8080/XServices/FileService?wsdl +http://localhost:8080/XServices/FileService?wsdl /* * Copyright 2010 Brian Rosenberger (Brutex Network) * @@ -934,4 +934,4 @@ -]]> \ No newline at end of file +]]> \ No newline at end of file diff --git a/test/FileServiceMTOM-soapui-project.xml b/test/FileServiceMTOM-soapui-project.xml index 67eb7ce..322c354 100644 --- a/test/FileServiceMTOM-soapui-project.xml +++ b/test/FileServiceMTOM-soapui-project.xml @@ -1,5 +1,5 @@ -http://localhost:8080/XServices/FileServiceMTOM?wsdl +http://localhost:8080/XServices/FileServiceMTOM?wsdl @@ -441,7 +441,7 @@ -]]>http://schemas.xmlsoap.org/wsdl/http://localhost:8080/XServices/FileServiceMTOMhttp://localhost:8080/XServices/FileService<xml-fragment/>UTF-8http://localhost:8080/XServices/FileServiceMTOM +]]>http://schemas.xmlsoap.org/wsdl/http://localhost:8080/XServices/FileServicehttp://localhost:8080/XServices/FileServiceMTOM<xml-fragment/>UTF-8http://localhost:8080/XServices/FileServiceMTOM @@ -642,4 +642,4 @@ -]]> \ No newline at end of file +]]> \ No newline at end of file diff --git a/test/JobServices-soapui-project.xml b/test/JobServices-soapui-project.xml index 1b72106..46bf183 100644 --- a/test/JobServices-soapui-project.xml +++ b/test/JobServices-soapui-project.xml @@ -1,5 +1,5 @@ -http://localhost:8080/XServices/JobServices?wsdl +http://localhost:8080/XServices/JobService?wsdl @@ -8,8 +8,6 @@ - - @@ -38,34 +36,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -84,6 +54,7 @@ + @@ -93,7 +64,6 @@ - @@ -111,9 +81,6 @@ - - - @@ -123,9 +90,6 @@ - - - @@ -142,12 +106,6 @@ - - Get scheduler statistics - - - - Delete a scheduled job. @@ -175,30 +133,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - @@ -211,6 +145,18 @@ + + + + + + + + + + + + @@ -226,65 +172,50 @@ - + -]]>http://schemas.xmlsoap.org/wsdl/http://localhost:8080/XServices/JobServices<xml-fragment/>UTF-8http://localhost:8080/XServices/JobServices +]]>http://schemas.xmlsoap.org/wsdl/http://localhost:8080/XServices/JobServicehttp://localhost:8080/XServices/JobServices<xml-fragment/>UTF-8http://localhost:8080/XServices/JobService -]]><xml-fragment/>UTF-8http://localhost:8080/XServices/JobServices +]]>No Authorization<xml-fragment/>UTF-8http://localhost:8080/XServices/JobService 6b3da1f0-ff1c-4422-b2ce-17a6d1c2a990 -]]><xml-fragment/>UTF-8http://localhost:8080/XServices/JobServices +]]>No Authorization<xml-fragment/>UTF-8http://localhost:8080/XServices/JobService - + 2012-05-14T07:52:00+02:00 - - -]]><xml-fragment/>UTF-8http://localhost:8080/XServices/JobServices +]]>No Authorization<xml-fragment/>UTF-8http://localhost:8080/XServices/JobService + + + + + Hello World 2 + + Some description + 2014-08-21T09:53:00+02:00 + + + + + +]]>No Authorization<xml-fragment/>UTF-8http://localhost:8080/XServices/JobService 6b3da1f0-ff1c-4422-b2ce-17a6d1c2a990 -]]><xml-fragment/>UTF-8http://localhost:8080/XServices/JobServices - - - - -]]> \ No newline at end of file +]]>No Authorization \ No newline at end of file diff --git a/test/MailService-soapui-project.xml b/test/MailService-soapui-project.xml index b4b4d96..1ba73e0 100644 --- a/test/MailService-soapui-project.xml +++ b/test/MailService-soapui-project.xml @@ -1,5 +1,5 @@ -http://localhost:8080/XServices/MailService?wsdl +http://localhost:8080/XServices/MailService?wsdl @@ -315,4 +315,4 @@ -]]> \ No newline at end of file +]]> \ No newline at end of file diff --git a/test/MiscService-soapui-project.xml b/test/MiscService-soapui-project.xml index d3f3797..9b53761 100644 --- a/test/MiscService-soapui-project.xml +++ b/test/MiscService-soapui-project.xml @@ -1,5 +1,5 @@ -http://localhost:8080/XServices/MiscService?WSDL +http://localhost:8080/XServices/MiscService?WSDL @@ -277,4 +277,4 @@ -]]>Global HTTP Settings \ No newline at end of file +]]>Global HTTP Settings \ No newline at end of file diff --git a/test/StoreService-soapui-project.xml b/test/StoreService-soapui-project.xml index 065c6b6..373b5ca 100644 --- a/test/StoreService-soapui-project.xml +++ b/test/StoreService-soapui-project.xml @@ -1,5 +1,5 @@ -http://localhost:8080/XServices/StorageServices?wsdl +http://localhost:8080/XServices/StorageServices?wsdl @@ -243,4 +243,4 @@ ? -]]> \ No newline at end of file +]]> \ No newline at end of file diff --git a/test/StringService-soapui-project.xml b/test/StringService-soapui-project.xml index 4f1c482..765ec9a 100644 --- a/test/StringService-soapui-project.xml +++ b/test/StringService-soapui-project.xml @@ -1,9 +1,80 @@ -http://localhost:8080/XServices/StringService?wsdl +http://localhost:8080/XServices/StringService?wsdl + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -23,6 +94,7 @@ + @@ -32,19 +104,66 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + Remove any line feed and/ or carriage return characters + + + + + + Match text based data + + + + + + Split a string into tokens + + + + + + Match text based data + + + + Store text based data @@ -54,6 +173,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -76,10 +243,40 @@ - Hallo Welt - W.* - Brian - ig - + -]]> \ No newline at end of file +]]>No AuthorizationUTF-8http://localhost:8080/XServices/StringService + + + + + +]]><xml-fragment/>UTF-8http://localhost:8080/XServices/StringService + + + + Hier + is + some + text. + + + +]]>No AuthorizationUTF-8http://localhost:8080/XServices/StringService + + + + ? + + +]]><xml-fragment/>UTF-8http://localhost:8080/XServices/StringService + + + + Hi er + is + some + text + + +]]>No Authorization \ No newline at end of file diff --git a/test/XmlServices-soapui-project.xml b/test/XmlServices-soapui-project.xml index 02a1db7..9d7441f 100644 --- a/test/XmlServices-soapui-project.xml +++ b/test/XmlServices-soapui-project.xml @@ -1,5 +1,5 @@ -http://localhost:8080/XServices/XmlService?wsdl +http://localhost:8080/XServices/XmlService?wsdl @@ -435,7 +435,7 @@ xmlns:ws="http://ws.xservices.brutex.net"> */bx:note/ns:heading/text() -]]>Global HTTP SettingsUTF-8http://localhost:8080/XServices/XmlService +]]>BasicBasicGlobal HTTP SettingsUTF-8http://localhost:8080/XServices/XmlService @@ -523,4 +523,4 @@ xmlns:ws="http://ws.xservices.brutex.net"> Meyer45]]]]>> -]]>adminGlobal HTTP Settings \ No newline at end of file +]]>adminGlobal HTTP Settings \ No newline at end of file