[jboss-svn-commits] JBL Code SVN: r35168 - in labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main: java/org/jboss/soa/esb/services/semantics/actions/discovery and 12 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Sep 16 16:54:09 EDT 2010


Author: johan.kumps
Date: 2010-09-16 16:54:05 -0400 (Thu, 16 Sep 2010)
New Revision: 35168

Added:
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/actions/selection/AbstractServiceSelectionAction.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/actions/selection/AllMatchesServiceSelectionAction.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/actions/selection/ServiceSelectionAction.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/actions/
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/actions/OWLKnowledgeBaseManagementAction.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/BaseCommandResponseType.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/BaseCommandType.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/IsRegisteredRequestType.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/IsRegisteredResponseType.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/ListRegisteredRequestType.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/ListRegisteredResponseType.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/ManagementRequestType.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/ManagementResponseType.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/ObjectFactory.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/RegistrationRequestType.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/RegistrationResponseType.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/ServiceMetatDataType.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/UnRegistrationRequestType.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/UnRegistrationResponseType.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/package-info.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/model/DataTypeValueType.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/model/ObjectTypeInputType.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/model/ObjectTypeValueType.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/monitoring/
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/monitoring/ServiceInvocationMBean.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/monitoring/actions/
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/monitoring/actions/ServiceInvocationMonitoringAction.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/monitoring/model/
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/monitoring/model/Fault.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/monitoring/model/ListInvokedServicesRequestType.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/monitoring/model/ListInvokedServicesResponseType.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/monitoring/model/MonitoringRequestType.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/monitoring/model/MonitoringResponseType.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/monitoring/model/ObjectFactory.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/monitoring/model/ServiceMetatDataType.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/monitoring/model/package-info.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/resources/manager-common.xsd
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/resources/manager-fault.xsd
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/resources/manager-request.xsd
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/resources/manager-response.xsd
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/resources/monitor-fault.xsd
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/resources/monitor-request.xsd
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/resources/monitor-response.xsd
Removed:
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/actions/selection/AbstractSelectionAction.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/actions/selection/FirstMatchSelectionAction.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/actions/selection/RandomMatchSelectionAction.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/actions/selection/SelectionAction.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/model/DataValueType.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/model/InputType.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/model/ObjectValueType.java
Modified:
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/actions/discovery/DiscoveryAction.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/actions/discovery/SPARQLDiscoveryAction.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/actions/invocation/ServiceInvocationAction.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/OWLKnowledgeBaseManager.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/OwlServiceRegistryServiceMBean.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/model/ConceptValueType.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/model/ExpectedOutputType.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/model/ObjectFactory.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/model/ServiceQueryRequestType.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/model/ServiceQueryResponseType.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/model/package-info.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/utils/Constants.java
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/resources/META-INF/jboss-esb.xml
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/resources/common.xsd
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/resources/jbm-queue-service.xml
   labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/resources/request.xsd
Log:


Modified: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/actions/discovery/DiscoveryAction.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/actions/discovery/DiscoveryAction.java	2010-09-16 20:52:16 UTC (rev 35167)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/actions/discovery/DiscoveryAction.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -3,15 +3,14 @@
 import org.jboss.soa.esb.message.Message;
 
 public interface DiscoveryAction {
-	
-	
-	
+
 	// Error messages
 	public static final String NO_MATCHING_SERVICES = "No matching services were found based on the user query";
-	
+
 	/**
-	 * Method discovering services based on the given service query. 
-	 * Only one service will be returned to be automatically invoked.
+	 * Method discovering services based on the given service query. Only one
+	 * service will be returned to be automatically invoked.
+	 * 
 	 * @return the found service based on the given query.
 	 */
 	public Message discover(Message message) throws Exception;

Modified: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/actions/discovery/SPARQLDiscoveryAction.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/actions/discovery/SPARQLDiscoveryAction.java	2010-09-16 20:52:16 UTC (rev 35167)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/actions/discovery/SPARQLDiscoveryAction.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -19,8 +19,9 @@
 import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.message.Message;
 import org.jboss.soa.esb.services.semantics.configuration.OWLKnowledgeBaseManager;
+import org.jboss.soa.esb.services.semantics.model.DataTypeValueType;
 import org.jboss.soa.esb.services.semantics.model.ExpectedOutputType;
-import org.jboss.soa.esb.services.semantics.model.InputType;
+import org.jboss.soa.esb.services.semantics.model.ObjectTypeInputType;
 import org.jboss.soa.esb.services.semantics.model.ServiceQueryRequestType;
 import org.jboss.soa.esb.services.semantics.utils.Constants;
 import org.mindswap.common.ClosableIterator;
@@ -30,7 +31,6 @@
 import org.mindswap.owl.OWLIndividual;
 import org.mindswap.owl.OWLKnowledgeBase;
 import org.mindswap.owl.OWLValue;
-import org.mindswap.owls.vocabulary.OWLS;
 import org.mindswap.query.QueryLanguage;
 import org.mindswap.query.ValueMap;
 import org.xml.sax.InputSource;
@@ -39,29 +39,31 @@
  * This class is the SPARQL implementation of the DiscoveryAction interface.
  * 
  * @author <a href="mailto:johan.kumps at telenet.be">Johan Kumps</a>
- *
+ * 
  */
 public class SPARQLDiscoveryAction extends AbstractActionLifecycle implements
 		DiscoveryAction {
-	
-    /**
-     * The Logger instance for this action
-     */
-    private static Logger logger = Logger.getLogger(SPARQLDiscoveryAction.class);
 
+	/**
+	 * The Logger instance for this action
+	 */
+	private static Logger logger = Logger
+			.getLogger(SPARQLDiscoveryAction.class);
+
 	protected ConfigTree _config = null;
 
 	private JAXBContext jaxbContext = null;
 	private Unmarshaller unmarshaller = null;
-	
 
 	/*
 	 * 
 	 */
-	public SPARQLDiscoveryAction(ConfigTree config) throws ActionLifecycleException {
+	public SPARQLDiscoveryAction(ConfigTree config)
+			throws ActionLifecycleException {
 		_config = config;
 		try {
-			jaxbContext = JAXBContext.newInstance(Constants.SEMANTIC_MODEL_PACKAGE);
+			jaxbContext = JAXBContext
+					.newInstance(Constants.SEMANTIC_MODEL_PACKAGE);
 			unmarshaller = jaxbContext.createUnmarshaller();
 		} catch (JAXBException e) {
 			logger.error(e.getMessage());
@@ -71,37 +73,47 @@
 
 	/*
 	 * (non-Javadoc)
-	 * @see org.jboss.soa.esb.services.semantics.actions.matchmaking.DiscoveryAction#discover(org.jboss.soa.esb.message.Message)
+	 * 
+	 * @see
+	 * org.jboss.soa.esb.services.semantics.actions.matchmaking.DiscoveryAction
+	 * #discover(org.jboss.soa.esb.message.Message)
 	 */
 	public Message discover(Message message) throws ActionProcessingException {
-        if(logger.isDebugEnabled()) {
-            logger.debug("Message received: [" + message + "].");
-        }        
+		if (logger.isDebugEnabled()) {
+			logger.debug("Message received: [" + message + "].");
+		}
 		ServiceQueryRequestType serviceQuery = this.parseServiceQuery(message);
 
 		List<URI> matchedServiceURIs = this.getMatchedServiceURIs(serviceQuery);
-		if(logger.isDebugEnabled()) {
-            logger.debug("Discovered service URIs: [");
-            URI current = null;
-            for (Iterator<URI> iter = matchedServiceURIs.iterator(); iter.hasNext();){
-            	current = iter.next();
-            	logger.debug("                          " + current + ",");	
-            }
-            logger.debug("].");
-        }
-		message.getBody().add(Constants.DISCOVERED_SERVICE_URIS_MESSAGE_KEY, matchedServiceURIs);
-		
-		//TODO nodig?
-		if (serviceQuery.getInputs() != null){
-			message.getBody().add(Constants.CONSUMER_INPUTS_MESSAGE_KEY, serviceQuery.getInputs());
+		if (logger.isDebugEnabled()) {
+			logger.debug("Discovered service URIs: [");
+			URI current = null;
+			for (Iterator<URI> iter = matchedServiceURIs.iterator(); iter
+					.hasNext();) {
+				current = iter.next();
+				logger.debug("                          " + current + ",");
+			}
+			logger.debug("].");
 		}
+		message.getBody().add(Constants.DISCOVERED_SERVICE_URIS_MESSAGE_KEY,
+				matchedServiceURIs);
+
+		// TODO nodig?
+		if (serviceQuery.getInputs() != null) {
+			message.getBody().add(Constants.CONSUMER_INPUTS_MESSAGE_KEY,
+					serviceQuery.getInputs());
+		}
 		return message;
 
 	}
 
 	/**
-	 * Method extracting a ServiceQueryRequestType instance out of the given Message
-	 * @param message the Message instance to use to extract a ServiceQueryRequestType instance
+	 * Method extracting a ServiceQueryRequestType instance out of the given
+	 * Message
+	 * 
+	 * @param message
+	 *            the Message instance to use to extract a
+	 *            ServiceQueryRequestType instance
 	 * @return the extracted ServiceQueryRequestType instance
 	 * @throws JAXBException
 	 */
@@ -115,9 +127,10 @@
 		try {
 			ServiceQueryRequestType serviceQueryRequestType = (ServiceQueryRequestType) ((JAXBElement) this.unmarshaller
 					.unmarshal(requestInputSource)).getValue();
-			if(logger.isDebugEnabled()) {
-	            logger.debug("Parsed ServiceQueryRequest: [" + serviceQueryRequestType + "].");
-	        }
+			if (logger.isDebugEnabled()) {
+				logger.debug("Parsed ServiceQueryRequest: ["
+						+ serviceQueryRequestType + "].");
+			}
 			return serviceQueryRequestType;
 		} catch (JAXBException e) {
 			logger.error(e.getMessage());
@@ -128,60 +141,94 @@
 
 	/**
 	 * Method building a SPARQL query based on the given user query
-	 * @param serviceQuery the user query to use
+	 * 
+	 * @param serviceQuery
+	 *            the user query to use
 	 * @return the created SPARQL query string
-	 * @throws ActionProcessingException if something goes wrong during the building
+	 * @throws ActionProcessingException
+	 *             if something goes wrong during the building
 	 */
-	private String buildSPARQLQuery(ServiceQueryRequestType serviceQuery) throws ActionProcessingException{
+	private String buildSPARQLQuery(ServiceQueryRequestType serviceQuery)
+			throws ActionProcessingException {
 		// TODO zouden we hier eigenlijk niet nodig mogen hebben. Zie syntax
 		// SPARQL!
 		OWLKnowledgeBase owlKnowledgeBase = OWLKnowledgeBaseManager
 				.getInstance().getOwlKnowledgeBase();
 		StringBuffer queryBuffer = new StringBuffer(
-					"PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> "
-					+ "PREFIX pr: <http://www.daml.org/services/owl-s/1.2/Profile.owl#> "
-					+ "PREFIX prc: <http://www.daml.org/services/owl-s/1.2/Process.owl#> "
-					+ "PREFIX concepts: <http://www.example.org/concepts.owl#> "
-					+ "PREFIX sr: <http://www.daml.org/services/owl-s/1.2/Service.owl#> "
-					+ "PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> "
-					+ "SELECT ?s WHERE {" 
-					+ "?s sr:presents ?o. ");
+				"PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> "
+						+ "PREFIX pr: <http://www.daml.org/services/owl-s/1.2/Profile.owl#> "
+						+ "PREFIX prc: <http://www.daml.org/services/owl-s/1.2/Process.owl#> "
+						+ "PREFIX concepts: <http://www.example.org/concepts.owl#> "
+						+ "PREFIX sr: <http://www.daml.org/services/owl-s/1.2/Service.owl#> "
+						+ "PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> "
+						+ "SELECT ?s WHERE {" + "?s sr:presents ?o. ");
 
 		// inputs mapping
-		if (serviceQuery.getInputs() != null){
-			List<InputType> serviceQueryInputs = serviceQuery.getInputs().getInput();
-			InputType currentInput = null;
-			int count = 0;
-			for (Iterator<InputType> iter = serviceQueryInputs.iterator(); iter
-					.hasNext();) {
-				currentInput = iter.next();
-				// TODO kan er gezocht worden op concept? Niet steeds eerst de naam
-				// op basis van de URI ophalen!
-				OWLEntity ontologyInput;
-				try {
-					ontologyInput = owlKnowledgeBase.getEntity(new URI(
-							currentInput.getClazz()));
-				} catch (URISyntaxException e) {
-					logger.error(e.getMessage());
-					throw new ActionProcessingException(e);
+		if (serviceQuery.getInputs() != null) {
+			if (!serviceQuery.getInputs().getObjectTypeInput().isEmpty()) {
+				List<ObjectTypeInputType> serviceQueryInputs = serviceQuery
+						.getInputs().getObjectTypeInput();
+				ObjectTypeInputType currentInput = null;
+				int count = 0;
+				for (Iterator<ObjectTypeInputType> iter = serviceQueryInputs
+						.iterator(); iter.hasNext();) {
+					currentInput = iter.next();
+					// TODO kan er gezocht worden op concept? Niet steeds eerst
+					// de naam
+					// op basis van de URI ophalen!
+					OWLEntity ontologyInput;
+					try {
+						ontologyInput = owlKnowledgeBase.getEntity(new URI(
+								currentInput.getClazz()));
+					} catch (URISyntaxException e) {
+						logger.error(e.getMessage());
+						throw new ActionProcessingException(e);
+					}
+					queryBuffer.append("?o pr:hasInput ?in" + count + ". ");
+					queryBuffer.append("?in" + count + " prc:parameterType \""
+							+ currentInput.getClazz() + "\"^^xsd:anyURI. ");
+					count++;
 				}
-				queryBuffer.append("?o pr:hasInput ?in" + count +". ");
-				queryBuffer.append("?in" + count +" prc:parameterType \"" + currentInput.getClazz() + "\"^^xsd:anyURI. ");
-				count++;
+			} else if (!serviceQuery.getInputs().getDataTypeInput().isEmpty()) {
+				List<DataTypeValueType> serviceQueryInputs = serviceQuery
+						.getInputs().getDataTypeInput();
+				DataTypeValueType currentInput = null;
+				int count = 0;
+				for (Iterator<DataTypeValueType> iter = serviceQueryInputs
+						.iterator(); iter.hasNext();) {
+					currentInput = iter.next();
+					// TODO kan er gezocht worden op concept? Niet steeds eerst
+					// de naam
+					// op basis van de URI ophalen!
+					OWLEntity ontologyInput;
+					try {
+						ontologyInput = owlKnowledgeBase.getEntity(new URI(
+								currentInput.getClazz()));
+					} catch (URISyntaxException e) {
+						logger.error(e.getMessage());
+						throw new ActionProcessingException(e);
+					}
+					queryBuffer.append("?o pr:hasInput ?in" + count + ". ");
+					queryBuffer.append("?in" + count + " prc:parameterType \""
+							+ currentInput.getClazz() + "\"^^xsd:anyURI. ");
+					count++;
+				}
 			}
+
 		}
 
 		// outputs mapping
-		if (serviceQuery.getOutputs() != null){
+		if (serviceQuery.getOutputs() != null) {
 			List<ExpectedOutputType> serviceQueryOutputs = serviceQuery
-				.getOutputs().getOutput();
-		
+					.getOutputs().getOutput();
+
 			ExpectedOutputType currentOut = null;
 			int count = 0;
-			for (Iterator<ExpectedOutputType> iter = serviceQueryOutputs.iterator(); iter
-					.hasNext();) {
+			for (Iterator<ExpectedOutputType> iter = serviceQueryOutputs
+					.iterator(); iter.hasNext();) {
 				currentOut = iter.next();
-				// TODO kan er gezocht worden op concept? Niet steeds eerst de naam
+				// TODO kan er gezocht worden op concept? Niet steeds eerst de
+				// naam
 				// op basis van de URI ophalen!
 				OWLEntity type;
 				try {
@@ -191,29 +238,33 @@
 					logger.error(e.getMessage());
 					throw new ActionProcessingException(e);
 				}
-				queryBuffer.append("?o pr:hasOutput ?out" + count +". ");
-				queryBuffer.append("?out" + count +" prc:parameterType \"" + currentOut.getClazz() + "\"^^xsd:anyURI. ");
+				queryBuffer.append("?o pr:hasOutput ?out" + count + ". ");
+				queryBuffer.append("?out" + count + " prc:parameterType \""
+						+ currentOut.getClazz() + "\"^^xsd:anyURI. ");
 				count++;
 			}
 		}
 
 		queryBuffer.append("} ");
-		
-		if(logger.isDebugEnabled()) {
-            logger.debug("SPARQL Query: [" + queryBuffer + "].");
-        }
 
+		if (logger.isDebugEnabled()) {
+			logger.debug("SPARQL Query: [" + queryBuffer + "].");
+		}
+
 		return queryBuffer.toString();
 	}
 
 	/**
-	 * Method executing the SPARQL query to retrieve the URI of the service matching the given query.
-	 * @param serviceQuery the query to use to retrieve matching services
+	 * Method executing the SPARQL query to retrieve the URI of the service
+	 * matching the given query.
+	 * 
+	 * @param serviceQuery
+	 *            the query to use to retrieve matching services
 	 * @return the URI of the matching service
 	 * @throws ActionProcessingException
 	 */
-	private List<URI> getMatchedServiceURIs(ServiceQueryRequestType serviceQuery) throws ActionProcessingException
-			 {
+	private List<URI> getMatchedServiceURIs(ServiceQueryRequestType serviceQuery)
+			throws ActionProcessingException {
 		OWLKnowledgeBase owlKnowledgeBase = OWLKnowledgeBaseManager
 				.getInstance().getOwlKnowledgeBase();
 
@@ -234,19 +285,21 @@
 				results.close();
 		}
 		List<URI> matchedServices = new ArrayList<URI>();
-		if (services.size() > 0){
+		if (services.size() > 0) {
 			ValueMap<Variable, OWLValue> current = null;
 			OWLIndividual currentIndividual = null;
-			for (Iterator<ValueMap<Variable, OWLValue>> iter = services.iterator(); iter.hasNext();){
+			for (Iterator<ValueMap<Variable, OWLValue>> iter = services
+					.iterator(); iter.hasNext();) {
 				current = iter.next();
 				currentIndividual = current.getIndividualValue("s");
 				matchedServices.add(currentIndividual.getURI());
 			}
 		}
-		
-		if(logger.isDebugEnabled()) {
-            logger.debug("Number of matching services: [" + matchedServices.size() + "].");
-        }
+
+		if (logger.isDebugEnabled()) {
+			logger.debug("Number of matching services: ["
+					+ matchedServices.size() + "].");
+		}
 		return matchedServices;
 
 	}

Modified: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/actions/invocation/ServiceInvocationAction.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/actions/invocation/ServiceInvocationAction.java	2010-09-16 20:52:16 UTC (rev 35167)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/actions/invocation/ServiceInvocationAction.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -3,6 +3,7 @@
 import java.io.ByteArrayOutputStream;
 import java.net.URI;
 import java.net.URISyntaxException;
+import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
 
@@ -12,20 +13,22 @@
 import javax.xml.bind.PropertyException;
 
 import org.apache.log4j.Logger;
+import org.jboss.soa.esb.ConfigurationException;
 import org.jboss.soa.esb.actions.AbstractActionLifecycle;
 import org.jboss.soa.esb.actions.ActionProcessingException;
 import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.services.semantics.actions.selection.SelectionAction;
 import org.jboss.soa.esb.services.semantics.configuration.OWLKnowledgeBaseManager;
 import org.jboss.soa.esb.services.semantics.model.ConceptValueType;
-import org.jboss.soa.esb.services.semantics.model.DataValueType;
-import org.jboss.soa.esb.services.semantics.model.InputType;
+import org.jboss.soa.esb.services.semantics.model.DataTypeValueType;
 import org.jboss.soa.esb.services.semantics.model.ObjectFactory;
-import org.jboss.soa.esb.services.semantics.model.ObjectValueType;
+import org.jboss.soa.esb.services.semantics.model.ObjectTypeInputType;
+import org.jboss.soa.esb.services.semantics.model.ObjectTypeValueType;
 import org.jboss.soa.esb.services.semantics.model.ServiceQueryResponseType;
 import org.jboss.soa.esb.services.semantics.model.ServiceQueryRequestType.Inputs;
 import org.jboss.soa.esb.services.semantics.model.ServiceQueryResponseType.Outputs;
+import org.jboss.soa.esb.services.semantics.monitoring.ServiceInvocationMBean;
+import org.jboss.soa.esb.services.semantics.monitoring.model.ServiceMetatDataType;
 import org.jboss.soa.esb.services.semantics.utils.Constants;
 import org.mindswap.exceptions.ExecutionException;
 import org.mindswap.owl.OWLClass;
@@ -40,13 +43,14 @@
 import org.mindswap.owls.process.execution.ProcessExecutionEngine;
 import org.mindswap.owls.process.variable.Input;
 import org.mindswap.owls.process.variable.Output;
+import org.mindswap.owls.service.Service;
 import org.mindswap.query.ValueMap;
 
 /**
  * This service invocation action invoking the selected service.
  * 
  * @author <a href="mailto:johan.kumps at telenet.be">Johan Kumps</a>
- *
+ * 
  */
 public class ServiceInvocationAction extends AbstractActionLifecycle {
 
@@ -58,10 +62,12 @@
 
 	private JAXBContext jaxbContext = null;
 	private Marshaller marshaller = null;
-	
-	public ServiceInvocationAction(ConfigTree config) {
+
+	public ServiceInvocationAction(ConfigTree config)
+			throws ConfigurationException {
 		try {
-			jaxbContext = JAXBContext.newInstance(Constants.SEMANTIC_MODEL_PACKAGE);
+			jaxbContext = JAXBContext
+					.newInstance(Constants.SEMANTIC_MODEL_PACKAGE);
 			marshaller = jaxbContext.createMarshaller();
 		} catch (JAXBException e) {
 			// TODO Auto-generated catch block
@@ -82,68 +88,153 @@
 	 */
 	public Message invoke(Message message) throws ActionProcessingException {
 
-		URI serviceURI = (URI) message.getBody().get(
-				Constants.SELECTED_SERVICE_URI_MESSAGE_KEY);
+		List<URI> uriSelectedServices = (List<URI>) message.getBody().get(
+				Constants.SELECTED_SERVICES_URI_MESSAGE_KEY);
 		String messageID = (String) message.getBody().get("messageID");
 
-		List<InputType> userInputs = ((Inputs) message.getBody().get(Constants.CONSUMER_INPUTS_MESSAGE_KEY))
-				.getInput();
-
-		//If a service is found --> start the invocation sequence
-		if (serviceURI != null) {
-			OWLKnowledgeBase owlKnowledgeBase = OWLKnowledgeBaseManager
+		OWLKnowledgeBase owlKnowledgeBase = OWLKnowledgeBaseManager
 				.getInstance().getOwlKnowledgeBase();
-			Process process = owlKnowledgeBase.getService(serviceURI).getProcess();
 
-			ProcessExecutionEngine processExecutionEngine = OWLSFactory
-					.createExecutionEngine();
+		Process process = null;
+		List userInputs = null;
 
-			ValueMap<Output, OWLValue> outputs = new ValueMap<Output, OWLValue>();
+		ProcessExecutionEngine processExecutionEngine = OWLSFactory
+				.createExecutionEngine();
 
-			try {
-				outputs = processExecutionEngine.execute(process, this.buildProcessInputs(userInputs, process, serviceURI),
-						owlKnowledgeBase);
-			} catch (ExecutionException e) {
-				logger.error(e.getMessage());
-				throw new ActionProcessingException(e);
+		ValueMap<Output, OWLValue> outputs = new ValueMap<Output, OWLValue>();
+		
+		List<ServiceMetatDataType> invokedServices = new ArrayList<ServiceMetatDataType>();
+
+		URI currentServiceURI = null;
+		Service currentService = null;
+		for (Iterator<URI> iter = uriSelectedServices.iterator(); iter
+				.hasNext();) {
+			currentServiceURI = iter.next();
+
+			currentService = owlKnowledgeBase.getService(currentServiceURI);
+			process = currentService.getProcess();
+
+			if (!((Inputs) message.getBody().get(
+					Constants.CONSUMER_INPUTS_MESSAGE_KEY))
+					.getObjectTypeInput().isEmpty()) {
+				userInputs = ((Inputs) message.getBody().get(
+						Constants.CONSUMER_INPUTS_MESSAGE_KEY))
+						.getObjectTypeInput();
+				try {
+					outputs = processExecutionEngine.execute(process, this
+							.buildProcessInputsObjectTypeInputs(userInputs,
+									process, currentServiceURI),
+							owlKnowledgeBase);
+				} catch (ExecutionException e) {
+					logger.error(e.getMessage());
+					throw new ActionProcessingException(e);
+				}
+
+			} else if (!((Inputs) message.getBody().get(
+					Constants.CONSUMER_INPUTS_MESSAGE_KEY)).getDataTypeInput()
+					.isEmpty()) {
+				userInputs = ((Inputs) message.getBody().get(
+						Constants.CONSUMER_INPUTS_MESSAGE_KEY))
+						.getDataTypeInput();
+				try {
+					outputs.putMap(processExecutionEngine.execute(process, this
+							.buildProcessInputsDataTypeInputs(userInputs,
+									process, currentServiceURI),
+							owlKnowledgeBase));
+				} catch (ExecutionException e) {
+					logger.error(e.getMessage());
+					throw new ActionProcessingException(e);
+				}
 			}
-			
-			return this.buildResponseMessage(this.buildServiceQueryResponseType(messageID, outputs, process), message);
-		} else {
-			// return error message
-			return message;
+			invokedServices.add(getServiceMetaData(currentService));
 		}
+
+		ServiceInvocationMBean.getInstance().addServicesLastInvocation(invokedServices);
+		
+		this.buildResponseMessage(this.buildServiceQueryResponseType(messageID,
+				outputs, process), message);
+
+		return message;
+
 	}
 
+	private ServiceMetatDataType getServiceMetaData(Service currentService) {
+		ServiceMetatDataType serviceMetatDataType = new ServiceMetatDataType();
+		serviceMetatDataType.setName(currentService.getName());
+		serviceMetatDataType.setDescription(currentService.getProfile().getTextDescription());
+		serviceMetatDataType.setUri(currentService.getURI().toString());
+		return serviceMetatDataType;
+	}
+
 	/**
-	 * This method converts the consumer inputs into the parameters for the execution engine
-	 * @param userInputs the consumer inputs to convert
-	 * @param process the process inputs
-	 * @param serviceURI the uri of the service to invoke
+	 * This method converts the base data type consumer inputs into the
+	 * parameters for the execution engine
+	 * 
+	 * @param userInputs
+	 *            the consumer inputs to convert
+	 * @param process
+	 *            the process inputs
+	 * @param serviceURI
+	 *            the uri of the service to invoke
 	 * @return the inputs for the execution engine
 	 */
-	private ValueMap<Input, OWLValue> buildProcessInputs(
-			List<InputType> userInputs,  Process process, URI serviceURI) {
+	private ValueMap<Input, OWLValue> buildProcessInputsDataTypeInputs(
+			List<DataTypeValueType> userInputs, Process process, URI serviceURI) {
 		// initialize the input values to be empty
 		ValueMap<Input, OWLValue> inputs = new ValueMap<Input, OWLValue>();
 		OWLKnowledgeBase owlKnowledgeBase = OWLKnowledgeBaseManager
 				.getInstance().getOwlKnowledgeBase();
-		
 
+		DataTypeValueType currentUserInput = null;
+
+		// looping over all given inputs
+		for (int i = 0; i < userInputs.size(); i++) {
+			currentUserInput = userInputs.get(i);
+
+			// get the parameter using the local name
+			inputs.setValue(process.getInput(owlKnowledgeBase.getEntity(
+					URI.create(currentUserInput.getName())).getLocalName()),
+					owlKnowledgeBase.createDataValue(currentUserInput
+							.getValue()));
+		}
+
+		return inputs;
+	}
+
+	/**
+	 * This method converts the object type consumer inputs into the parameters
+	 * for the execution engine
+	 * 
+	 * @param userInputs
+	 *            the consumer inputs to convert
+	 * @param process
+	 *            the process inputs
+	 * @param serviceURI
+	 *            the uri of the service to invoke
+	 * @return the inputs for the execution engine
+	 */
+	private ValueMap<Input, OWLValue> buildProcessInputsObjectTypeInputs(
+			List<ObjectTypeInputType> userInputs, Process process,
+			URI serviceURI) {
+		// initialize the input values to be empty
+		ValueMap<Input, OWLValue> inputs = new ValueMap<Input, OWLValue>();
+		OWLKnowledgeBase owlKnowledgeBase = OWLKnowledgeBaseManager
+				.getInstance().getOwlKnowledgeBase();
+
 		OWLIndividualList<Input> processInputs = process.getInputs();
-		InputType currentUserInput = null;
+		ObjectTypeInputType currentUserInput = null;
 
 		OWLClass rootClass = null;
 		OWLIndividual rootIndividual = null;
 
-		DataValueType currentDataValue = null;
+		DataTypeValueType currentDataValue = null;
 		OWLDataProperty currentDataProperty = null;
 
-		ObjectValueType currentObjectValue = null;
+		ObjectTypeValueType currentObjectValue = null;
 		OWLClass currentObjectValueClass = null;
 		OWLIndividual currentObjectValueIndividual = null;
 		OWLObjectProperty currentObjectProperty = null;
-		DataValueType currentObjectValueDataValue = null;
+		DataTypeValueType currentObjectValueDataValue = null;
 		OWLDataProperty currentObjectValueDataProperty = null;
 
 		// String currentProcessInputLocalName = null;
@@ -163,8 +254,9 @@
 					logger.debug("rootIndividual : " + rootIndividual);
 				}
 				// Lowering all datavalues
-				for (Iterator<DataValueType> dataValueIterator = currentUserInput
-						.getDataValue().iterator(); dataValueIterator.hasNext();) {
+				for (Iterator<DataTypeValueType> dataValueIterator = currentUserInput
+						.getDataTypeValue().iterator(); dataValueIterator
+						.hasNext();) {
 					currentDataValue = dataValueIterator.next();
 					currentDataProperty = owlKnowledgeBase
 							.getDataProperty(new URI(currentDataValue.getName()));
@@ -176,8 +268,8 @@
 							currentDataValue.getValue());
 				}
 				// transfering all objectvalues
-				for (Iterator<ObjectValueType> objectValueIterator = currentUserInput
-						.getObjectValue().iterator(); objectValueIterator
+				for (Iterator<ObjectTypeValueType> objectValueIterator = currentUserInput
+						.getObjectTypeValue().iterator(); objectValueIterator
 						.hasNext();) {
 					currentObjectValue = objectValueIterator.next();
 					currentObjectValueClass = owlKnowledgeBase
@@ -192,7 +284,7 @@
 								+ currentObjectValueIndividual);
 					}
 					// looping data values of the current object value
-					for (Iterator<DataValueType> objectValueDataValueIterator = currentObjectValue
+					for (Iterator<DataTypeValueType> objectValueDataValueIterator = currentObjectValue
 							.getDataValue().iterator(); objectValueDataValueIterator
 							.hasNext();) {
 						currentObjectValueDataValue = objectValueDataValueIterator
@@ -235,14 +327,22 @@
 	}
 
 	/**
-	 * This message builds a ServiceQueryResponseType instance based on the outputs of the service
-	 * @param messageId the id of the consumer request
-	 * @param outputs the service outputs (effects)
-	 * @param process the process being invoked
-	 * @return the ServiceQueryResponseType containing the effects of the service
+	 * This message builds a ServiceQueryResponseType instance based on the
+	 * outputs of the service
+	 * 
+	 * @param messageId
+	 *            the id of the consumer request
+	 * @param outputs
+	 *            the service outputs (effects)
+	 * @param process
+	 *            the process being invoked
+	 * @return the ServiceQueryResponseType containing the effects of the
+	 *         service
 	 */
-	private ServiceQueryResponseType buildServiceQueryResponseType(String messageId, ValueMap<Output, OWLValue> outputs, Process process){
-		
+	private ServiceQueryResponseType buildServiceQueryResponseType(
+			String messageId, ValueMap<Output, OWLValue> outputs,
+			Process process) {
+
 		OWLIndividualList<Output> processOutputs = process.getOutputs();
 		Output currentOutput = null;
 
@@ -257,28 +357,36 @@
 			ConceptValueType output = ObjectFactory.getInstance()
 					.createConceptValueType();
 			output.setConcept(currentOutput.getURI().toString());
-			output.setDataValue(outputs.getDataValue(
-					currentOutput.getName()).toString());
+			output.setDataValue(outputs.getDataValue(currentOutput.getName())
+					.toString());
 			serviceOutputs.getOutput().add(output);
 		}
 		serviceQueryResponse.setOutputs(serviceOutputs);
-		
+
 		return serviceQueryResponse;
 	}
 
 	/**
-	 * Method marshalling the ServiceQueryResponseType into an XML document to be added to the Message this action returns
-	 * @param serviceQueryResponseType the ServiceQueryResponseType instance to marshal to an XML document
-	 * @param message the message to contain the ServiceQueryResponseType as an XML document
+	 * Method marshalling the ServiceQueryResponseType into an XML document to
+	 * be added to the Message this action returns
+	 * 
+	 * @param serviceQueryResponseType
+	 *            the ServiceQueryResponseType instance to marshal to an XML
+	 *            document
+	 * @param message
+	 *            the message to contain the ServiceQueryResponseType as an XML
+	 *            document
 	 * @return the message to be returned by this action
 	 */
-	private Message buildResponseMessage(ServiceQueryResponseType serviceQueryResponseType, Message message){
+	private Message buildResponseMessage(
+			ServiceQueryResponseType serviceQueryResponseType, Message message) {
 		ByteArrayOutputStream outStream = new ByteArrayOutputStream();
 		try {
 			this.marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT,
 					Boolean.TRUE);
 			this.marshaller.marshal(ObjectFactory.getInstance()
-					.createServiceQueryResponse(serviceQueryResponseType),outStream);
+					.createServiceQueryResponse(serviceQueryResponseType),
+					outStream);
 			message.getBody().add(outStream.toString());
 		} catch (PropertyException e) {
 			// TODO Auto-generated catch block

Deleted: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/actions/selection/AbstractSelectionAction.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/actions/selection/AbstractSelectionAction.java	2010-09-16 20:52:16 UTC (rev 35167)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/actions/selection/AbstractSelectionAction.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -1,25 +0,0 @@
-package org.jboss.soa.esb.services.semantics.actions.selection;
-
-import org.apache.log4j.Logger;
-import org.jboss.soa.esb.message.Message;
-import org.mindswap.owls.service.Service;
-
-public abstract class AbstractSelectionAction implements SelectionAction{
-	/**
-     * The Logger instance for this action
-     */
-    private static Logger logger = Logger.getLogger(AbstractSelectionAction.class);
-
-	public abstract Message select(Message message) throws Exception;
-	
-	protected void printServiceInfo(Service service) {
-		if (logger.isDebugEnabled()){
-			logger.debug("Service metadata : ");
-			logger.debug("-------------------");
-			logger.debug("Service URI: " + service.getURI().toString());
-			logger.debug("Service Name: " + service.getLabel(null));
-			logger.debug("Service Description: " + service.getProfile().getTextDescription());
-		}
-	}
-
-}

Copied: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/actions/selection/AbstractServiceSelectionAction.java (from rev 35107, labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/actions/selection/AbstractSelectionAction.java)
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/actions/selection/AbstractServiceSelectionAction.java	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/actions/selection/AbstractServiceSelectionAction.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -0,0 +1,40 @@
+package org.jboss.soa.esb.services.semantics.actions.selection;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.actions.ActionLifecycleException;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+import org.mindswap.owls.service.Service;
+
+public abstract class AbstractServiceSelectionAction implements
+		ServiceSelectionAction {
+	/**
+	 * The Logger instance for this action
+	 */
+	private static Logger logger = Logger
+			.getLogger(AbstractServiceSelectionAction.class);
+
+	public abstract Message select(Message message) throws Exception;
+
+	protected ConfigTree _config = null;
+
+	/*
+	 * 
+	 */
+	public AbstractServiceSelectionAction(ConfigTree config)
+			throws ActionLifecycleException {
+		_config = config;
+	}
+
+	protected void printServiceInfo(Service service) {
+		if (logger.isDebugEnabled()) {
+			logger.debug("Service metadata : ");
+			logger.debug("-------------------");
+			logger.debug("Service URI: " + service.getURI().toString());
+			logger.debug("Service Name: " + service.getLabel(null));
+			logger.debug("Service Description: "
+					+ service.getProfile().getTextDescription());
+		}
+	}
+
+}

Added: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/actions/selection/AllMatchesServiceSelectionAction.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/actions/selection/AllMatchesServiceSelectionAction.java	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/actions/selection/AllMatchesServiceSelectionAction.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -0,0 +1,53 @@
+package org.jboss.soa.esb.services.semantics.actions.selection;
+
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.actions.ActionLifecycleException;
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.services.semantics.actions.discovery.DiscoveryAction;
+import org.jboss.soa.esb.services.semantics.utils.Constants;
+
+/**
+ * This discoveryAction selects all service out of the services matching the
+ * user query.
+ * 
+ * @author <a href="mailto:johan.kumps at telenet.be">Johan Kumps</a>
+ * 
+ */
+public class AllMatchesServiceSelectionAction extends
+		AbstractServiceSelectionAction {
+	
+	public AllMatchesServiceSelectionAction(ConfigTree config)
+			throws ActionLifecycleException {
+		super(config);
+	}
+
+	/**
+	 * The Logger instance for this action
+	 */
+	private static Logger logger = Logger
+			.getLogger(AllMatchesServiceSelectionAction.class);
+
+	public Message select(Message message) throws ActionProcessingException {
+		List<URI> matchedServices = (List<URI>) message.getBody().get(
+				Constants.DISCOVERED_SERVICE_URIS_MESSAGE_KEY);
+		List<URI> selectedServices = new ArrayList<URI>();
+		if (matchedServices.size() > 0) {
+			selectedServices.addAll(matchedServices);
+			message.getBody().add(Constants.SELECTED_SERVICES_URI_MESSAGE_KEY,
+					selectedServices);
+		} else {
+			logger.error(DiscoveryAction.NO_MATCHING_SERVICES
+					+ "[BUG : Exception should not be encountered here]");
+			throw new ActionProcessingException(
+					DiscoveryAction.NO_MATCHING_SERVICES);
+		}
+		return message;
+	}
+
+}

Deleted: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/actions/selection/FirstMatchSelectionAction.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/actions/selection/FirstMatchSelectionAction.java	2010-09-16 20:52:16 UTC (rev 35167)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/actions/selection/FirstMatchSelectionAction.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -1,48 +0,0 @@
-package org.jboss.soa.esb.services.semantics.actions.selection;
-
-import java.net.URI;
-import java.util.List;
-
-import org.apache.log4j.Logger;
-import org.jboss.soa.esb.actions.ActionProcessingException;
-import org.jboss.soa.esb.helpers.ConfigTree;
-import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.services.semantics.actions.discovery.DiscoveryAction;
-import org.jboss.soa.esb.services.semantics.configuration.OWLKnowledgeBaseManager;
-import org.jboss.soa.esb.services.semantics.utils.Constants;
-
-/**
- * This discoveryAction selects 1 service out of the services matching the user query.
- * 
- * @author <a href="mailto:johan.kumps at telenet.be">Johan Kumps</a>
- *
- */
-public class FirstMatchSelectionAction extends AbstractSelectionAction {
-	
-	/**
-     * The Logger instance for this action
-     */
-    private static Logger logger = Logger.getLogger(FirstMatchSelectionAction.class);
-    
-	protected ConfigTree _config = null;
-	
-	public FirstMatchSelectionAction(ConfigTree config) {
-		_config = config;
-	}
-
-	public Message select(Message message) throws ActionProcessingException {
-		List<URI> matchedServices = (List<URI>) message.getBody().get(Constants.DISCOVERED_SERVICE_URIS_MESSAGE_KEY);
-		if (matchedServices.size() > 0){
-			if(logger.isDebugEnabled()) {
-	            this.printServiceInfo(OWLKnowledgeBaseManager
-	    				.getInstance().getOwlKnowledgeBase().getService(matchedServices.get(0)));
-	        } 
-			message.getBody().add(Constants.SELECTED_SERVICE_URI_MESSAGE_KEY, matchedServices.get(0));
-		} else {
-			logger.error(DiscoveryAction.NO_MATCHING_SERVICES + "[BUG : Exception should not be encountered here]");
-			throw new ActionProcessingException(DiscoveryAction.NO_MATCHING_SERVICES);
-		}
-		return message;
-	}
-
-}

Deleted: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/actions/selection/RandomMatchSelectionAction.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/actions/selection/RandomMatchSelectionAction.java	2010-09-16 20:52:16 UTC (rev 35167)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/actions/selection/RandomMatchSelectionAction.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -1,61 +0,0 @@
-package org.jboss.soa.esb.services.semantics.actions.selection;
-
-import java.net.URI;
-import java.util.List;
-import java.util.Random;
-
-import org.apache.log4j.Logger;
-import org.jboss.soa.esb.actions.ActionLifecycleException;
-import org.jboss.soa.esb.actions.ActionProcessingException;
-import org.jboss.soa.esb.helpers.ConfigTree;
-import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.services.semantics.actions.discovery.DiscoveryAction;
-import org.jboss.soa.esb.services.semantics.utils.Constants;
-
-/**
- * This discoveryAction selects 1 service out of the services matching the user query randomly.
- * 
- * @author <a href="mailto:johan.kumps at telenet.be">Johan Kumps</a>
- *
- */
-public class RandomMatchSelectionAction implements SelectionAction {
-	
-	/**
-     * The Logger instance for this action
-     */
-    private static Logger logger = Logger.getLogger(RandomMatchSelectionAction.class);
-    
-    private Random generator = null;
-    
-	protected ConfigTree _config = null;
-	
-	public RandomMatchSelectionAction(ConfigTree config) {
-		_config = config;
-	}
-    
-	/**
-	 * Initializes the RandomMatchSelectionAction.
-	 * 
-	 * @throws ActionLifecycleException in case somthing goes wrong during initialization.
-	 */
-	public void initialize() throws ActionLifecycleException{
-		this.generator = new Random();
-	}
-
-	public Message select(Message message) throws ActionProcessingException {
-		List<URI> matchedServices = (List<URI>) message.getBody().get(Constants.DISCOVERED_SERVICE_URIS_MESSAGE_KEY);
-		URI selectedServiceURI = null;
-		if (matchedServices.size() > 0){
-			selectedServiceURI = matchedServices.get(generator.nextInt(matchedServices.size()));
-			if(logger.isDebugEnabled()) {
-	            logger.debug("Selected service: [" + selectedServiceURI + "].");
-	        } 
-			message.getBody().add(Constants.SELECTED_SERVICE_URI_MESSAGE_KEY, selectedServiceURI);
-		} else {
-			logger.error(DiscoveryAction.NO_MATCHING_SERVICES + "[BUG : Exception should not be encountered here]");
-			throw new ActionProcessingException(DiscoveryAction.NO_MATCHING_SERVICES);
-		}
-		return message;
-	}
-
-}

Deleted: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/actions/selection/SelectionAction.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/actions/selection/SelectionAction.java	2010-09-16 20:52:16 UTC (rev 35167)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/actions/selection/SelectionAction.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -1,14 +0,0 @@
-package org.jboss.soa.esb.services.semantics.actions.selection;
-
-import org.jboss.soa.esb.message.Message;
-
-public interface SelectionAction {
-
-	/**
-	 * Method discovering services based on the given service query. 
-	 * Only one service will be returned to be automatically invoked.
-	 * @return the found service based on the given query.
-	 */
-	public Message select(Message message) throws Exception;
-
-}

Copied: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/actions/selection/ServiceSelectionAction.java (from rev 35107, labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/actions/selection/SelectionAction.java)
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/actions/selection/ServiceSelectionAction.java	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/actions/selection/ServiceSelectionAction.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -0,0 +1,15 @@
+package org.jboss.soa.esb.services.semantics.actions.selection;
+
+import org.jboss.soa.esb.message.Message;
+
+public interface ServiceSelectionAction {
+
+	/**
+	 * Method discovering services based on the given service query. Only one
+	 * service will be returned to be automatically invoked.
+	 * 
+	 * @return the found service based on the given query.
+	 */
+	public Message select(Message message) throws Exception;
+
+}

Modified: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/OWLKnowledgeBaseManager.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/OWLKnowledgeBaseManager.java	2010-09-16 20:52:16 UTC (rev 35167)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/OWLKnowledgeBaseManager.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -7,45 +7,51 @@
 import org.mindswap.owl.OWLFactory;
 import org.mindswap.owl.OWLKnowledgeBase;
 
-public class OWLKnowledgeBaseManager{
-	
+public class OWLKnowledgeBaseManager {
+
 	private static OWLKnowledgeBaseManager instance = null;
-	
+
 	private OWLKnowledgeBase owlKnowledgeBase = null;
-	
-	private OWLKnowledgeBaseManager(){
+
+	private OWLKnowledgeBaseManager() {
 		this.init();
 	}
-	
-	public static OWLKnowledgeBaseManager getInstance(){
-		if (instance == null){
+
+	public static OWLKnowledgeBaseManager getInstance() {
+		if (instance == null) {
 			instance = new OWLKnowledgeBaseManager();
 		}
 		return instance;
 	}
-	
-	public OWLKnowledgeBase getOwlKnowledgeBase(){
+
+	public OWLKnowledgeBase getOwlKnowledgeBase() {
 		return this.owlKnowledgeBase;
 	}
-	
-	private void init(){
+
+	private void init() {
 		this.owlKnowledgeBase = OWLFactory.createKB();
 		this.owlKnowledgeBase.setReasoner("Pellet");
-		
-		//Load default service ontologies
+
+		/*// Load default service ontologies
 		try {
-//			this.owlKnowledgeBase.read(new URI("C:/projecten/JBossESB/ssoa/owls-api-3.0/getMessage.owl"));
-			this.owlKnowledgeBase.read(new URI("file://C:/projecten/JBossESB/ssoa/owls-api-3.0/getGreeting-Simulated.owl"));
-			this.owlKnowledgeBase.read(new URI("file://C:/projecten/JBossESB/ssoa/owls-api-3.0/GetWeather2-Simulated.owl"));
+			this.owlKnowledgeBase
+					.read(new URI(
+							"file://C:/projecten/JBossESB/ssoa/owls-api-3.0/getGreeting-Simulated.owl"));
+			this.owlKnowledgeBase
+					.read(new URI(
+							"file://C:/projecten/JBossESB/ssoa/owls-api-3.0/BookFinder.owl"));
+			this.owlKnowledgeBase
+					.read(new URI(
+							"file://C:/projecten/JBossESB/ssoa/owls-api-3.0/GetWeather2-Simulated.owl"));
+			// this.owlKnowledgeBase.read(new
+			// URI("file://C:/projecten/JBossESB/ssoa/owls-api-3.0/GetWeather2.owl"));
 		} catch (IOException e) {
 			// TODO Auto-generated catch block
 			e.printStackTrace();
 		} catch (URISyntaxException e) {
 			// TODO Auto-generated catch block
 			e.printStackTrace();
-		}
+		}*/
 	}
-	
-	
 
 }

Modified: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/OwlServiceRegistryServiceMBean.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/OwlServiceRegistryServiceMBean.java	2010-09-16 20:52:16 UTC (rev 35167)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/OwlServiceRegistryServiceMBean.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -28,6 +28,5 @@
  * 
  * @author <a href="mailto:johan.kumps at telenet.be">Johan Kumps</a>
  */
-public interface OwlServiceRegistryServiceMBean extends ServiceMBean
-{
+public interface OwlServiceRegistryServiceMBean extends ServiceMBean {
 }

Added: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/actions/OWLKnowledgeBaseManagementAction.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/actions/OWLKnowledgeBaseManagementAction.java	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/actions/OWLKnowledgeBaseManagementAction.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -0,0 +1,502 @@
+package org.jboss.soa.esb.services.semantics.configuration.actions;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.StringReader;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Marshaller;
+import javax.xml.bind.PropertyException;
+import javax.xml.bind.Unmarshaller;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.actions.ActionLifecycle;
+import org.jboss.soa.esb.actions.ActionLifecycleException;
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.services.semantics.actions.discovery.DiscoveryAction;
+import org.jboss.soa.esb.services.semantics.configuration.OWLKnowledgeBaseManager;
+import org.jboss.soa.esb.services.semantics.configuration.model.IsRegisteredRequestType;
+import org.jboss.soa.esb.services.semantics.configuration.model.IsRegisteredResponseType;
+import org.jboss.soa.esb.services.semantics.configuration.model.ListRegisteredRequestType;
+import org.jboss.soa.esb.services.semantics.configuration.model.ListRegisteredResponseType;
+import org.jboss.soa.esb.services.semantics.configuration.model.ManagementRequestType;
+import org.jboss.soa.esb.services.semantics.configuration.model.ManagementResponseType;
+import org.jboss.soa.esb.services.semantics.configuration.model.ObjectFactory;
+import org.jboss.soa.esb.services.semantics.configuration.model.RegistrationRequestType;
+import org.jboss.soa.esb.services.semantics.configuration.model.RegistrationResponseType;
+import org.jboss.soa.esb.services.semantics.configuration.model.ServiceMetatDataType;
+import org.jboss.soa.esb.services.semantics.configuration.model.UnRegistrationRequestType;
+import org.jboss.soa.esb.services.semantics.configuration.model.UnRegistrationResponseType;
+import org.jboss.soa.esb.services.semantics.model.ServiceQueryResponseType;
+import org.jboss.soa.esb.services.semantics.utils.Constants;
+import org.mindswap.owl.OWLFactory;
+import org.mindswap.owl.OWLIndividual;
+import org.mindswap.owl.OWLIndividualList;
+import org.mindswap.owl.OWLKnowledgeBase;
+import org.mindswap.owls.service.Service;
+import org.xml.sax.InputSource;
+
+/**
+ * This discoveryAction selects all service out of the services matching the
+ * user query.
+ * 
+ * @author <a href="mailto:johan.kumps at telenet.be">Johan Kumps</a>
+ * 
+ */
+public class OWLKnowledgeBaseManagementAction implements ActionLifecycle {
+
+	private JAXBContext jaxbContext = null;
+	private Unmarshaller unmarshaller = null;
+	private Marshaller marshaller = null;
+
+	public OWLKnowledgeBaseManagementAction(ConfigTree config)
+			throws ActionLifecycleException {
+		try {
+			jaxbContext = JAXBContext
+					.newInstance(Constants.SEMANTIC_CONFIGURATION_MODEL_PACKAGE);
+			unmarshaller = jaxbContext.createUnmarshaller();
+			marshaller = jaxbContext.createMarshaller();
+		} catch (JAXBException e) {
+			logger.error(e.getMessage());
+			throw new ActionLifecycleException(e);
+		}
+	}
+
+	/**
+	 * The Logger instance for this action
+	 */
+	private static Logger logger = Logger
+			.getLogger(OWLKnowledgeBaseManagementAction.class);
+
+	public Message register(Message message) throws ActionProcessingException {
+		if (logger.isDebugEnabled()) {
+			this.logger.debug("register called");
+		}
+		OWLKnowledgeBase owlKnowledgeBase = OWLKnowledgeBaseManager
+				.getInstance().getOwlKnowledgeBase();
+		if (logger.isDebugEnabled()) {
+			logger.debug("Message received: [" + message + "].");
+		}
+		RegistrationRequestType registrationRequestType = this
+				.parseRegisterRequestType(message);
+
+		RegistrationResponseType registrationResponseType = ObjectFactory
+				.getInstance().createRegistrationResponseType();
+		if (registrationRequestType.getServiceURI() != null) {
+			try {
+				owlKnowledgeBase.read(URI.create(registrationRequestType
+						.getServiceURI()));
+				registrationResponseType.setMessage("Registration of service "
+						+ registrationRequestType.getServiceURI()
+						+ " finished successfully.");
+			} catch (IOException e) {
+				logger.error(e.getMessage());
+				registrationResponseType.setMessage(e.getMessage());
+				throw new ActionProcessingException(e);
+			}
+		}
+		return this.buildResponseMessage(registrationResponseType, message);
+	}
+
+	public Message unRegister(Message message) throws ActionProcessingException {
+		if (logger.isDebugEnabled()) {
+			this.logger.debug("unregister called");
+		}
+		OWLKnowledgeBase owlKnowledgeBase = OWLKnowledgeBaseManager
+				.getInstance().getOwlKnowledgeBase();
+		if (logger.isDebugEnabled()) {
+			logger.debug("Message received: [" + message + "].");
+		}
+		UnRegistrationRequestType unRegistrationRequestType = this
+				.parseUnRegistrationRequestType(message);
+
+		UnRegistrationResponseType unRegistrationResponseType = ObjectFactory
+				.getInstance().createUnRegistrationResponseType();
+		if (unRegistrationRequestType.getServiceURI() != null) {
+			//OWLKnowledgeBase tempOwlKnowledgeBase = OWLFactory.createKB();
+			//try {
+				//tempOwlKnowledgeBase.read(URI.create(unRegistrationRequestType
+					//	.getServiceURI()));
+//				OWLIndividualList<Service> services = tempOwlKnowledgeBase.getServices(false);
+//				Iterator<Service> iter = services.iterator();
+//				Service currentService = null;
+//				while (iter.hasNext()){
+//					currentService = iter.next();
+//					owlKnowledgeBase.unload(currentService.getURI());
+//				}
+				owlKnowledgeBase.unload(URI.create(unRegistrationRequestType.getServiceURI()));
+				unRegistrationResponseType.setMessage("UnRegistration of service "
+						+ unRegistrationRequestType.getServiceURI()
+						+ " finished successfully.");
+//			} catch (IOException e) {
+//				logger.error(e.getMessage());
+//				unRegistrationResponseType.setMessage("UnRegistration of service "
+//						+ unRegistrationRequestType.getServiceURI()
+//						+ " failed.");
+//				throw new ActionProcessingException(e);
+//			}
+			
+		}
+		return this.buildResponseMessage(unRegistrationResponseType, message);
+	}
+
+	public Message isRegistered(Message message)
+			throws ActionProcessingException {
+		if (logger.isDebugEnabled()) {
+			this.logger.debug("isRegistered called");
+		}
+		OWLKnowledgeBase tempOwlKnowledgeBase = OWLFactory.createKB();
+		OWLKnowledgeBase owlKnowledgeBase = OWLKnowledgeBaseManager
+				.getInstance().getOwlKnowledgeBase();
+		if (logger.isDebugEnabled()) {
+			logger.debug("Message received: [" + message + "].");
+		}
+		IsRegisteredRequestType isRegisteredRequestType = this
+				.parseIsRegisteredRequestType(message);
+		
+		IsRegisteredResponseType isRegisteredResponseType = ObjectFactory
+				.getInstance().createIsRegisteredResponseType();
+		if (isRegisteredRequestType.getServiceURI() != null) {
+			try {
+				tempOwlKnowledgeBase.read(URI.create(isRegisteredRequestType
+						.getServiceURI()));
+				OWLIndividualList<Service> services = tempOwlKnowledgeBase.getServices(false);
+				boolean result = false;
+				Iterator<Service> iter = services.iterator();
+				Service currentService = null;
+				while (iter.hasNext()){
+					currentService = iter.next();
+					result = owlKnowledgeBase.getService(currentService.getURI()) != null;
+				}
+				
+				isRegisteredResponseType.setRegistered(result);
+			} catch (IOException e) {
+				logger.error(e.getMessage());
+				isRegisteredResponseType.setRegistered(false);
+				throw new ActionProcessingException(e);
+			}
+		}
+		return this.buildResponseMessage(isRegisteredResponseType, message);
+	}
+
+	public Message listRegistered(Message message) throws ActionProcessingException{
+		if (logger.isDebugEnabled()) {
+			this.logger.debug("listRegistered called");
+		}
+		OWLKnowledgeBase owlKnowledgeBase = OWLKnowledgeBaseManager
+				.getInstance().getOwlKnowledgeBase();
+		if (logger.isDebugEnabled()) {
+			logger.debug("Message received: [" + message + "].");
+		}
+		ListRegisteredRequestType listRegisteredRequestType = this
+				.parseListRegisteredRequestType(message);
+		
+		List<Service> registeredServices = owlKnowledgeBase.getServices(false);
+		Service currentService = null;
+		ListRegisteredResponseType listRegisteredResponseType = ObjectFactory
+			.getInstance().createListRegisteredResponseType();
+		
+		for (Iterator<Service> iter = registeredServices.iterator(); iter.hasNext();){
+			currentService = iter.next();
+			ServiceMetatDataType currentMetatDataType = new ServiceMetatDataType();
+			currentMetatDataType.setUri(currentService.getURI().toString());
+			currentMetatDataType.setName(currentService.getName());
+			currentMetatDataType.setDescription(currentService.getProfile().getTextDescription());
+			listRegisteredResponseType.getServices().getService().add(currentMetatDataType);
+		}
+
+		return this.buildResponseMessage(listRegisteredResponseType, message);
+	}
+	
+	public void destroy() throws ActionLifecycleException {
+		// TODO Auto-generated method stub
+
+	}
+
+	public void initialise() throws ActionLifecycleException {
+		// TODO Auto-generated method stub
+
+	}
+
+	/**
+	 * Method extracting a ServiceQueryRequestType instance out of the given
+	 * Message
+	 * 
+	 * @param message
+	 *            the Message instance to use to extract a
+	 *            ServiceQueryRequestType instance
+	 * @return the extracted ServiceQueryRequestType instance
+	 * @throws JAXBException
+	 */
+	private RegistrationRequestType parseRegisterRequestType(Message message)
+			throws ActionProcessingException {
+		final String request = (String) message.getBody().get();
+
+		InputSource requestInputSource = new InputSource(new StringReader(
+				request));
+
+		try {
+			ManagementRequestType managementRequestType = (ManagementRequestType) ((JAXBElement) this.unmarshaller
+					.unmarshal(requestInputSource)).getValue();
+			RegistrationRequestType registrationRequestType = managementRequestType
+					.getRegistrationCommand();
+			if (logger.isDebugEnabled()) {
+				logger.debug("Parsed RegistrationRequestType: ["
+						+ registrationRequestType + "].");
+			}
+			return registrationRequestType;
+		} catch (JAXBException e) {
+			logger.error(e.getMessage());
+			throw new ActionProcessingException(e);
+		}
+
+	}
+	
+	/**
+	 * Method extracting a ServiceQueryRequestType instance out of the given
+	 * Message
+	 * 
+	 * @param message
+	 *            the Message instance to use to extract a
+	 *            ServiceQueryRequestType instance
+	 * @return the extracted ServiceQueryRequestType instance
+	 * @throws JAXBException
+	 */
+	private ListRegisteredRequestType parseListRegisteredRequestType(Message message)
+			throws ActionProcessingException {
+		final String request = (String) message.getBody().get();
+
+		InputSource requestInputSource = new InputSource(new StringReader(
+				request));
+
+		try {
+			ManagementRequestType managementRequestType = (ManagementRequestType) ((JAXBElement) this.unmarshaller
+					.unmarshal(requestInputSource)).getValue();
+			ListRegisteredRequestType listRegisteredRequestType = managementRequestType
+					.getListRegisteredCommand();
+			if (logger.isDebugEnabled()) {
+				logger.debug("Parsed ListRegisteredRequestType: ["
+						+ listRegisteredRequestType + "].");
+			}
+			return listRegisteredRequestType;
+		} catch (JAXBException e) {
+			logger.error(e.getMessage());
+			throw new ActionProcessingException(e);
+		}
+
+	}
+
+	/**
+	 * Method extracting a ServiceQueryRequestType instance out of the given
+	 * Message
+	 * 
+	 * @param message
+	 *            the Message instance to use to extract a
+	 *            ServiceQueryRequestType instance
+	 * @return the extracted ServiceQueryRequestType instance
+	 * @throws JAXBException
+	 */
+	private UnRegistrationRequestType parseUnRegistrationRequestType(
+			Message message) throws ActionProcessingException {
+		final String request = (String) message.getBody().get();
+
+		InputSource requestInputSource = new InputSource(new StringReader(
+				request));
+
+		try {
+			ManagementRequestType managementRequestType = (ManagementRequestType) ((JAXBElement) this.unmarshaller
+					.unmarshal(requestInputSource)).getValue();
+			UnRegistrationRequestType unRegistrationRequestType = managementRequestType
+					.getUnRegistrationCommand();
+			if (logger.isDebugEnabled()) {
+				logger.debug("Parsed UnRegistrationRequestType: ["
+						+ unRegistrationRequestType + "].");
+			}
+			return unRegistrationRequestType;
+		} catch (JAXBException e) {
+			logger.error(e.getMessage());
+			throw new ActionProcessingException(e);
+		}
+
+	}
+	
+	/**
+	 * Method extracting a ServiceQueryRequestType instance out of the given
+	 * Message
+	 * 
+	 * @param message
+	 *            the Message instance to use to extract a
+	 *            ServiceQueryRequestType instance
+	 * @return the extracted ServiceQueryRequestType instance
+	 * @throws JAXBException
+	 */
+	private IsRegisteredRequestType parseIsRegisteredRequestType(
+			Message message) throws ActionProcessingException {
+		final String request = (String) message.getBody().get();
+
+		InputSource requestInputSource = new InputSource(new StringReader(
+				request));
+
+		try {
+			ManagementRequestType managementRequestType = (ManagementRequestType) ((JAXBElement) this.unmarshaller
+					.unmarshal(requestInputSource)).getValue();
+			IsRegisteredRequestType isRegisteredRequestType = managementRequestType.getIsRegisteredCommand();
+			if (logger.isDebugEnabled()) {
+				logger.debug("Parsed IsRegisteredRequestType: ["
+						+ isRegisteredRequestType + "].");
+			}
+			return isRegisteredRequestType;
+		} catch (JAXBException e) {
+			logger.error(e.getMessage());
+			throw new ActionProcessingException(e);
+		}
+
+	}
+
+	/**
+	 * Method marshalling the ServiceQueryResponseType into an XML document to
+	 * be added to the Message this action returns
+	 * 
+	 * @param serviceQueryResponseType
+	 *            the ServiceQueryResponseType instance to marshal to an XML
+	 *            document
+	 * @param message
+	 *            the message to contain the ServiceQueryResponseType as an XML
+	 *            document
+	 * @return the message to be returned by this action
+	 */
+	private Message buildResponseMessage(
+			RegistrationResponseType registrationResponseType, Message message) {
+		ByteArrayOutputStream outStream = new ByteArrayOutputStream();
+		try {
+			this.marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT,
+					Boolean.TRUE);
+			ManagementResponseType managementResponseType = ObjectFactory
+					.getInstance().createManagementResponseType();
+			managementResponseType
+					.setRegistrationCommand(registrationResponseType);
+			this.marshaller.marshal(managementResponseType, outStream);
+			message.getBody().add(outStream.toString());
+		} catch (PropertyException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		} catch (JAXBException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+		return message;
+	}
+
+	/**
+	 * Method marshalling the ServiceQueryResponseType into an XML document to
+	 * be added to the Message this action returns
+	 * 
+	 * @param serviceQueryResponseType
+	 *            the ServiceQueryResponseType instance to marshal to an XML
+	 *            document
+	 * @param message
+	 *            the message to contain the ServiceQueryResponseType as an XML
+	 *            document
+	 * @return the message to be returned by this action
+	 */
+	private Message buildResponseMessage(
+			UnRegistrationResponseType unRegistrationResponseType,
+			Message message) {
+		ByteArrayOutputStream outStream = new ByteArrayOutputStream();
+		try {
+			this.marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT,
+					Boolean.TRUE);
+			ManagementResponseType managementResponseType = ObjectFactory
+					.getInstance().createManagementResponseType();
+			managementResponseType
+					.setUnRegistrationCommand(unRegistrationResponseType);
+			this.marshaller.marshal(managementResponseType, outStream);
+			message.getBody().add(outStream.toString());
+		} catch (PropertyException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		} catch (JAXBException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+		return message;
+	}
+	
+	/**
+	 * Method marshalling the ServiceQueryResponseType into an XML document to
+	 * be added to the Message this action returns
+	 * 
+	 * @param serviceQueryResponseType
+	 *            the ServiceQueryResponseType instance to marshal to an XML
+	 *            document
+	 * @param message
+	 *            the message to contain the ServiceQueryResponseType as an XML
+	 *            document
+	 * @return the message to be returned by this action
+	 */
+	private Message buildResponseMessage(
+			ListRegisteredResponseType listRegisteredResponseType,
+			Message message) {
+		ByteArrayOutputStream outStream = new ByteArrayOutputStream();
+		try {
+			this.marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT,
+					Boolean.TRUE);
+			ManagementResponseType managementResponseType = ObjectFactory
+					.getInstance().createManagementResponseType();
+			managementResponseType
+					.setListRegisteredCommand(listRegisteredResponseType);
+			this.marshaller.marshal(managementResponseType, outStream);
+			message.getBody().add(outStream.toString());
+		} catch (PropertyException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		} catch (JAXBException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+		return message;
+	}
+	
+	/**
+	 * Method marshalling the ServiceQueryResponseType into an XML document to
+	 * be added to the Message this action returns
+	 * 
+	 * @param serviceQueryResponseType
+	 *            the ServiceQueryResponseType instance to marshal to an XML
+	 *            document
+	 * @param message
+	 *            the message to contain the ServiceQueryResponseType as an XML
+	 *            document
+	 * @return the message to be returned by this action
+	 */
+	private Message buildResponseMessage(
+			IsRegisteredResponseType isRegisteredResponseType,
+			Message message) {
+		ByteArrayOutputStream outStream = new ByteArrayOutputStream();
+		try {
+			this.marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT,
+					Boolean.TRUE);
+			ManagementResponseType managementResponseType = ObjectFactory
+					.getInstance().createManagementResponseType();
+			managementResponseType
+					.setIsRegisteredCommand(isRegisteredResponseType);
+			this.marshaller.marshal(managementResponseType, outStream);
+			message.getBody().add(outStream.toString());
+		} catch (PropertyException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		} catch (JAXBException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+		return message;
+	}
+}

Added: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/BaseCommandResponseType.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/BaseCommandResponseType.java	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/BaseCommandResponseType.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -0,0 +1,64 @@
+
+package org.jboss.soa.esb.services.semantics.configuration.model;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for BaseCommandResponseType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="BaseCommandResponseType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="serviceURI" type="{http://www.w3.org/2001/XMLSchema}anyURI"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "BaseCommandResponseType", propOrder = {
+    "serviceURI"
+})
+public class BaseCommandResponseType {
+
+    @XmlElement(required = true)
+    @XmlSchemaType(name = "anyURI")
+    protected String serviceURI;
+
+    /**
+     * Gets the value of the serviceURI property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getServiceURI() {
+        return serviceURI;
+    }
+
+    /**
+     * Sets the value of the serviceURI property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setServiceURI(String value) {
+        this.serviceURI = value;
+    }
+
+}

Added: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/BaseCommandType.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/BaseCommandType.java	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/BaseCommandType.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -0,0 +1,64 @@
+
+package org.jboss.soa.esb.services.semantics.configuration.model;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for BaseCommandType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="BaseCommandType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="serviceURI" type="{http://www.w3.org/2001/XMLSchema}anyURI"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "BaseCommandType", propOrder = {
+    "serviceURI"
+})
+public class BaseCommandType {
+
+    @XmlElement(required = true)
+    @XmlSchemaType(name = "anyURI")
+    protected String serviceURI;
+
+    /**
+     * Gets the value of the serviceURI property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getServiceURI() {
+        return serviceURI;
+    }
+
+    /**
+     * Sets the value of the serviceURI property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setServiceURI(String value) {
+        this.serviceURI = value;
+    }
+
+}

Added: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/IsRegisteredRequestType.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/IsRegisteredRequestType.java	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/IsRegisteredRequestType.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -0,0 +1,64 @@
+
+package org.jboss.soa.esb.services.semantics.configuration.model;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for IsRegisteredRequestType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="IsRegisteredRequestType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="serviceURI" type="{http://www.w3.org/2001/XMLSchema}anyURI"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "IsRegisteredRequestType", propOrder = {
+    "serviceURI"
+})
+public class IsRegisteredRequestType {
+
+    @XmlElement(required = true)
+    @XmlSchemaType(name = "anyURI")
+    protected String serviceURI;
+
+    /**
+     * Gets the value of the serviceURI property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getServiceURI() {
+        return serviceURI;
+    }
+
+    /**
+     * Sets the value of the serviceURI property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setServiceURI(String value) {
+        this.serviceURI = value;
+    }
+
+}

Added: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/IsRegisteredResponseType.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/IsRegisteredResponseType.java	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/IsRegisteredResponseType.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -0,0 +1,52 @@
+
+package org.jboss.soa.esb.services.semantics.configuration.model;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for IsRegisteredResponseType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="IsRegisteredResponseType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="registered" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "IsRegisteredResponseType", propOrder = {
+    "registered"
+})
+public class IsRegisteredResponseType {
+
+    protected boolean registered;
+
+    /**
+     * Gets the value of the registered property.
+     * 
+     */
+    public boolean isRegistered() {
+        return registered;
+    }
+
+    /**
+     * Sets the value of the registered property.
+     * 
+     */
+    public void setRegistered(boolean value) {
+        this.registered = value;
+    }
+
+}

Added: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/ListRegisteredRequestType.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/ListRegisteredRequestType.java	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/ListRegisteredRequestType.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -0,0 +1,32 @@
+
+package org.jboss.soa.esb.services.semantics.configuration.model;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for ListRegisteredRequestType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="ListRegisteredRequestType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "ListRegisteredRequestType")
+public class ListRegisteredRequestType {
+
+
+}

Added: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/ListRegisteredResponseType.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/ListRegisteredResponseType.java	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/ListRegisteredResponseType.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -0,0 +1,134 @@
+
+package org.jboss.soa.esb.services.semantics.configuration.model;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for ListRegisteredResponseType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="ListRegisteredResponseType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="services">
+ *           &lt;complexType>
+ *             &lt;complexContent>
+ *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *                 &lt;sequence>
+ *                   &lt;element name="service" type="{http://jboss.org/soa/esb/services/semantics/configuration/model}ServiceMetatDataType" maxOccurs="unbounded"/>
+ *                 &lt;/sequence>
+ *               &lt;/restriction>
+ *             &lt;/complexContent>
+ *           &lt;/complexType>
+ *         &lt;/element>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "ListRegisteredResponseType", propOrder = {
+    "services"
+})
+public class ListRegisteredResponseType {
+
+    @XmlElement(required = true)
+    protected ListRegisteredResponseType.Services services = new ListRegisteredResponseType.Services();
+
+    /**
+     * Gets the value of the services property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link ListRegisteredResponseType.Services }
+     *     
+     */
+    public ListRegisteredResponseType.Services getServices() {
+        return services;
+    }
+
+    /**
+     * Sets the value of the services property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link ListRegisteredResponseType.Services }
+     *     
+     */
+    public void setServices(ListRegisteredResponseType.Services value) {
+        this.services = value;
+    }
+
+
+    /**
+     * <p>Java class for anonymous complex type.
+     * 
+     * <p>The following schema fragment specifies the expected content contained within this class.
+     * 
+     * <pre>
+     * &lt;complexType>
+     *   &lt;complexContent>
+     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *       &lt;sequence>
+     *         &lt;element name="service" type="{http://jboss.org/soa/esb/services/semantics/configuration/model}ServiceMetatDataType" maxOccurs="unbounded"/>
+     *       &lt;/sequence>
+     *     &lt;/restriction>
+     *   &lt;/complexContent>
+     * &lt;/complexType>
+     * </pre>
+     * 
+     * 
+     */
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "", propOrder = {
+        "service"
+    })
+    public static class Services {
+
+        @XmlElement(required = true)
+        protected List<ServiceMetatDataType> service = new ArrayList<ServiceMetatDataType>();
+
+        /**
+         * Gets the value of the service property.
+         * 
+         * <p>
+         * This accessor method returns a reference to the live list,
+         * not a snapshot. Therefore any modification you make to the
+         * returned list will be present inside the JAXB object.
+         * This is why there is not a <CODE>set</CODE> method for the service property.
+         * 
+         * <p>
+         * For example, to add a new item, do as follows:
+         * <pre>
+         *    getService().add(newItem);
+         * </pre>
+         * 
+         * 
+         * <p>
+         * Objects of the following type(s) are allowed in the list
+         * {@link ServiceMetatDataType }
+         * 
+         * 
+         */
+        public List<ServiceMetatDataType> getService() {
+            if (service == null) {
+                service = new ArrayList<ServiceMetatDataType>();
+            }
+            return this.service;
+        }
+
+    }
+
+}

Added: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/ManagementRequestType.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/ManagementRequestType.java	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/ManagementRequestType.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -0,0 +1,143 @@
+
+package org.jboss.soa.esb.services.semantics.configuration.model;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for ManagementRequestType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="ManagementRequestType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;choice>
+ *           &lt;element name="registrationCommand" type="{http://jboss.org/soa/esb/services/semantics/configuration/model}RegistrationRequestType"/>
+ *           &lt;element name="unregistrationCommand" type="{http://jboss.org/soa/esb/services/semantics/configuration/model}UnRegistrationRequestType"/>
+ *           &lt;element name="isRegisteredCommand" type="{http://jboss.org/soa/esb/services/semantics/configuration/model}IsRegisteredRequestType"/>
+ *           &lt;element name="listRegisteredCommand" type="{http://jboss.org/soa/esb/services/semantics/configuration/model}ListRegisteredRequestType"/>
+ *         &lt;/choice>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "ManagementRequestType", propOrder = {
+    "registrationCommand",
+    "unRegistrationCommand",
+    "isRegisteredCommand",
+    "listRegisteredCommand"
+})
+public class ManagementRequestType {
+
+    protected RegistrationRequestType registrationCommand;
+    protected UnRegistrationRequestType unRegistrationCommand;
+    protected IsRegisteredRequestType isRegisteredCommand;
+	protected ListRegisteredRequestType listRegisteredCommand;
+
+    /**
+     * Gets the value of the registrationCommand property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link RegistrationRequestType }
+     *     
+     */
+    public RegistrationRequestType getRegistrationCommand() {
+        return registrationCommand;
+    }
+
+    /**
+     * Sets the value of the registrationCommand property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link RegistrationRequestType }
+     *     
+     */
+    public void setRegistrationCommand(RegistrationRequestType value) {
+        this.registrationCommand = value;
+    }
+
+    /**
+     * Gets the value of the unregistrationCommand property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link UnRegistrationRequestType }
+     *     
+     */
+    public UnRegistrationRequestType getUnRegistrationCommand() {
+        return unRegistrationCommand;
+    }
+
+    /**
+     * Sets the value of the unregistrationCommand property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link UnRegistrationRequestType }
+     *     
+     */
+    public void setUnregistrationCommand(UnRegistrationRequestType value) {
+        this.unRegistrationCommand = value;
+    }
+
+    /**
+     * Gets the value of the isRegisteredCommand property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link IsRegisteredRequestType }
+     *     
+     */
+    public IsRegisteredRequestType getIsRegisteredCommand() {
+        return isRegisteredCommand;
+    }
+
+    /**
+     * Sets the value of the isRegisteredCommand property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link IsRegisteredRequestType }
+     *     
+     */
+    public void setIsRegisteredCommand(IsRegisteredRequestType value) {
+        this.isRegisteredCommand = value;
+    }
+ 
+	/**
+     * Gets the value of the listRegisteredCommand property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link ListRegisteredRequestType }
+     *     
+     */
+    public ListRegisteredRequestType getListRegisteredCommand() {
+        return listRegisteredCommand;
+    }
+
+    /**
+     * Sets the value of the listRegisteredCommand property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link ListRegisteredRequestType }
+     *     
+     */
+    public void setListRegisteredCommand(ListRegisteredRequestType value) {
+        this.listRegisteredCommand = value;
+    }
+
+}

Added: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/ManagementResponseType.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/ManagementResponseType.java	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/ManagementResponseType.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -0,0 +1,109 @@
+
+package org.jboss.soa.esb.services.semantics.configuration.model;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for ManagementResponseType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="ManagementResponseType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="registrationCommand" type="{http://jboss.org/soa/esb/services/semantics/configuration/model}RegistrationResponseType"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "ManagementResponseType", propOrder = {
+	    "registrationCommand",
+	    "unRegistrationCommand",
+	    "isRegisteredCommand",
+		"listRegisteredCommand"
+})
+ at XmlRootElement
+public class ManagementResponseType {
+
+    
+    protected RegistrationResponseType registrationCommand;
+    protected UnRegistrationResponseType unRegistrationCommand;
+    protected IsRegisteredResponseType isRegisteredCommand;
+	protected ListRegisteredResponseType listRegisteredCommand;
+
+    /**
+     * Gets the value of the registrationCommand property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link RegistrationResponseType }
+     *     
+     */
+    public RegistrationResponseType getRegistrationCommand() {
+        return registrationCommand;
+    }
+
+    /**
+     * Sets the value of the registrationCommand property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link RegistrationResponseType }
+     *     
+     */
+    public void setRegistrationCommand(RegistrationResponseType value) {
+        this.registrationCommand = value;
+    }
+
+	public UnRegistrationResponseType getUnRegistrationCommand() {
+		return unRegistrationCommand;
+	}
+
+	public void setUnRegistrationCommand(
+			UnRegistrationResponseType unRegistrationCommand) {
+		this.unRegistrationCommand = unRegistrationCommand;
+	}
+
+	public IsRegisteredResponseType getIsRegisteredCommand() {
+		return isRegisteredCommand;
+	}
+
+	public void setIsRegisteredCommand(IsRegisteredResponseType isRegisteredCommand) {
+		this.isRegisteredCommand = isRegisteredCommand;
+	}
+/**
+     * Gets the value of the listRegisteredCommand property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link ListRegisteredResponseType }
+     *     
+     */
+    public ListRegisteredResponseType getListRegisteredCommand() {
+        return listRegisteredCommand;
+    }
+
+    /**
+     * Sets the value of the listRegisteredCommand property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link ListRegisteredResponseType }
+     *     
+     */
+    public void setListRegisteredCommand(ListRegisteredResponseType value) {
+        this.listRegisteredCommand = value;
+    }
+}

Added: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/ObjectFactory.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/ObjectFactory.java	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/ObjectFactory.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -0,0 +1,164 @@
+
+package org.jboss.soa.esb.services.semantics.configuration.model;
+
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.annotation.XmlElementDecl;
+import javax.xml.bind.annotation.XmlRegistry;
+import javax.xml.namespace.QName;
+
+
+/**
+ * This object contains factory methods for each 
+ * Java content interface and Java element interface 
+ * generated in the org.jboss.soa.esb.services.semantics.configuration.model package. 
+ * <p>An ObjectFactory allows you to programatically 
+ * construct new instances of the Java representation 
+ * for XML content. The Java representation of XML 
+ * content can consist of schema derived interfaces 
+ * and classes representing the binding of schema 
+ * type definitions, element declarations and model 
+ * groups.  Factory methods for each of these are 
+ * provided in this class.
+ * 
+ */
+ at XmlRegistry
+public class ObjectFactory {
+
+    private final static QName _ManagementRequestElement_QNAME = new QName("http://jboss.org/soa/esb/services/semantics/configuration/model", "managementRequestElement");
+    private final static QName _MaangementResponseElement_QNAME = new QName("http://jboss.org/soa/esb/services/semantics/configuration/model", "maangementResponseElement");
+    
+    private static final ObjectFactory INSTANCE = new ObjectFactory();
+
+    /**
+     * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: org.jboss.soa.esb.services.semantics.configuration.model
+     * 
+     */
+    private ObjectFactory() {
+    }
+
+    public static ObjectFactory getInstance(){
+    	return INSTANCE;
+    }
+    /**
+     * Create an instance of {@link IsRegisteredResponseType }
+     * 
+     */
+    public IsRegisteredResponseType createIsRegisteredResponseType() {
+        return new IsRegisteredResponseType();
+    }
+
+    /**
+     * Create an instance of {@link RegistrationRequestType }
+     * 
+     */
+    public RegistrationRequestType createRegistrationRequestType() {
+        return new RegistrationRequestType();
+    }
+
+    /**
+     * Create an instance of {@link BaseCommandResponseType }
+     * 
+     */
+    public BaseCommandResponseType createBaseCommandResponseType() {
+        return new BaseCommandResponseType();
+    }
+
+    /**
+     * Create an instance of {@link UnRegistrationResponseType }
+     * 
+     */
+    public UnRegistrationResponseType createUnRegistrationResponseType() {
+        return new UnRegistrationResponseType();
+    }
+
+    /**
+     * Create an instance of {@link RegistrationResponseType }
+     * 
+     */
+    public RegistrationResponseType createRegistrationResponseType() {
+        return new RegistrationResponseType();
+    }
+
+	/**
+     * Create an instance of {@link ListRegisteredResponseType }
+     * 
+     */
+    public ListRegisteredResponseType createListRegisteredResponseType() {
+        return new ListRegisteredResponseType();
+    }
+
+    /**
+     * Create an instance of {@link ListRegisteredResponseType.Services }
+     * 
+     */
+    public ListRegisteredResponseType.Services createListRegisteredResponseTypeServices() {
+        return new ListRegisteredResponseType.Services();
+    }
+
+    /**
+     * Create an instance of {@link ManagementRequestType }
+     * 
+     */
+    public ManagementRequestType createManagementRequestType() {
+        return new ManagementRequestType();
+    }
+
+    /**
+     * Create an instance of {@link IsRegisteredRequestType }
+     * 
+     */
+    public IsRegisteredRequestType createIsRegisteredRequestType() {
+        return new IsRegisteredRequestType();
+    }
+
+    /**
+     * Create an instance of {@link ManagementResponseType }
+     * 
+     */
+    public ManagementResponseType createManagementResponseType() {
+        return new ManagementResponseType();
+    }
+
+    /**
+     * Create an instance of {@link BaseCommandType }
+     * 
+     */
+    public BaseCommandType createBaseCommandType() {
+        return new BaseCommandType();
+    }
+
+	/**
+     * Create an instance of {@link ListRegisteredRequestType }
+     * 
+     */
+    public ListRegisteredRequestType createListRegisteredRequestType() {
+        return new ListRegisteredRequestType();
+    }
+
+    /**
+     * Create an instance of {@link UnRegistrationRequestType }
+     * 
+     */
+    public UnRegistrationRequestType createUnRegistrationRequestType() {
+        return new UnRegistrationRequestType();
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link ManagementRequestType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://jboss.org/soa/esb/services/semantics/configuration/model", name = "managementRequestElement")
+    public JAXBElement<ManagementRequestType> createManagementRequestElement(ManagementRequestType value) {
+        return new JAXBElement<ManagementRequestType>(_ManagementRequestElement_QNAME, ManagementRequestType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link ManagementResponseType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://jboss.org/soa/esb/services/semantics/configuration/model", name = "maangementResponseElement")
+    public JAXBElement<ManagementResponseType> createMaangementResponseElement(ManagementResponseType value) {
+        return new JAXBElement<ManagementResponseType>(_MaangementResponseElement_QNAME, ManagementResponseType.class, null, value);
+    }
+
+}

Added: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/RegistrationRequestType.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/RegistrationRequestType.java	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/RegistrationRequestType.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -0,0 +1,64 @@
+
+package org.jboss.soa.esb.services.semantics.configuration.model;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for RegistrationRequestType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="RegistrationRequestType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="serviceURI" type="{http://www.w3.org/2001/XMLSchema}anyURI"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "RegistrationRequestType", propOrder = {
+    "serviceURI"
+})
+public class RegistrationRequestType {
+
+    @XmlElement(required = true)
+    @XmlSchemaType(name = "anyURI")
+    protected String serviceURI;
+
+    /**
+     * Gets the value of the serviceURI property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getServiceURI() {
+        return serviceURI;
+    }
+
+    /**
+     * Sets the value of the serviceURI property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setServiceURI(String value) {
+        this.serviceURI = value;
+    }
+
+}

Added: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/RegistrationResponseType.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/RegistrationResponseType.java	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/RegistrationResponseType.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -0,0 +1,62 @@
+
+package org.jboss.soa.esb.services.semantics.configuration.model;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for RegistrationResponseType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="RegistrationResponseType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="message" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "RegistrationResponseType", propOrder = {
+    "message"
+})
+public class RegistrationResponseType {
+
+    @XmlElement(required = true)
+    protected String message;
+
+    /**
+     * Gets the value of the message property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getMessage() {
+        return message;
+    }
+
+    /**
+     * Sets the value of the message property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setMessage(String value) {
+        this.message = value;
+    }
+
+}

Added: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/ServiceMetatDataType.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/ServiceMetatDataType.java	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/ServiceMetatDataType.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -0,0 +1,120 @@
+
+package org.jboss.soa.esb.services.semantics.configuration.model;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for ServiceMetatDataType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="ServiceMetatDataType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         &lt;element name="uri" type="{http://www.w3.org/2001/XMLSchema}anyURI"/>
+ *         &lt;element name="description" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "ServiceMetatDataType", propOrder = {
+    "name",
+    "uri",
+    "description"
+})
+public class ServiceMetatDataType {
+
+    @XmlElement(required = true)
+    protected String name;
+    @XmlElement(required = true)
+    @XmlSchemaType(name = "anyURI")
+    protected String uri;
+    @XmlElement(required = true)
+    protected String description;
+
+    /**
+     * Gets the value of the name property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getName() {
+        return name;
+    }
+
+    /**
+     * Sets the value of the name property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setName(String value) {
+        this.name = value;
+    }
+
+    /**
+     * Gets the value of the uri property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getUri() {
+        return uri;
+    }
+
+    /**
+     * Sets the value of the uri property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setUri(String value) {
+        this.uri = value;
+    }
+
+    /**
+     * Gets the value of the description property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getDescription() {
+        return description;
+    }
+
+    /**
+     * Sets the value of the description property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setDescription(String value) {
+        this.description = value;
+    }
+
+}

Added: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/UnRegistrationRequestType.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/UnRegistrationRequestType.java	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/UnRegistrationRequestType.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -0,0 +1,64 @@
+
+package org.jboss.soa.esb.services.semantics.configuration.model;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for UnRegistrationRequestType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="UnRegistrationRequestType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="serviceURI" type="{http://www.w3.org/2001/XMLSchema}anyURI"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "UnRegistrationRequestType", propOrder = {
+    "serviceURI"
+})
+public class UnRegistrationRequestType {
+
+    @XmlElement(required = true)
+    @XmlSchemaType(name = "anyURI")
+    protected String serviceURI;
+
+    /**
+     * Gets the value of the serviceURI property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getServiceURI() {
+        return serviceURI;
+    }
+
+    /**
+     * Sets the value of the serviceURI property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setServiceURI(String value) {
+        this.serviceURI = value;
+    }
+
+}

Added: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/UnRegistrationResponseType.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/UnRegistrationResponseType.java	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/UnRegistrationResponseType.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -0,0 +1,62 @@
+
+package org.jboss.soa.esb.services.semantics.configuration.model;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for UnRegistrationResponseType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="UnRegistrationResponseType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="message" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "UnRegistrationResponseType", propOrder = {
+    "message"
+})
+public class UnRegistrationResponseType {
+
+    @XmlElement(required = true)
+    protected String message;
+
+    /**
+     * Gets the value of the message property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getMessage() {
+        return message;
+    }
+
+    /**
+     * Sets the value of the message property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setMessage(String value) {
+        this.message = value;
+    }
+
+}

Added: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/package-info.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/package-info.java	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/configuration/model/package-info.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -0,0 +1,2 @@
+ at javax.xml.bind.annotation.XmlSchema(namespace = "http://jboss.org/soa/esb/services/semantics/configuration/model", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
+package org.jboss.soa.esb.services.semantics.configuration.model;

Modified: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/model/ConceptValueType.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/model/ConceptValueType.java	2010-09-16 20:52:16 UTC (rev 35167)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/model/ConceptValueType.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -1,4 +1,3 @@
-
 package org.jboss.soa.esb.services.semantics.model;
 
 import java.io.Serializable;
@@ -9,11 +8,13 @@
 import javax.xml.bind.annotation.XmlSchemaType;
 import javax.xml.bind.annotation.XmlType;
 
-
 /**
- * <p>Java class for ConceptValueType complex type.
+ * <p>
+ * Java class for ConceptValueType complex type.
  * 
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within
+ * this class.
  * 
  * <pre>
  * &lt;complexType name="ConceptValueType">
@@ -34,89 +35,77 @@
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
- at XmlType(name = "ConceptValueType", propOrder = {
-    "concept",
-    "dataValue",
-    "individualValue"
-})
-public class ConceptValueType implements Serializable{
+ at XmlType(name = "ConceptValueType", propOrder = { "concept", "dataValue",
+		"individualValue" })
+public class ConceptValueType implements Serializable {
 
-    @XmlElement(required = true)
-    @XmlSchemaType(name = "anyURI")
-    protected String concept;
-    protected String dataValue;
-    protected ConceptValueType individualValue;
+	@XmlElement(required = true)
+	@XmlSchemaType(name = "anyURI")
+	protected String concept;
+	protected String dataValue;
+	protected ConceptValueType individualValue;
 
-    /**
-     * Gets the value of the concept property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
-     */
-    public String getConcept() {
-        return concept;
-    }
+	/**
+	 * Gets the value of the concept property.
+	 * 
+	 * @return possible object is {@link String }
+	 * 
+	 */
+	public String getConcept() {
+		return concept;
+	}
 
-    /**
-     * Sets the value of the concept property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
-     */
-    public void setConcept(String value) {
-        this.concept = value;
-    }
+	/**
+	 * Sets the value of the concept property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link String }
+	 * 
+	 */
+	public void setConcept(String value) {
+		this.concept = value;
+	}
 
-    /**
-     * Gets the value of the dataValue property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
-     */
-    public String getDataValue() {
-        return dataValue;
-    }
+	/**
+	 * Gets the value of the dataValue property.
+	 * 
+	 * @return possible object is {@link String }
+	 * 
+	 */
+	public String getDataValue() {
+		return dataValue;
+	}
 
-    /**
-     * Sets the value of the dataValue property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
-     */
-    public void setDataValue(String value) {
-        this.dataValue = value;
-    }
+	/**
+	 * Sets the value of the dataValue property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link String }
+	 * 
+	 */
+	public void setDataValue(String value) {
+		this.dataValue = value;
+	}
 
-    /**
-     * Gets the value of the individualValue property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link ConceptValueType }
-     *     
-     */
-    public ConceptValueType getIndividualValue() {
-        return individualValue;
-    }
+	/**
+	 * Gets the value of the individualValue property.
+	 * 
+	 * @return possible object is {@link ConceptValueType }
+	 * 
+	 */
+	public ConceptValueType getIndividualValue() {
+		return individualValue;
+	}
 
-    /**
-     * Sets the value of the individualValue property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link ConceptValueType }
-     *     
-     */
-    public void setIndividualValue(ConceptValueType value) {
-        this.individualValue = value;
-    }
+	/**
+	 * Sets the value of the individualValue property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link ConceptValueType }
+	 * 
+	 */
+	public void setIndividualValue(ConceptValueType value) {
+		this.individualValue = value;
+	}
 
 }

Added: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/model/DataTypeValueType.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/model/DataTypeValueType.java	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/model/DataTypeValueType.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -0,0 +1,111 @@
+package org.jboss.soa.esb.services.semantics.model;
+
+import java.io.Serializable;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+
+/**
+ * <p>
+ * Java class for DataTypeValueType complex type.
+ * 
+ * <p>
+ * The following schema fragment specifies the expected content contained within
+ * this class.
+ * 
+ * <pre>
+ * &lt;complexType name="DataTypeValueType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="class" type="{http://www.w3.org/2001/XMLSchema}anyURI"/>
+ *         &lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}anyURI"/>
+ *         &lt;element name="value" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "DataTypeValueType", propOrder = { "clazz", "name", "value" })
+public class DataTypeValueType implements Serializable {
+
+	@XmlElement(name = "class", required = true)
+	@XmlSchemaType(name = "anyURI")
+	protected String clazz;
+	@XmlElement(required = true)
+	@XmlSchemaType(name = "anyURI")
+	protected String name;
+	@XmlElement(required = true)
+	protected String value;
+
+	/**
+	 * Gets the value of the clazz property.
+	 * 
+	 * @return possible object is {@link String }
+	 * 
+	 */
+	public String getClazz() {
+		return clazz;
+	}
+
+	/**
+	 * Sets the value of the clazz property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link String }
+	 * 
+	 */
+	public void setClazz(String value) {
+		this.clazz = value;
+	}
+
+	/**
+	 * Gets the value of the name property.
+	 * 
+	 * @return possible object is {@link String }
+	 * 
+	 */
+	public String getName() {
+		return name;
+	}
+
+	/**
+	 * Sets the value of the name property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link String }
+	 * 
+	 */
+	public void setName(String value) {
+		this.name = value;
+	}
+
+	/**
+	 * Gets the value of the value property.
+	 * 
+	 * @return possible object is {@link String }
+	 * 
+	 */
+	public String getValue() {
+		return value;
+	}
+
+	/**
+	 * Sets the value of the value property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link String }
+	 * 
+	 */
+	public void setValue(String value) {
+		this.value = value;
+	}
+
+}

Deleted: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/model/DataValueType.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/model/DataValueType.java	2010-09-16 20:52:16 UTC (rev 35167)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/model/DataValueType.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -1,123 +0,0 @@
-
-package org.jboss.soa.esb.services.semantics.model;
-
-import java.io.Serializable;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
-
-
-/**
- * <p>Java class for DataValueType complex type.
- * 
- * <p>The following schema fragment specifies the expected content contained within this class.
- * 
- * <pre>
- * &lt;complexType name="DataValueType">
- *   &lt;complexContent>
- *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *       &lt;sequence>
- *         &lt;element name="class" type="{http://www.w3.org/2001/XMLSchema}anyURI"/>
- *         &lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}anyURI"/>
- *         &lt;element name="value" type="{http://www.w3.org/2001/XMLSchema}string"/>
- *       &lt;/sequence>
- *     &lt;/restriction>
- *   &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
- * 
- * 
- */
- at XmlAccessorType(XmlAccessType.FIELD)
- at XmlType(name = "DataValueType", propOrder = {
-    "clazz",
-    "name",
-    "value"
-})
-public class DataValueType  implements Serializable{
-
-    @XmlElement(name = "class", required = true)
-    @XmlSchemaType(name = "anyURI")
-    protected String clazz;
-    @XmlElement(required = true)
-    @XmlSchemaType(name = "anyURI")
-    protected String name;
-    @XmlElement(required = true)
-    protected String value;
-
-    /**
-     * Gets the value of the clazz property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
-     */
-    public String getClazz() {
-        return clazz;
-    }
-
-    /**
-     * Sets the value of the clazz property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
-     */
-    public void setClazz(String value) {
-        this.clazz = value;
-    }
-
-    /**
-     * Gets the value of the name property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
-     */
-    public String getName() {
-        return name;
-    }
-
-    /**
-     * Sets the value of the name property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
-     */
-    public void setName(String value) {
-        this.name = value;
-    }
-
-    /**
-     * Gets the value of the value property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
-     */
-    public String getValue() {
-        return value;
-    }
-
-    /**
-     * Sets the value of the value property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
-     */
-    public void setValue(String value) {
-        this.value = value;
-    }
-
-}

Modified: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/model/ExpectedOutputType.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/model/ExpectedOutputType.java	2010-09-16 20:52:16 UTC (rev 35167)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/model/ExpectedOutputType.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -1,17 +1,20 @@
-
 package org.jboss.soa.esb.services.semantics.model;
 
+import java.io.Serializable;
+
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlSchemaType;
 import javax.xml.bind.annotation.XmlType;
 
-
 /**
- * <p>Java class for ExpectedOutputType complex type.
+ * <p>
+ * Java class for ExpectedOutputType complex type.
  * 
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within
+ * this class.
  * 
  * <pre>
  * &lt;complexType name="ExpectedOutputType">
@@ -28,37 +31,32 @@
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
- at XmlType(name = "ExpectedOutputType", propOrder = {
-    "clazz"
-})
-public class ExpectedOutputType {
+ at XmlType(name = "ExpectedOutputType", propOrder = { "clazz" })
+public class ExpectedOutputType implements Serializable {
 
-    @XmlElement(name = "class", required = true)
-    @XmlSchemaType(name = "anyURI")
-    protected String clazz;
+	@XmlElement(name = "class", required = true)
+	@XmlSchemaType(name = "anyURI")
+	protected String clazz;
 
-    /**
-     * Gets the value of the clazz property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
-     */
-    public String getClazz() {
-        return clazz;
-    }
+	/**
+	 * Gets the value of the clazz property.
+	 * 
+	 * @return possible object is {@link String }
+	 * 
+	 */
+	public String getClazz() {
+		return clazz;
+	}
 
-    /**
-     * Sets the value of the clazz property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
-     */
-    public void setClazz(String value) {
-        this.clazz = value;
-    }
+	/**
+	 * Sets the value of the clazz property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link String }
+	 * 
+	 */
+	public void setClazz(String value) {
+		this.clazz = value;
+	}
 
 }

Deleted: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/model/InputType.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/model/InputType.java	2010-09-16 20:52:16 UTC (rev 35167)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/model/InputType.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -1,132 +0,0 @@
-
-package org.jboss.soa.esb.services.semantics.model;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
-
-
-/**
- * <p>Java class for InputType complex type.
- * 
- * <p>The following schema fragment specifies the expected content contained within this class.
- * 
- * <pre>
- * &lt;complexType name="InputType">
- *   &lt;complexContent>
- *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *       &lt;sequence>
- *         &lt;element name="class" type="{http://www.w3.org/2001/XMLSchema}anyURI"/>
- *         &lt;element name="dataValue" type="{http://jboss.org/soa/esb/services/semantics/model}DataValueType" maxOccurs="unbounded" minOccurs="0"/>
- *         &lt;element name="objectValue" type="{http://jboss.org/soa/esb/services/semantics/model}ObjectValueType" maxOccurs="unbounded" minOccurs="0"/>
- *       &lt;/sequence>
- *     &lt;/restriction>
- *   &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
- * 
- * 
- */
- at XmlAccessorType(XmlAccessType.FIELD)
- at XmlType(name = "InputType", propOrder = {
-    "clazz",
-    "dataValue",
-    "objectValue"
-})
-public class InputType implements Serializable {
-
-    @XmlElement(name = "class", required = true)
-    @XmlSchemaType(name = "anyURI")
-    protected String clazz;
-    protected List<DataValueType> dataValue;
-    protected List<ObjectValueType> objectValue;
-
-    /**
-     * Gets the value of the clazz property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
-     */
-    public String getClazz() {
-        return clazz;
-    }
-
-    /**
-     * Sets the value of the clazz property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
-     */
-    public void setClazz(String value) {
-        this.clazz = value;
-    }
-
-    /**
-     * Gets the value of the dataValue property.
-     * 
-     * <p>
-     * This accessor method returns a reference to the live list,
-     * not a snapshot. Therefore any modification you make to the
-     * returned list will be present inside the JAXB object.
-     * This is why there is not a <CODE>set</CODE> method for the dataValue property.
-     * 
-     * <p>
-     * For example, to add a new item, do as follows:
-     * <pre>
-     *    getDataValue().add(newItem);
-     * </pre>
-     * 
-     * 
-     * <p>
-     * Objects of the following type(s) are allowed in the list
-     * {@link DataValueType }
-     * 
-     * 
-     */
-    public List<DataValueType> getDataValue() {
-        if (dataValue == null) {
-            dataValue = new ArrayList<DataValueType>();
-        }
-        return this.dataValue;
-    }
-
-    /**
-     * Gets the value of the objectValue property.
-     * 
-     * <p>
-     * This accessor method returns a reference to the live list,
-     * not a snapshot. Therefore any modification you make to the
-     * returned list will be present inside the JAXB object.
-     * This is why there is not a <CODE>set</CODE> method for the objectValue property.
-     * 
-     * <p>
-     * For example, to add a new item, do as follows:
-     * <pre>
-     *    getObjectValue().add(newItem);
-     * </pre>
-     * 
-     * 
-     * <p>
-     * Objects of the following type(s) are allowed in the list
-     * {@link ObjectValueType }
-     * 
-     * 
-     */
-    public List<ObjectValueType> getObjectValue() {
-        if (objectValue == null) {
-            objectValue = new ArrayList<ObjectValueType>();
-        }
-        return this.objectValue;
-    }
-
-}

Modified: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/model/ObjectFactory.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/model/ObjectFactory.java	2010-09-16 20:52:16 UTC (rev 35167)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/model/ObjectFactory.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -1,4 +1,3 @@
-
 package org.jboss.soa.esb.services.semantics.model;
 
 import javax.xml.bind.JAXBElement;
@@ -6,135 +5,147 @@
 import javax.xml.bind.annotation.XmlRegistry;
 import javax.xml.namespace.QName;
 
-
 /**
- * This object contains factory methods for each 
- * Java content interface and Java element interface 
- * generated in the org.jboss.soa.esb.services.semantics.model package. 
- * <p>An ObjectFactory allows you to programatically 
- * construct new instances of the Java representation 
- * for XML content. The Java representation of XML 
- * content can consist of schema derived interfaces 
- * and classes representing the binding of schema 
- * type definitions, element declarations and model 
- * groups.  Factory methods for each of these are 
- * provided in this class.
+ * This object contains factory methods for each Java content interface and Java
+ * element interface generated in the org.jboss.soa.esb.services.semantics.model
+ * package.
+ * <p>
+ * An ObjectFactory allows you to programatically construct new instances of the
+ * Java representation for XML content. The Java representation of XML content
+ * can consist of schema derived interfaces and classes representing the binding
+ * of schema type definitions, element declarations and model groups. Factory
+ * methods for each of these are provided in this class.
  * 
  */
 @XmlRegistry
 public class ObjectFactory {
 
-    private final static QName _ServiceQueryRequest_QNAME = new QName("http://jboss.org/soa/esb/services/semantics/model", "serviceQueryRequest");
-    private final static QName _ServiceQueryResponse_QNAME = new QName("http://jboss.org/soa/esb/services/semantics/model", "serviceQueryResponse");
-    
-    private static final ObjectFactory INSTANCE = new ObjectFactory();
+	private final static QName _ServiceQueryRequest_QNAME = new QName(
+			"http://jboss.org/soa/esb/services/semantics/model",
+			"serviceQueryRequest");
+	private final static QName _ServiceQueryResponse_QNAME = new QName(
+			"http://jboss.org/soa/esb/services/semantics/model",
+			"serviceQueryResponse");
 
-    /**
-     * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: org.jboss.soa.esb.services.semantics.model
-     * 
-     */
-    private ObjectFactory() {
-    }
+	private static final ObjectFactory INSTANCE = new ObjectFactory();
 
-    public static ObjectFactory getInstance(){
-    	return INSTANCE;
-    }
-    /**
-     * Create an instance of {@link ServiceQueryRequestType.Outputs }
-     * 
-     */
-    public ServiceQueryRequestType.Outputs createServiceQueryRequestTypeOutputs() {
-        return new ServiceQueryRequestType.Outputs();
-    }
+	/**
+	 * Create a new ObjectFactory that can be used to create new instances of
+	 * schema derived classes for package:
+	 * org.jboss.soa.esb.services.semantics.model
+	 * 
+	 */
+	private ObjectFactory() {
+	}
 
-    /**
-     * Create an instance of {@link ExpectedOutputType }
-     * 
-     */
-    public ExpectedOutputType createExpectedOutputType() {
-        return new ExpectedOutputType();
-    }
+	public static ObjectFactory getInstance() {
+		return INSTANCE;
+	}
 
-    /**
-     * Create an instance of {@link ServiceQueryResponseType }
-     * 
-     */
-    public ServiceQueryResponseType createServiceQueryResponseType() {
-        return new ServiceQueryResponseType();
-    }
+	/**
+	 * Create an instance of {@link ServiceQueryRequestType.Outputs }
+	 * 
+	 */
+	public ServiceQueryRequestType.Outputs createServiceQueryRequestTypeOutputs() {
+		return new ServiceQueryRequestType.Outputs();
+	}
 
-    /**
-     * Create an instance of {@link ServiceQueryResponseType.Outputs }
-     * 
-     */
-    public ServiceQueryResponseType.Outputs createServiceQueryResponseTypeOutputs() {
-        return new ServiceQueryResponseType.Outputs();
-    }
+	/**
+	 * Create an instance of {@link ConceptValueType }
+	 * 
+	 */
+	public ConceptValueType createConceptValueType() {
+		return new ConceptValueType();
+	}
 
-    /**
-     * Create an instance of {@link InputType }
-     * 
-     */
-    public InputType createInputType() {
-        return new InputType();
-    }
+	/**
+	 * Create an instance of {@link DataTypeValueType }
+	 * 
+	 */
+	public DataTypeValueType createDataTypeValueType() {
+		return new DataTypeValueType();
+	}
 
-    /**
-     * Create an instance of {@link DataValueType }
-     * 
-     */
-    public DataValueType createDataValueType() {
-        return new DataValueType();
-    }
+	/**
+	 * Create an instance of {@link ServiceQueryRequestType }
+	 * 
+	 */
+	public ServiceQueryRequestType createServiceQueryRequestType() {
+		return new ServiceQueryRequestType();
+	}
 
-    /**
-     * Create an instance of {@link ConceptValueType }
-     * 
-     */
-    public ConceptValueType createConceptValueType() {
-        return new ConceptValueType();
-    }
+	/**
+	 * Create an instance of {@link ServiceQueryResponseType }
+	 * 
+	 */
+	public ServiceQueryResponseType createServiceQueryResponseType() {
+		return new ServiceQueryResponseType();
+	}
 
-    /**
-     * Create an instance of {@link ServiceQueryRequestType.Inputs }
-     * 
-     */
-    public ServiceQueryRequestType.Inputs createServiceQueryRequestTypeInputs() {
-        return new ServiceQueryRequestType.Inputs();
-    }
+	/**
+	 * Create an instance of {@link ExpectedOutputType }
+	 * 
+	 */
+	public ExpectedOutputType createExpectedOutputType() {
+		return new ExpectedOutputType();
+	}
 
-    /**
-     * Create an instance of {@link ObjectValueType }
-     * 
-     */
-    public ObjectValueType createObjectValueType() {
-        return new ObjectValueType();
-    }
+	/**
+	 * Create an instance of {@link ServiceQueryRequestType.Inputs }
+	 * 
+	 */
+	public ServiceQueryRequestType.Inputs createServiceQueryRequestTypeInputs() {
+		return new ServiceQueryRequestType.Inputs();
+	}
 
-    /**
-     * Create an instance of {@link ServiceQueryRequestType }
-     * 
-     */
-    public ServiceQueryRequestType createServiceQueryRequestType() {
-        return new ServiceQueryRequestType();
-    }
+	/**
+	 * Create an instance of {@link ObjectTypeInputType }
+	 * 
+	 */
+	public ObjectTypeInputType createObjectTypeInputType() {
+		return new ObjectTypeInputType();
+	}
 
-    /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link ServiceQueryRequestType }{@code >}}
-     * 
-     */
-    @XmlElementDecl(namespace = "http://jboss.org/soa/esb/services/semantics/model", name = "serviceQueryRequest")
-    public JAXBElement<ServiceQueryRequestType> createServiceQueryRequest(ServiceQueryRequestType value) {
-        return new JAXBElement<ServiceQueryRequestType>(_ServiceQueryRequest_QNAME, ServiceQueryRequestType.class, null, value);
-    }
+	/**
+	 * Create an instance of {@link ServiceQueryResponseType.Outputs }
+	 * 
+	 */
+	public ServiceQueryResponseType.Outputs createServiceQueryResponseTypeOutputs() {
+		return new ServiceQueryResponseType.Outputs();
+	}
 
-    /**
-     * Create an instance of {@link JAXBElement }{@code <}{@link ServiceQueryResponseType }{@code >}}
-     * 
-     */
-    @XmlElementDecl(namespace = "http://jboss.org/soa/esb/services/semantics/model", name = "serviceQueryResponse")
-    public JAXBElement<ServiceQueryResponseType> createServiceQueryResponse(ServiceQueryResponseType value) {
-        return new JAXBElement<ServiceQueryResponseType>(_ServiceQueryResponse_QNAME, ServiceQueryResponseType.class, null, value);
-    }
+	/**
+	 * Create an instance of {@link ObjectTypeValueType }
+	 * 
+	 */
+	public ObjectTypeValueType createObjectTypeValueType() {
+		return new ObjectTypeValueType();
+	}
 
+	/**
+	 * Create an instance of {@link JAXBElement }{@code <}
+	 * {@link ServiceQueryRequestType }{@code >}
+	 * 
+	 */
+	@XmlElementDecl(namespace = "http://jboss.org/soa/esb/services/semantics/model", name = "serviceQueryRequest")
+	public JAXBElement<ServiceQueryRequestType> createServiceQueryRequest(
+			ServiceQueryRequestType value) {
+		return new JAXBElement<ServiceQueryRequestType>(
+				_ServiceQueryRequest_QNAME, ServiceQueryRequestType.class,
+				null, value);
+	}
+
+	/**
+	 * Create an instance of {@link JAXBElement }{@code <}
+	 * {@link ServiceQueryResponseType }{@code >}
+	 * 
+	 */
+	@XmlElementDecl(namespace = "http://jboss.org/soa/esb/services/semantics/model", name = "serviceQueryResponse")
+	public JAXBElement<ServiceQueryResponseType> createServiceQueryResponse(
+			ServiceQueryResponseType value) {
+		return new JAXBElement<ServiceQueryResponseType>(
+				_ServiceQueryResponse_QNAME, ServiceQueryResponseType.class,
+				null, value);
+	}
+
 }

Added: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/model/ObjectTypeInputType.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/model/ObjectTypeInputType.java	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/model/ObjectTypeInputType.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -0,0 +1,129 @@
+package org.jboss.soa.esb.services.semantics.model;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+
+/**
+ * <p>
+ * Java class for ObjectTypeInputType complex type.
+ * 
+ * <p>
+ * The following schema fragment specifies the expected content contained within
+ * this class.
+ * 
+ * <pre>
+ * &lt;complexType name="ObjectTypeInputType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="class" type="{http://www.w3.org/2001/XMLSchema}anyURI"/>
+ *         &lt;element name="dataTypeValue" type="{http://jboss.org/soa/esb/services/semantics/model}DataTypeValueType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="objectTypeValue" type="{http://jboss.org/soa/esb/services/semantics/model}ObjectTypeValueType" maxOccurs="unbounded" minOccurs="0"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "ObjectTypeInputType", propOrder = { "clazz", "dataTypeValue",
+		"objectTypeValue" })
+public class ObjectTypeInputType implements Serializable {
+
+	@XmlElement(name = "class", required = true)
+	@XmlSchemaType(name = "anyURI")
+	protected String clazz;
+	protected List<DataTypeValueType> dataTypeValue;
+	protected List<ObjectTypeValueType> objectTypeValue;
+
+	/**
+	 * Gets the value of the clazz property.
+	 * 
+	 * @return possible object is {@link String }
+	 * 
+	 */
+	public String getClazz() {
+		return clazz;
+	}
+
+	/**
+	 * Sets the value of the clazz property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link String }
+	 * 
+	 */
+	public void setClazz(String value) {
+		this.clazz = value;
+	}
+
+	/**
+	 * Gets the value of the dataTypeValue property.
+	 * 
+	 * <p>
+	 * This accessor method returns a reference to the live list, not a
+	 * snapshot. Therefore any modification you make to the returned list will
+	 * be present inside the JAXB object. This is why there is not a
+	 * <CODE>set</CODE> method for the dataTypeValue property.
+	 * 
+	 * <p>
+	 * For example, to add a new item, do as follows:
+	 * 
+	 * <pre>
+	 * getDataTypeValue().add(newItem);
+	 * </pre>
+	 * 
+	 * 
+	 * <p>
+	 * Objects of the following type(s) are allowed in the list
+	 * {@link DataTypeValueType }
+	 * 
+	 * 
+	 */
+	public List<DataTypeValueType> getDataTypeValue() {
+		if (dataTypeValue == null) {
+			dataTypeValue = new ArrayList<DataTypeValueType>();
+		}
+		return this.dataTypeValue;
+	}
+
+	/**
+	 * Gets the value of the objectTypeValue property.
+	 * 
+	 * <p>
+	 * This accessor method returns a reference to the live list, not a
+	 * snapshot. Therefore any modification you make to the returned list will
+	 * be present inside the JAXB object. This is why there is not a
+	 * <CODE>set</CODE> method for the objectTypeValue property.
+	 * 
+	 * <p>
+	 * For example, to add a new item, do as follows:
+	 * 
+	 * <pre>
+	 * getObjectTypeValue().add(newItem);
+	 * </pre>
+	 * 
+	 * 
+	 * <p>
+	 * Objects of the following type(s) are allowed in the list
+	 * {@link ObjectTypeValueType }
+	 * 
+	 * 
+	 */
+	public List<ObjectTypeValueType> getObjectTypeValue() {
+		if (objectTypeValue == null) {
+			objectTypeValue = new ArrayList<ObjectTypeValueType>();
+		}
+		return this.objectTypeValue;
+	}
+
+}

Added: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/model/ObjectTypeValueType.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/model/ObjectTypeValueType.java	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/model/ObjectTypeValueType.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -0,0 +1,122 @@
+package org.jboss.soa.esb.services.semantics.model;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+
+/**
+ * <p>
+ * Java class for ObjectTypeValueType complex type.
+ * 
+ * <p>
+ * The following schema fragment specifies the expected content contained within
+ * this class.
+ * 
+ * <pre>
+ * &lt;complexType name="ObjectTypeValueType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="class" type="{http://www.w3.org/2001/XMLSchema}anyURI"/>
+ *         &lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}anyURI"/>
+ *         &lt;element name="dataValue" type="{http://jboss.org/soa/esb/services/semantics/model}DataTypeValueType" maxOccurs="unbounded" minOccurs="0"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "ObjectTypeValueType", propOrder = { "clazz", "name",
+		"dataValue" })
+public class ObjectTypeValueType implements Serializable {
+
+	@XmlElement(name = "class", required = true)
+	@XmlSchemaType(name = "anyURI")
+	protected String clazz;
+	@XmlElement(required = true)
+	@XmlSchemaType(name = "anyURI")
+	protected String name;
+	protected List<DataTypeValueType> dataValue;
+
+	/**
+	 * Gets the value of the clazz property.
+	 * 
+	 * @return possible object is {@link String }
+	 * 
+	 */
+	public String getClazz() {
+		return clazz;
+	}
+
+	/**
+	 * Sets the value of the clazz property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link String }
+	 * 
+	 */
+	public void setClazz(String value) {
+		this.clazz = value;
+	}
+
+	/**
+	 * Gets the value of the name property.
+	 * 
+	 * @return possible object is {@link String }
+	 * 
+	 */
+	public String getName() {
+		return name;
+	}
+
+	/**
+	 * Sets the value of the name property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link String }
+	 * 
+	 */
+	public void setName(String value) {
+		this.name = value;
+	}
+
+	/**
+	 * Gets the value of the dataValue property.
+	 * 
+	 * <p>
+	 * This accessor method returns a reference to the live list, not a
+	 * snapshot. Therefore any modification you make to the returned list will
+	 * be present inside the JAXB object. This is why there is not a
+	 * <CODE>set</CODE> method for the dataValue property.
+	 * 
+	 * <p>
+	 * For example, to add a new item, do as follows:
+	 * 
+	 * <pre>
+	 * getDataValue().add(newItem);
+	 * </pre>
+	 * 
+	 * 
+	 * <p>
+	 * Objects of the following type(s) are allowed in the list
+	 * {@link DataTypeValueType }
+	 * 
+	 * 
+	 */
+	public List<DataTypeValueType> getDataValue() {
+		if (dataValue == null) {
+			dataValue = new ArrayList<DataTypeValueType>();
+		}
+		return this.dataValue;
+	}
+
+}

Deleted: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/model/ObjectValueType.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/model/ObjectValueType.java	2010-09-16 20:52:16 UTC (rev 35167)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/model/ObjectValueType.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -1,129 +0,0 @@
-
-package org.jboss.soa.esb.services.semantics.model;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlType;
-
-
-/**
- * <p>Java class for ObjectValueType complex type.
- * 
- * <p>The following schema fragment specifies the expected content contained within this class.
- * 
- * <pre>
- * &lt;complexType name="ObjectValueType">
- *   &lt;complexContent>
- *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
- *       &lt;sequence>
- *         &lt;element name="class" type="{http://www.w3.org/2001/XMLSchema}anyURI"/>
- *         &lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}anyURI"/>
- *         &lt;element name="dataValue" type="{http://jboss.org/soa/esb/services/semantics/model}DataValueType" maxOccurs="unbounded" minOccurs="0"/>
- *       &lt;/sequence>
- *     &lt;/restriction>
- *   &lt;/complexContent>
- * &lt;/complexType>
- * </pre>
- * 
- * 
- */
- at XmlAccessorType(XmlAccessType.FIELD)
- at XmlType(name = "ObjectValueType", propOrder = {
-    "clazz",
-    "name",
-    "dataValue"
-})
-public class ObjectValueType implements Serializable {
-
-    @XmlElement(name = "class", required = true)
-    @XmlSchemaType(name = "anyURI")
-    protected String clazz;
-    @XmlElement(required = true)
-    @XmlSchemaType(name = "anyURI")
-    protected String name;
-    protected List<DataValueType> dataValue;
-
-    /**
-     * Gets the value of the clazz property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
-     */
-    public String getClazz() {
-        return clazz;
-    }
-
-    /**
-     * Sets the value of the clazz property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
-     */
-    public void setClazz(String value) {
-        this.clazz = value;
-    }
-
-    /**
-     * Gets the value of the name property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
-     */
-    public String getName() {
-        return name;
-    }
-
-    /**
-     * Sets the value of the name property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
-     */
-    public void setName(String value) {
-        this.name = value;
-    }
-
-    /**
-     * Gets the value of the dataValue property.
-     * 
-     * <p>
-     * This accessor method returns a reference to the live list,
-     * not a snapshot. Therefore any modification you make to the
-     * returned list will be present inside the JAXB object.
-     * This is why there is not a <CODE>set</CODE> method for the dataValue property.
-     * 
-     * <p>
-     * For example, to add a new item, do as follows:
-     * <pre>
-     *    getDataValue().add(newItem);
-     * </pre>
-     * 
-     * 
-     * <p>
-     * Objects of the following type(s) are allowed in the list
-     * {@link DataValueType }
-     * 
-     * 
-     */
-    public List<DataValueType> getDataValue() {
-        if (dataValue == null) {
-            dataValue = new ArrayList<DataValueType>();
-        }
-        return this.dataValue;
-    }
-
-}

Modified: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/model/ServiceQueryRequestType.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/model/ServiceQueryRequestType.java	2010-09-16 20:52:16 UTC (rev 35167)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/model/ServiceQueryRequestType.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -1,4 +1,3 @@
-
 package org.jboss.soa.esb.services.semantics.model;
 
 import java.io.Serializable;
@@ -8,13 +7,16 @@
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlType;
 
-
 /**
- * <p>Java class for ServiceQueryRequestType complex type.
+ * <p>
+ * Java class for ServiceQueryRequestType complex type.
  * 
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within
+ * this class.
  * 
  * <pre>
  * &lt;complexType name="ServiceQueryRequestType">
@@ -27,7 +29,10 @@
  *             &lt;complexContent>
  *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  *                 &lt;sequence>
- *                   &lt;element name="input" type="{http://jboss.org/soa/esb/services/semantics/model}InputType" maxOccurs="unbounded"/>
+ *                   &lt;choice>
+ *                     &lt;element name="objectTypeInput" type="{http://jboss.org/soa/esb/services/semantics/model}ObjectTypeInputType" maxOccurs="unbounded"/>
+ *                     &lt;element name="dataTypeInput" type="{http://jboss.org/soa/esb/services/semantics/model}DataTypeValueType" maxOccurs="unbounded"/>
+ *                   &lt;/choice>
  *                 &lt;/sequence>
  *               &lt;/restriction>
  *             &lt;/complexContent>
@@ -53,208 +58,232 @@
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
- at XmlType(name = "ServiceQueryRequestType", propOrder = {
-    "id",
-    "inputs",
-    "outputs"
-})
+ at XmlType(name = "ServiceQueryRequestType", propOrder = { "id", "inputs",
+		"outputs" })
 public class ServiceQueryRequestType {
 
-    @XmlElement(required = true)
-    protected String id;
-    protected ServiceQueryRequestType.Inputs inputs;
-    protected ServiceQueryRequestType.Outputs outputs;
+	@XmlElement(required = true)
+	protected String id;
+	protected ServiceQueryRequestType.Inputs inputs;
+	protected ServiceQueryRequestType.Outputs outputs;
 
-    /**
-     * Gets the value of the id property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
-     */
-    public String getId() {
-        return id;
-    }
+	/**
+	 * Gets the value of the id property.
+	 * 
+	 * @return possible object is {@link String }
+	 * 
+	 */
+	public String getId() {
+		return id;
+	}
 
-    /**
-     * Sets the value of the id property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
-     */
-    public void setId(String value) {
-        this.id = value;
-    }
+	/**
+	 * Sets the value of the id property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link String }
+	 * 
+	 */
+	public void setId(String value) {
+		this.id = value;
+	}
 
-    /**
-     * Gets the value of the inputs property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link ServiceQueryRequestType.Inputs }
-     *     
-     */
-    public ServiceQueryRequestType.Inputs getInputs() {
-        return inputs;
-    }
+	/**
+	 * Gets the value of the inputs property.
+	 * 
+	 * @return possible object is {@link ServiceQueryRequestType.Inputs }
+	 * 
+	 */
+	public ServiceQueryRequestType.Inputs getInputs() {
+		return inputs;
+	}
 
-    /**
-     * Sets the value of the inputs property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link ServiceQueryRequestType.Inputs }
-     *     
-     */
-    public void setInputs(ServiceQueryRequestType.Inputs value) {
-        this.inputs = value;
-    }
+	/**
+	 * Sets the value of the inputs property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link ServiceQueryRequestType.Inputs }
+	 * 
+	 */
+	public void setInputs(ServiceQueryRequestType.Inputs value) {
+		this.inputs = value;
+	}
 
-    /**
-     * Gets the value of the outputs property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link ServiceQueryRequestType.Outputs }
-     *     
-     */
-    public ServiceQueryRequestType.Outputs getOutputs() {
-        return outputs;
-    }
+	/**
+	 * Gets the value of the outputs property.
+	 * 
+	 * @return possible object is {@link ServiceQueryRequestType.Outputs }
+	 * 
+	 */
+	public ServiceQueryRequestType.Outputs getOutputs() {
+		return outputs;
+	}
 
-    /**
-     * Sets the value of the outputs property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link ServiceQueryRequestType.Outputs }
-     *     
-     */
-    public void setOutputs(ServiceQueryRequestType.Outputs value) {
-        this.outputs = value;
-    }
+	/**
+	 * Sets the value of the outputs property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link ServiceQueryRequestType.Outputs }
+	 * 
+	 */
+	public void setOutputs(ServiceQueryRequestType.Outputs value) {
+		this.outputs = value;
+	}
 
+	/**
+	 * <p>
+	 * Java class for anonymous complex type.
+	 * 
+	 * <p>
+	 * The following schema fragment specifies the expected content contained
+	 * within this class.
+	 * 
+	 * <pre>
+	 * &lt;complexType>
+	 *   &lt;complexContent>
+	 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+	 *       &lt;sequence>
+	 *         &lt;choice>
+	 *           &lt;element name="objectTypeInput" type="{http://jboss.org/soa/esb/services/semantics/model}ObjectTypeInputType" maxOccurs="unbounded"/>
+	 *           &lt;element name="dataTypeInput" type="{http://jboss.org/soa/esb/services/semantics/model}DataTypeValueType" maxOccurs="unbounded"/>
+	 *         &lt;/choice>
+	 *       &lt;/sequence>
+	 *     &lt;/restriction>
+	 *   &lt;/complexContent>
+	 * &lt;/complexType>
+	 * </pre>
+	 * 
+	 * 
+	 */
+	@XmlAccessorType(XmlAccessType.FIELD)
+	@XmlType(name = "", propOrder = { "objectTypeInput", "dataTypeInput" })
+	public static class Inputs implements Serializable {
 
-    /**
-     * <p>Java class for anonymous complex type.
-     * 
-     * <p>The following schema fragment specifies the expected content contained within this class.
-     * 
-     * <pre>
-     * &lt;complexType>
-     *   &lt;complexContent>
-     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-     *       &lt;sequence>
-     *         &lt;element name="input" type="{http://jboss.org/soa/esb/services/semantics/model}InputType" maxOccurs="unbounded"/>
-     *       &lt;/sequence>
-     *     &lt;/restriction>
-     *   &lt;/complexContent>
-     * &lt;/complexType>
-     * </pre>
-     * 
-     * 
-     */
-    @XmlAccessorType(XmlAccessType.FIELD)
-    @XmlType(name = "", propOrder = {
-        "input"
-    })
-    public static class Inputs implements Serializable {
+		protected List<ObjectTypeInputType> objectTypeInput;
+		protected List<DataTypeValueType> dataTypeInput;
 
-        @XmlElement(required = true)
-        protected List<InputType> input;
+		/**
+		 * Gets the value of the objectTypeInput property.
+		 * 
+		 * <p>
+		 * This accessor method returns a reference to the live list, not a
+		 * snapshot. Therefore any modification you make to the returned list
+		 * will be present inside the JAXB object. This is why there is not a
+		 * <CODE>set</CODE> method for the objectTypeInput property.
+		 * 
+		 * <p>
+		 * For example, to add a new item, do as follows:
+		 * 
+		 * <pre>
+		 * getObjectTypeInput().add(newItem);
+		 * </pre>
+		 * 
+		 * 
+		 * <p>
+		 * Objects of the following type(s) are allowed in the list
+		 * {@link ObjectTypeInputType }
+		 * 
+		 * 
+		 */
+		public List<ObjectTypeInputType> getObjectTypeInput() {
+			if (objectTypeInput == null) {
+				objectTypeInput = new ArrayList<ObjectTypeInputType>();
+			}
+			return this.objectTypeInput;
+		}
 
-        /**
-         * Gets the value of the input property.
-         * 
-         * <p>
-         * This accessor method returns a reference to the live list,
-         * not a snapshot. Therefore any modification you make to the
-         * returned list will be present inside the JAXB object.
-         * This is why there is not a <CODE>set</CODE> method for the input property.
-         * 
-         * <p>
-         * For example, to add a new item, do as follows:
-         * <pre>
-         *    getInput().add(newItem);
-         * </pre>
-         * 
-         * 
-         * <p>
-         * Objects of the following type(s) are allowed in the list
-         * {@link InputType }
-         * 
-         * 
-         */
-        public List<InputType> getInput() {
-            if (input == null) {
-                input = new ArrayList<InputType>();
-            }
-            return this.input;
-        }
+		/**
+		 * Gets the value of the dataTypeInput property.
+		 * 
+		 * <p>
+		 * This accessor method returns a reference to the live list, not a
+		 * snapshot. Therefore any modification you make to the returned list
+		 * will be present inside the JAXB object. This is why there is not a
+		 * <CODE>set</CODE> method for the dataTypeInput property.
+		 * 
+		 * <p>
+		 * For example, to add a new item, do as follows:
+		 * 
+		 * <pre>
+		 * getDataTypeInput().add(newItem);
+		 * </pre>
+		 * 
+		 * 
+		 * <p>
+		 * Objects of the following type(s) are allowed in the list
+		 * {@link DataTypeValueType }
+		 * 
+		 * 
+		 */
+		public List<DataTypeValueType> getDataTypeInput() {
+			if (dataTypeInput == null) {
+				dataTypeInput = new ArrayList<DataTypeValueType>();
+			}
+			return this.dataTypeInput;
+		}
 
-    }
+	}
 
+	/**
+	 * <p>
+	 * Java class for anonymous complex type.
+	 * 
+	 * <p>
+	 * The following schema fragment specifies the expected content contained
+	 * within this class.
+	 * 
+	 * <pre>
+	 * &lt;complexType>
+	 *   &lt;complexContent>
+	 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+	 *       &lt;sequence>
+	 *         &lt;element name="output" type="{http://jboss.org/soa/esb/services/semantics/model}ExpectedOutputType" maxOccurs="unbounded"/>
+	 *       &lt;/sequence>
+	 *     &lt;/restriction>
+	 *   &lt;/complexContent>
+	 * &lt;/complexType>
+	 * </pre>
+	 * 
+	 * 
+	 */
+	@XmlAccessorType(XmlAccessType.FIELD)
+	@XmlType(name = "", propOrder = { "output" })
+	@XmlRootElement
+	public static class Outputs implements Serializable {
 
-    /**
-     * <p>Java class for anonymous complex type.
-     * 
-     * <p>The following schema fragment specifies the expected content contained within this class.
-     * 
-     * <pre>
-     * &lt;complexType>
-     *   &lt;complexContent>
-     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-     *       &lt;sequence>
-     *         &lt;element name="output" type="{http://jboss.org/soa/esb/services/semantics/model}ExpectedOutputType" maxOccurs="unbounded"/>
-     *       &lt;/sequence>
-     *     &lt;/restriction>
-     *   &lt;/complexContent>
-     * &lt;/complexType>
-     * </pre>
-     * 
-     * 
-     */
-    @XmlAccessorType(XmlAccessType.FIELD)
-    @XmlType(name = "", propOrder = {
-        "output"
-    })
-    public static class Outputs implements Serializable {
+		@XmlElement(required = true)
+		protected List<ExpectedOutputType> output;
 
-        @XmlElement(required = true)
-        protected List<ExpectedOutputType> output;
+		/**
+		 * Gets the value of the output property.
+		 * 
+		 * <p>
+		 * This accessor method returns a reference to the live list, not a
+		 * snapshot. Therefore any modification you make to the returned list
+		 * will be present inside the JAXB object. This is why there is not a
+		 * <CODE>set</CODE> method for the output property.
+		 * 
+		 * <p>
+		 * For example, to add a new item, do as follows:
+		 * 
+		 * <pre>
+		 * getOutput().add(newItem);
+		 * </pre>
+		 * 
+		 * 
+		 * <p>
+		 * Objects of the following type(s) are allowed in the list
+		 * {@link ExpectedOutputType }
+		 * 
+		 * 
+		 */
+		public List<ExpectedOutputType> getOutput() {
+			if (output == null) {
+				output = new ArrayList<ExpectedOutputType>();
+			}
+			return this.output;
+		}
 
-        /**
-         * Gets the value of the output property.
-         * 
-         * <p>
-         * This accessor method returns a reference to the live list,
-         * not a snapshot. Therefore any modification you make to the
-         * returned list will be present inside the JAXB object.
-         * This is why there is not a <CODE>set</CODE> method for the output property.
-         * 
-         * <p>
-         * For example, to add a new item, do as follows:
-         * <pre>
-         *    getOutput().add(newItem);
-         * </pre>
-         * 
-         * 
-         * <p>
-         * Objects of the following type(s) are allowed in the list
-         * {@link ExpectedOutputType }
-         * 
-         * 
-         */
-        public List<ExpectedOutputType> getOutput() {
-            if (output == null) {
-                output = new ArrayList<ExpectedOutputType>();
-            }
-            return this.output;
-        }
+	}
 
-    }
-
 }

Modified: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/model/ServiceQueryResponseType.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/model/ServiceQueryResponseType.java	2010-09-16 20:52:16 UTC (rev 35167)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/model/ServiceQueryResponseType.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -1,19 +1,22 @@
-
 package org.jboss.soa.esb.services.semantics.model;
 
+import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.List;
 
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlType;
 
-
 /**
- * <p>Java class for ServiceQueryResponseType complex type.
+ * <p>
+ * Java class for ServiceQueryResponseType complex type.
  * 
- * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * The following schema fragment specifies the expected content contained within
+ * this class.
  * 
  * <pre>
  * &lt;complexType name="ServiceQueryResponseType">
@@ -41,123 +44,116 @@
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
- at XmlType(name = "ServiceQueryResponseType", propOrder = {
-    "id",
-    "outputs"
-})
+ at XmlType(name = "ServiceQueryResponseType", propOrder = { "id", "outputs" })
 public class ServiceQueryResponseType {
 
-    @XmlElement(required = true)
-    protected String id;
-    @XmlElement(required = true)
-    protected ServiceQueryResponseType.Outputs outputs;
+	@XmlElement(required = true)
+	protected String id;
+	@XmlElement(required = true)
+	protected ServiceQueryResponseType.Outputs outputs;
 
-    /**
-     * Gets the value of the id property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
-     */
-    public String getId() {
-        return id;
-    }
+	/**
+	 * Gets the value of the id property.
+	 * 
+	 * @return possible object is {@link String }
+	 * 
+	 */
+	public String getId() {
+		return id;
+	}
 
-    /**
-     * Sets the value of the id property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
-     */
-    public void setId(String value) {
-        this.id = value;
-    }
+	/**
+	 * Sets the value of the id property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link String }
+	 * 
+	 */
+	public void setId(String value) {
+		this.id = value;
+	}
 
-    /**
-     * Gets the value of the outputs property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link ServiceQueryResponseType.Outputs }
-     *     
-     */
-    public ServiceQueryResponseType.Outputs getOutputs() {
-        return outputs;
-    }
+	/**
+	 * Gets the value of the outputs property.
+	 * 
+	 * @return possible object is {@link ServiceQueryResponseType.Outputs }
+	 * 
+	 */
+	public ServiceQueryResponseType.Outputs getOutputs() {
+		return outputs;
+	}
 
-    /**
-     * Sets the value of the outputs property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link ServiceQueryResponseType.Outputs }
-     *     
-     */
-    public void setOutputs(ServiceQueryResponseType.Outputs value) {
-        this.outputs = value;
-    }
+	/**
+	 * Sets the value of the outputs property.
+	 * 
+	 * @param value
+	 *            allowed object is {@link ServiceQueryResponseType.Outputs }
+	 * 
+	 */
+	public void setOutputs(ServiceQueryResponseType.Outputs value) {
+		this.outputs = value;
+	}
 
+	/**
+	 * <p>
+	 * Java class for anonymous complex type.
+	 * 
+	 * <p>
+	 * The following schema fragment specifies the expected content contained
+	 * within this class.
+	 * 
+	 * <pre>
+	 * &lt;complexType>
+	 *   &lt;complexContent>
+	 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+	 *       &lt;sequence>
+	 *         &lt;element name="output" type="{http://jboss.org/soa/esb/services/semantics/model}ConceptValueType" maxOccurs="unbounded"/>
+	 *       &lt;/sequence>
+	 *     &lt;/restriction>
+	 *   &lt;/complexContent>
+	 * &lt;/complexType>
+	 * </pre>
+	 * 
+	 * 
+	 */
+	@XmlAccessorType(XmlAccessType.FIELD)
+	@XmlType(name = "", propOrder = { "output" })
+	@XmlRootElement
+	public static class Outputs implements Serializable {
 
-    /**
-     * <p>Java class for anonymous complex type.
-     * 
-     * <p>The following schema fragment specifies the expected content contained within this class.
-     * 
-     * <pre>
-     * &lt;complexType>
-     *   &lt;complexContent>
-     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
-     *       &lt;sequence>
-     *         &lt;element name="output" type="{http://jboss.org/soa/esb/services/semantics/model}ConceptValueType" maxOccurs="unbounded"/>
-     *       &lt;/sequence>
-     *     &lt;/restriction>
-     *   &lt;/complexContent>
-     * &lt;/complexType>
-     * </pre>
-     * 
-     * 
-     */
-    @XmlAccessorType(XmlAccessType.FIELD)
-    @XmlType(name = "", propOrder = {
-        "output"
-    })
-    public static class Outputs {
+		@XmlElement(required = true)
+		protected List<ConceptValueType> output;
 
-        @XmlElement(required = true)
-        protected List<ConceptValueType> output;
+		/**
+		 * Gets the value of the output property.
+		 * 
+		 * <p>
+		 * This accessor method returns a reference to the live list, not a
+		 * snapshot. Therefore any modification you make to the returned list
+		 * will be present inside the JAXB object. This is why there is not a
+		 * <CODE>set</CODE> method for the output property.
+		 * 
+		 * <p>
+		 * For example, to add a new item, do as follows:
+		 * 
+		 * <pre>
+		 * getOutput().add(newItem);
+		 * </pre>
+		 * 
+		 * 
+		 * <p>
+		 * Objects of the following type(s) are allowed in the list
+		 * {@link ConceptValueType }
+		 * 
+		 * 
+		 */
+		public List<ConceptValueType> getOutput() {
+			if (output == null) {
+				output = new ArrayList<ConceptValueType>();
+			}
+			return this.output;
+		}
 
-        /**
-         * Gets the value of the output property.
-         * 
-         * <p>
-         * This accessor method returns a reference to the live list,
-         * not a snapshot. Therefore any modification you make to the
-         * returned list will be present inside the JAXB object.
-         * This is why there is not a <CODE>set</CODE> method for the output property.
-         * 
-         * <p>
-         * For example, to add a new item, do as follows:
-         * <pre>
-         *    getOutput().add(newItem);
-         * </pre>
-         * 
-         * 
-         * <p>
-         * Objects of the following type(s) are allowed in the list
-         * {@link ConceptValueType }
-         * 
-         * 
-         */
-        public List<ConceptValueType> getOutput() {
-            if (output == null) {
-                output = new ArrayList<ConceptValueType>();
-            }
-            return this.output;
-        }
+	}
 
-    }
-
 }

Modified: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/model/package-info.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/model/package-info.java	2010-09-16 20:52:16 UTC (rev 35167)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/model/package-info.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -1,2 +1,3 @@
 @javax.xml.bind.annotation.XmlSchema(namespace = "http://jboss.org/soa/esb/services/semantics/model", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
 package org.jboss.soa.esb.services.semantics.model;
+

Added: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/monitoring/ServiceInvocationMBean.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/monitoring/ServiceInvocationMBean.java	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/monitoring/ServiceInvocationMBean.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -0,0 +1,33 @@
+package org.jboss.soa.esb.services.semantics.monitoring;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jboss.soa.esb.services.semantics.monitoring.model.ServiceMetatDataType;
+
+public class ServiceInvocationMBean {
+	
+	private static final ServiceInvocationMBean INSTANCE = new ServiceInvocationMBean();
+	
+	List<List<ServiceMetatDataType>> invokedServices = new ArrayList<List<ServiceMetatDataType>>();
+	
+	private ServiceInvocationMBean(){		
+	}
+	
+	public static ServiceInvocationMBean getInstance(){
+		return INSTANCE;
+	}
+	
+	public void addServicesLastInvocation(List<ServiceMetatDataType> serviceMetatDataType){
+		this.invokedServices.add(serviceMetatDataType);
+	}
+	
+	public List<ServiceMetatDataType> getServicesLastInvocation(){
+		if (!this.invokedServices.isEmpty()){
+			return this.invokedServices.get(this.invokedServices.size()-1);
+		} else {
+			return new ArrayList<ServiceMetatDataType>();
+		}
+	}
+
+}

Added: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/monitoring/actions/ServiceInvocationMonitoringAction.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/monitoring/actions/ServiceInvocationMonitoringAction.java	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/monitoring/actions/ServiceInvocationMonitoringAction.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -0,0 +1,169 @@
+package org.jboss.soa.esb.services.semantics.monitoring.actions;
+
+import java.io.ByteArrayOutputStream;
+import java.io.StringReader;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Marshaller;
+import javax.xml.bind.PropertyException;
+import javax.xml.bind.Unmarshaller;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.actions.ActionLifecycle;
+import org.jboss.soa.esb.actions.ActionLifecycleException;
+import org.jboss.soa.esb.actions.ActionProcessingException;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.services.semantics.monitoring.ServiceInvocationMBean;
+import org.jboss.soa.esb.services.semantics.monitoring.model.ListInvokedServicesRequestType;
+import org.jboss.soa.esb.services.semantics.monitoring.model.ListInvokedServicesResponseType;
+import org.jboss.soa.esb.services.semantics.monitoring.model.MonitoringRequestType;
+import org.jboss.soa.esb.services.semantics.monitoring.model.MonitoringResponseType;
+import org.jboss.soa.esb.services.semantics.monitoring.model.ObjectFactory;
+import org.jboss.soa.esb.services.semantics.monitoring.model.ServiceMetatDataType;
+import org.jboss.soa.esb.services.semantics.utils.Constants;
+import org.xml.sax.InputSource;
+
+/**
+ * This discoveryAction selects all service out of the services matching the
+ * user query.
+ * 
+ * @author <a href="mailto:johan.kumps at telenet.be">Johan Kumps</a>
+ * 
+ */
+public class ServiceInvocationMonitoringAction implements ActionLifecycle {
+
+	private JAXBContext jaxbContext = null;
+	private Unmarshaller unmarshaller = null;
+	private Marshaller marshaller = null;
+
+	public ServiceInvocationMonitoringAction(ConfigTree config)
+			throws ActionLifecycleException {
+		try {
+			jaxbContext = JAXBContext
+					.newInstance(Constants.SEMANTIC_MONITORING_MODEL_PACKAGE);
+			unmarshaller = jaxbContext.createUnmarshaller();
+			marshaller = jaxbContext.createMarshaller();
+		} catch (JAXBException e) {
+			logger.error(e.getMessage());
+			throw new ActionLifecycleException(e);
+		}
+	}
+
+	/**
+	 * The Logger instance for this action
+	 */
+	private static Logger logger = Logger
+			.getLogger(ServiceInvocationMonitoringAction.class);
+
+	public Message listServicesLastInvocation(Message message) throws ActionProcessingException {
+		if (logger.isDebugEnabled()) {
+			this.logger.debug("listServicesLastInvocation called");
+		}
+		ServiceInvocationMBean serviceInvocationMBean = ServiceInvocationMBean.getInstance();
+		List<ServiceMetatDataType> invokedServices = serviceInvocationMBean.getServicesLastInvocation();
+		if (logger.isDebugEnabled()) {
+			logger.debug("Message received: [" + message + "].");
+		}
+		ListInvokedServicesRequestType listInvokedServicesRequestType = this.parseListInvokedServicesRequestType(message);
+
+		ListInvokedServicesResponseType listInvokedServicesResponseType = ObjectFactory
+				.getInstance().createListInvokedServicesResponseType();
+		
+		ServiceMetatDataType currentServiceMetatDataType = null;
+		for (Iterator<ServiceMetatDataType> iter = invokedServices.iterator(); iter.hasNext();){
+			currentServiceMetatDataType = iter.next();
+			listInvokedServicesResponseType.getServices().getService().add(currentServiceMetatDataType);
+		}
+		
+		return this.buildResponseMessage(listInvokedServicesResponseType, message);
+	}
+
+	
+	
+	public void destroy() throws ActionLifecycleException {
+		// TODO Auto-generated method stub
+
+	}
+
+	public void initialise() throws ActionLifecycleException {
+		// TODO Auto-generated method stub
+
+	}
+
+	/**
+	 * Method extracting a ServiceQueryRequestType instance out of the given
+	 * Message
+	 * 
+	 * @param message
+	 *            the Message instance to use to extract a
+	 *            ServiceQueryRequestType instance
+	 * @return the extracted ServiceQueryRequestType instance
+	 * @throws JAXBException
+	 */
+	private ListInvokedServicesRequestType parseListInvokedServicesRequestType(Message message)
+			throws ActionProcessingException {
+		final String request = (String) message.getBody().get();
+
+		InputSource requestInputSource = new InputSource(new StringReader(
+				request));
+
+		try {
+			MonitoringRequestType monitoringRequestType = (MonitoringRequestType) ((JAXBElement) this.unmarshaller
+					.unmarshal(requestInputSource)).getValue();
+			ListInvokedServicesRequestType listInvokedServicesRequestType = monitoringRequestType
+					.getListInvokedServicesLastExecutionCommand();
+			if (logger.isDebugEnabled()) {
+				logger.debug("Parsed RegistrationRequestType: ["
+						+ listInvokedServicesRequestType + "].");
+			}
+			return listInvokedServicesRequestType;
+		} catch (JAXBException e) {
+			logger.error(e.getMessage());
+			throw new ActionProcessingException(e);
+		}
+
+	}
+	
+	
+
+	/**
+	 * Method marshalling the ServiceQueryResponseType into an XML document to
+	 * be added to the Message this action returns
+	 * 
+	 * @param serviceQueryResponseType
+	 *            the ServiceQueryResponseType instance to marshal to an XML
+	 *            document
+	 * @param message
+	 *            the message to contain the ServiceQueryResponseType as an XML
+	 *            document
+	 * @return the message to be returned by this action
+	 */
+	private Message buildResponseMessage(
+			ListInvokedServicesResponseType listInvokedServicesResponseType, Message message) {
+		ByteArrayOutputStream outStream = new ByteArrayOutputStream();
+		try {
+			this.marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT,
+					Boolean.TRUE);
+			MonitoringResponseType monitoringResponseType = ObjectFactory
+					.getInstance().createMonitoringResponseType();
+			monitoringResponseType
+					.setListInvokedServicesLastExecution(listInvokedServicesResponseType);
+			this.marshaller.marshal(monitoringResponseType, outStream);
+			message.getBody().add(outStream.toString());
+		} catch (PropertyException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		} catch (JAXBException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+		return message;
+	}
+
+	
+}

Added: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/monitoring/model/Fault.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/monitoring/model/Fault.java	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/monitoring/model/Fault.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -0,0 +1,90 @@
+
+package org.jboss.soa.esb.services.semantics.monitoring.model;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for fault complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="fault">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="code" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         &lt;element name="faultString" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "fault", propOrder = {
+    "code",
+    "faultString"
+})
+public class Fault {
+
+    @XmlElement(required = true)
+    protected String code;
+    @XmlElement(required = true)
+    protected String faultString;
+
+    /**
+     * Gets the value of the code property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getCode() {
+        return code;
+    }
+
+    /**
+     * Sets the value of the code property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setCode(String value) {
+        this.code = value;
+    }
+
+    /**
+     * Gets the value of the faultString property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getFaultString() {
+        return faultString;
+    }
+
+    /**
+     * Sets the value of the faultString property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setFaultString(String value) {
+        this.faultString = value;
+    }
+
+}

Added: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/monitoring/model/ListInvokedServicesRequestType.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/monitoring/model/ListInvokedServicesRequestType.java	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/monitoring/model/ListInvokedServicesRequestType.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -0,0 +1,32 @@
+
+package org.jboss.soa.esb.services.semantics.monitoring.model;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for ListInvokedServicesRequestType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="ListInvokedServicesRequestType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "ListInvokedServicesRequestType")
+public class ListInvokedServicesRequestType {
+
+
+}

Added: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/monitoring/model/ListInvokedServicesResponseType.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/monitoring/model/ListInvokedServicesResponseType.java	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/monitoring/model/ListInvokedServicesResponseType.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -0,0 +1,134 @@
+
+package org.jboss.soa.esb.services.semantics.monitoring.model;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for ListInvokedServicesResponseType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="ListInvokedServicesResponseType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="services">
+ *           &lt;complexType>
+ *             &lt;complexContent>
+ *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *                 &lt;sequence>
+ *                   &lt;element name="service" type="{http://jboss.org/soa/esb/services/semantics/monitoring/model}ServiceMetatDataType" maxOccurs="unbounded"/>
+ *                 &lt;/sequence>
+ *               &lt;/restriction>
+ *             &lt;/complexContent>
+ *           &lt;/complexType>
+ *         &lt;/element>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "ListInvokedServicesResponseType", propOrder = {
+    "services"
+})
+public class ListInvokedServicesResponseType {
+
+    @XmlElement(required = true)
+    protected ListInvokedServicesResponseType.Services services = new ListInvokedServicesResponseType.Services();
+
+    /**
+     * Gets the value of the services property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link ListInvokedServicesResponseType.Services }
+     *     
+     */
+    public ListInvokedServicesResponseType.Services getServices() {
+        return services;
+    }
+
+    /**
+     * Sets the value of the services property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link ListInvokedServicesResponseType.Services }
+     *     
+     */
+    public void setServices(ListInvokedServicesResponseType.Services value) {
+        this.services = value;
+    }
+
+
+    /**
+     * <p>Java class for anonymous complex type.
+     * 
+     * <p>The following schema fragment specifies the expected content contained within this class.
+     * 
+     * <pre>
+     * &lt;complexType>
+     *   &lt;complexContent>
+     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *       &lt;sequence>
+     *         &lt;element name="service" type="{http://jboss.org/soa/esb/services/semantics/monitoring/model}ServiceMetatDataType" maxOccurs="unbounded"/>
+     *       &lt;/sequence>
+     *     &lt;/restriction>
+     *   &lt;/complexContent>
+     * &lt;/complexType>
+     * </pre>
+     * 
+     * 
+     */
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "", propOrder = {
+        "service"
+    })
+    public static class Services {
+
+        @XmlElement(required = true)
+        protected List<ServiceMetatDataType> service = new ArrayList<ServiceMetatDataType>();
+
+        /**
+         * Gets the value of the service property.
+         * 
+         * <p>
+         * This accessor method returns a reference to the live list,
+         * not a snapshot. Therefore any modification you make to the
+         * returned list will be present inside the JAXB object.
+         * This is why there is not a <CODE>set</CODE> method for the service property.
+         * 
+         * <p>
+         * For example, to add a new item, do as follows:
+         * <pre>
+         *    getService().add(newItem);
+         * </pre>
+         * 
+         * 
+         * <p>
+         * Objects of the following type(s) are allowed in the list
+         * {@link ServiceMetatDataType }
+         * 
+         * 
+         */
+        public List<ServiceMetatDataType> getService() {
+            if (service == null) {
+                service = new ArrayList<ServiceMetatDataType>();
+            }
+            return this.service;
+        }
+
+    }
+
+}

Added: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/monitoring/model/MonitoringRequestType.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/monitoring/model/MonitoringRequestType.java	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/monitoring/model/MonitoringRequestType.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -0,0 +1,62 @@
+
+package org.jboss.soa.esb.services.semantics.monitoring.model;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for MonitoringRequestType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="MonitoringRequestType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;choice>
+ *           &lt;element name="listInvokedServicesLastExecutionCommand" type="{http://jboss.org/soa/esb/services/semantics/monitoring/model}ListInvokedServicesRequestType"/>
+ *         &lt;/choice>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "MonitoringRequestType", propOrder = {
+    "listInvokedServicesLastExecutionCommand"
+})
+public class MonitoringRequestType {
+
+    protected ListInvokedServicesRequestType listInvokedServicesLastExecutionCommand;
+
+    /**
+     * Gets the value of the listInvokedServicesLastExecutionCommand property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link ListInvokedServicesRequestType }
+     *     
+     */
+    public ListInvokedServicesRequestType getListInvokedServicesLastExecutionCommand() {
+        return listInvokedServicesLastExecutionCommand;
+    }
+
+    /**
+     * Sets the value of the listInvokedServicesLastExecutionCommand property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link ListInvokedServicesRequestType }
+     *     
+     */
+    public void setListInvokedServicesLastExecutionCommand(ListInvokedServicesRequestType value) {
+        this.listInvokedServicesLastExecutionCommand = value;
+    }
+
+}

Added: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/monitoring/model/MonitoringResponseType.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/monitoring/model/MonitoringResponseType.java	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/monitoring/model/MonitoringResponseType.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -0,0 +1,64 @@
+
+package org.jboss.soa.esb.services.semantics.monitoring.model;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for MonitoringResponseType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="MonitoringResponseType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="listInvokedServicesLastExecution" type="{http://jboss.org/soa/esb/services/semantics/monitoring/model}ListInvokedServicesResponseType"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "MonitoringResponseType", propOrder = {
+    "listInvokedServicesLastExecution"
+})
+ at XmlRootElement
+public class MonitoringResponseType {
+
+    @XmlElement(required = true)
+    protected ListInvokedServicesResponseType listInvokedServicesLastExecution;
+
+    /**
+     * Gets the value of the listInvokedServicesLastExecution property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link ListInvokedServicesResponseType }
+     *     
+     */
+    public ListInvokedServicesResponseType getListInvokedServicesLastExecution() {
+        return listInvokedServicesLastExecution;
+    }
+
+    /**
+     * Sets the value of the listInvokedServicesLastExecution property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link ListInvokedServicesResponseType }
+     *     
+     */
+    public void setListInvokedServicesLastExecution(ListInvokedServicesResponseType value) {
+        this.listInvokedServicesLastExecution = value;
+    }
+
+}

Added: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/monitoring/model/ObjectFactory.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/monitoring/model/ObjectFactory.java	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/monitoring/model/ObjectFactory.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -0,0 +1,126 @@
+
+package org.jboss.soa.esb.services.semantics.monitoring.model;
+
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.annotation.XmlElementDecl;
+import javax.xml.bind.annotation.XmlRegistry;
+import javax.xml.namespace.QName;
+
+
+/**
+ * This object contains factory methods for each 
+ * Java content interface and Java element interface 
+ * generated in the org.jboss.soa.esb.services.semantics.monitoring.model package. 
+ * <p>An ObjectFactory allows you to programatically 
+ * construct new instances of the Java representation 
+ * for XML content. The Java representation of XML 
+ * content can consist of schema derived interfaces 
+ * and classes representing the binding of schema 
+ * type definitions, element declarations and model 
+ * groups.  Factory methods for each of these are 
+ * provided in this class.
+ * 
+ */
+ at XmlRegistry
+public class ObjectFactory {
+
+    private final static QName _ManagerFault_QNAME = new QName("http://jboss.org/soa/esb/services/semantics/monitoring/model", "managerFault");
+    private final static QName _MonitoringResponseElement_QNAME = new QName("http://jboss.org/soa/esb/services/semantics/monitoring/model", "monitoringResponseElement");
+    private final static QName _MonitoringRequestElement_QNAME = new QName("http://jboss.org/soa/esb/services/semantics/monitoring/model", "monitoringRequestElement");
+
+    private static final ObjectFactory INSTANCE = new ObjectFactory();
+    /**
+     * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: org.jboss.soa.esb.services.semantics.monitoring.model
+     * 
+     */
+    private ObjectFactory() {
+    }
+    
+    public static ObjectFactory getInstance(){
+    	return INSTANCE;
+    }
+
+    /**
+     * Create an instance of {@link ListInvokedServicesResponseType }
+     * 
+     */
+    public ListInvokedServicesResponseType createListInvokedServicesResponseType() {
+        return new ListInvokedServicesResponseType();
+    }
+
+    /**
+     * Create an instance of {@link Fault }
+     * 
+     */
+    public Fault createFault() {
+        return new Fault();
+    }
+
+    /**
+     * Create an instance of {@link ListInvokedServicesRequestType }
+     * 
+     */
+    public ListInvokedServicesRequestType createListInvokedServicesRequestType() {
+        return new ListInvokedServicesRequestType();
+    }
+
+    /**
+     * Create an instance of {@link MonitoringResponseType }
+     * 
+     */
+    public MonitoringResponseType createMonitoringResponseType() {
+        return new MonitoringResponseType();
+    }
+
+    /**
+     * Create an instance of {@link ServiceMetatDataType }
+     * 
+     */
+    public ServiceMetatDataType createServiceMetatDataType() {
+        return new ServiceMetatDataType();
+    }
+
+    /**
+     * Create an instance of {@link MonitoringRequestType }
+     * 
+     */
+    public MonitoringRequestType createMonitoringRequestType() {
+        return new MonitoringRequestType();
+    }
+
+    /**
+     * Create an instance of {@link ListInvokedServicesResponseType.Services }
+     * 
+     */
+    public ListInvokedServicesResponseType.Services createListInvokedServicesResponseTypeServices() {
+        return new ListInvokedServicesResponseType.Services();
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link Fault }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://jboss.org/soa/esb/services/semantics/monitoring/model", name = "managerFault")
+    public JAXBElement<Fault> createManagerFault(Fault value) {
+        return new JAXBElement<Fault>(_ManagerFault_QNAME, Fault.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link MonitoringResponseType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://jboss.org/soa/esb/services/semantics/monitoring/model", name = "monitoringResponseElement")
+    public JAXBElement<MonitoringResponseType> createMonitoringResponseElement(MonitoringResponseType value) {
+        return new JAXBElement<MonitoringResponseType>(_MonitoringResponseElement_QNAME, MonitoringResponseType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link MonitoringRequestType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://jboss.org/soa/esb/services/semantics/monitoring/model", name = "monitoringRequestElement")
+    public JAXBElement<MonitoringRequestType> createMonitoringRequestElement(MonitoringRequestType value) {
+        return new JAXBElement<MonitoringRequestType>(_MonitoringRequestElement_QNAME, MonitoringRequestType.class, null, value);
+    }
+
+}

Added: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/monitoring/model/ServiceMetatDataType.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/monitoring/model/ServiceMetatDataType.java	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/monitoring/model/ServiceMetatDataType.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -0,0 +1,120 @@
+
+package org.jboss.soa.esb.services.semantics.monitoring.model;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for ServiceMetatDataType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="ServiceMetatDataType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         &lt;element name="uri" type="{http://www.w3.org/2001/XMLSchema}anyURI"/>
+ *         &lt;element name="description" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "ServiceMetatDataType", propOrder = {
+    "name",
+    "uri",
+    "description"
+})
+public class ServiceMetatDataType {
+
+    @XmlElement(required = true)
+    protected String name;
+    @XmlElement(required = true)
+    @XmlSchemaType(name = "anyURI")
+    protected String uri;
+    @XmlElement(required = true)
+    protected String description;
+
+    /**
+     * Gets the value of the name property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getName() {
+        return name;
+    }
+
+    /**
+     * Sets the value of the name property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setName(String value) {
+        this.name = value;
+    }
+
+    /**
+     * Gets the value of the uri property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getUri() {
+        return uri;
+    }
+
+    /**
+     * Sets the value of the uri property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setUri(String value) {
+        this.uri = value;
+    }
+
+    /**
+     * Gets the value of the description property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getDescription() {
+        return description;
+    }
+
+    /**
+     * Sets the value of the description property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setDescription(String value) {
+        this.description = value;
+    }
+
+}

Added: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/monitoring/model/package-info.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/monitoring/model/package-info.java	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/monitoring/model/package-info.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -0,0 +1,2 @@
+ at javax.xml.bind.annotation.XmlSchema(namespace = "http://jboss.org/soa/esb/services/semantics/monitoring/model", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
+package org.jboss.soa.esb.services.semantics.monitoring.model;

Modified: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/utils/Constants.java
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/utils/Constants.java	2010-09-16 20:52:16 UTC (rev 35167)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/java/org/jboss/soa/esb/services/semantics/utils/Constants.java	2010-09-16 20:54:05 UTC (rev 35168)
@@ -1,19 +1,30 @@
 package org.jboss.soa.esb.services.semantics.utils;
 
 import org.jboss.soa.esb.services.semantics.model.ServiceQueryRequestType;
+import org.jboss.soa.esb.services.semantics.monitoring.model.ListInvokedServicesRequestType;
+import org.jboss.soa.esb.services.semantics.configuration.model.RegistrationRequestType;
 
 /**
  * Class containing constants used by the semantics JBoss ESB service
  * 
  * @author <a href="mailto:johan.kumps at telenet.be">Johan Kumps</a>
- *
+ * 
  */
 public class Constants {
 
 	public static final String DISCOVERED_SERVICE_URIS_MESSAGE_KEY = "discoveredServiceURIs";
 	public static final String CONSUMER_INPUTS_MESSAGE_KEY = "consumerInputs";
-	public static final String SELECTED_SERVICE_URI_MESSAGE_KEY = "selectedServiceURI";
+	public static final String SELECTED_SERVICES_URI_MESSAGE_KEY = "selectedServicesURI";
+
+	public static final String SEMANTIC_MODEL_PACKAGE = ServiceQueryRequestType.class
+			.getPackage().getName();
 	
-	public static final String SEMANTIC_MODEL_PACKAGE = ServiceQueryRequestType.class.getPackage().getName();
+	public static final String SEMANTIC_CONFIGURATION_MODEL_PACKAGE = RegistrationRequestType.class
+	.getPackage().getName();
 	
+	public static final String SEMANTIC_MONITORING_MODEL_PACKAGE = ListInvokedServicesRequestType.class
+	.getPackage().getName();
+
+	public static final String SERVICE_QUERY_RESPONSE_FACTORY_CLASS_NAME_CONFIG_ATTRIBUTE_NAME = "serviceQueryResponseFactoryClass";
+
 }

Modified: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/resources/META-INF/jboss-esb.xml
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/resources/META-INF/jboss-esb.xml	2010-09-16 20:52:16 UTC (rev 35167)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/resources/META-INF/jboss-esb.xml	2010-09-16 20:54:05 UTC (rev 35168)
@@ -5,12 +5,37 @@
 
 	<providers>
 		<jms-provider name="JBossMQ" connection-factory="ConnectionFactory">
-			<jms-bus busid="quickstartEsbChannel">
+			<jms-bus busid="SemanticServiceInvokerEsbChannel">
 				<jms-message-filter dest-type="QUEUE"
-					dest-name="queue/semanticServiceInvoker"
-					selector="serviceName='SemanticServiceInvoker'" />
+					dest-name="queue/semanticServiceInvoker" selector="serviceName='SemanticServiceInvoker'" />
 			</jms-bus>
-
+			
+			<jms-bus busid="ManagementCBR_RequestEsbChannel">
+				<jms-message-filter dest-type="QUEUE"
+					dest-name="queue/ManagementCBR_Request" selector="serviceName='SemanticServiceRegistryManager'" />
+			</jms-bus>
+			<jms-bus busid="CBR_ToRegistrationEsbChannel">
+				<jms-message-filter dest-type="QUEUE"
+					dest-name="queue/CBR_ToRegistration" />
+			</jms-bus>
+			<jms-bus busid="CBR_ToUnRegistrationEsbChannel">
+				<jms-message-filter dest-type="QUEUE"
+					dest-name="queue/CBR_ToUnRegistration" />
+			</jms-bus>
+			<jms-bus busid="CBR_ToIsRegisteredEsbChannel">
+				<jms-message-filter dest-type="QUEUE"
+					dest-name="queue/CBR_ToIsRegistered" />
+			</jms-bus>
+			<jms-bus busid="CBR_ToListRegisteredEsbChannel"> <jms-message-filter
+				dest-type="QUEUE" dest-name="queue/CBR_ToListRegistered" /> </jms-bus>
+			<jms-bus busid="SSOA_MonitorEsbChannel">
+				<jms-message-filter dest-type="QUEUE"
+					dest-name="queue/ssoaMonitor" selector="serviceName='SSOA_Monitor'" />
+			</jms-bus>
+			<jms-bus busid="CBR_ToListInvokedServicesEsbChannel">
+				<jms-message-filter dest-type="QUEUE"
+					dest-name="queue/CBR_ToListInvokedServices" />
+			</jms-bus>
 		</jms-provider>
 	</providers>
 
@@ -18,7 +43,7 @@
 		<service category="SSOA" name="SemanticServiceInvoker"
 			description="Service the semantic service consumer invokes to achieve its goal">
 			<listeners>
-				<jms-listener name="SemanticServiceInvoker" busidref="quickstartEsbChannel"
+				<jms-listener name="SemanticServiceInvoker" busidref="SemanticServiceInvokerEsbChannel"
 					maxThreads="1" />
 			</listeners>
 			<actions inXsd="/request.xsd" outXsd="/response.xsd"
@@ -27,12 +52,125 @@
 					class="org.jboss.soa.esb.services.semantics.actions.discovery.SPARQLDiscoveryAction"
 					process="discover" />
 				<action name="select"
-					class="org.jboss.soa.esb.services.semantics.actions.selection.FirstMatchSelectionAction"
+					class="org.jboss.soa.esb.services.semantics.actions.selection.AllMatchesServiceSelectionAction"
 					process="select" />
 				<action name="invoke"
 					class="org.jboss.soa.esb.services.semantics.actions.invocation.ServiceInvocationAction"
 					process="invoke" />
 			</actions>
 		</service>
+
+		<service category="SSOA" name="SemanticServiceRegistryManager"
+			description="Service the semantic service consumer invokes to manage semantic service references">
+			<listeners>
+				<jms-listener name="SemanticServiceRegistryManager"
+					busidref="ManagementCBR_RequestEsbChannel" maxThreads="1" />
+			</listeners>
+			<actions inXsd="/manager-request.xsd" outXsd="/manager-response.xsd"
+				faultXsd="/manager-fault.xsd" validate="false">
+				<action class="org.jboss.soa.esb.actions.ContentBasedRouter"
+					name="ContentBasedRouter">
+					<property name="cbrAlias" value="XPath" />
+					<property name="destinations">
+						<namespace prefix="semconf"
+							uri="http://jboss.org/soa/esb/services/semantics/configuration/model" />
+
+						<route-to service-category="SSOA" service-name="Registration"
+							expression="count(/semconf:managementRequestElement/semconf:registrationCommand)>0" />
+						<route-to service-category="SSOA" service-name="UnRegistration"
+							expression="count(/semconf:managementRequestElement/semconf:unRegistrationCommand)>0" />
+						<route-to service-category="SSOA" service-name="IsRegistered"
+							expression="count(/semconf:managementRequestElement/semconf:isRegisteredCommand)>0" />
+						<route-to service-category="SSOA" service-name="ListRegistered"
+							expression="count(/semconf:managementRequestElement/semconf:listRegisteredCommand)>0" />
+						<!--
+							<route-to service-category="SSOA" service-name="GetMetaData"
+							expression="/semconf:Order[@statusCode='2']" />
+						-->
+					</property>
+				</action>
+			</actions>
+		</service>
+
+		<!-- Registration -->
+		<service category="SSOA" name="Registration" description="Move to the Blue Team">
+			<listeners>
+				<jms-listener name="CBR_ToRegistration" busidref="CBR_ToRegistrationEsbChannel" />
+			</listeners>
+			<actions>
+				<action name="executeRegistration"
+					class="org.jboss.soa.esb.services.semantics.configuration.actions.OWLKnowledgeBaseManagementAction"
+					process="register" />
+			</actions>
+		</service>
+		<!-- UnRegistration -->
+		<service category="SSOA" name="UnRegistration" description="Move to the Blue Team">
+			<listeners>
+				<jms-listener name="CBR_ToUnRegistration" busidref="CBR_ToUnRegistrationEsbChannel" />
+			</listeners>
+			<actions>
+				<action name="executeUnRegistration"
+					class="org.jboss.soa.esb.services.semantics.configuration.actions.OWLKnowledgeBaseManagementAction"
+					process="unRegister" />
+			</actions>
+		</service>
+		<!-- IsRegistered -->
+		<service category="SSOA" name="IsRegistered" description="Move to the Blue Team">
+			<listeners>
+				<jms-listener name="CBR_ToIsRegistered" busidref="CBR_ToIsRegisteredEsbChannel" />
+			</listeners>
+			<actions>
+				<action name="executeUnRegistration"
+					class="org.jboss.soa.esb.services.semantics.configuration.actions.OWLKnowledgeBaseManagementAction"
+					process="isRegistered" />
+			</actions>
+		</service>
+		<!-- ListRegistered -->
+		<service category="SSOA" name="ListRegistered" description="Move to the Blue Team">
+			<listeners>
+				<jms-listener name="CBR_ToListRegistered" busidref="CBR_ToListRegisteredEsbChannel" />
+			</listeners>
+			<actions>
+				<action name="executeUnRegistration"
+					class="org.jboss.soa.esb.services.semantics.configuration.actions.OWLKnowledgeBaseManagementAction"
+					process="listRegistered" />
+			</actions>
+		</service>
+		
+		<!-- Monitoring -->
+		<service category="SSOA" name="SSOA_Monitor"
+			description="Service to be used to get runtime information about the execution environment">
+			<listeners>
+				<jms-listener name="SSOA_Monitor"
+					busidref="SSOA_MonitorEsbChannel" maxThreads="1" />
+			</listeners>
+			<actions inXsd="/monitor-request.xsd" outXsd="/monitor-response.xsd"
+				faultXsd="/monitor-fault.xsd" validate="false">
+				<action class="org.jboss.soa.esb.actions.ContentBasedRouter"
+					name="ContentBasedRouter">
+					<property name="cbrAlias" value="XPath" />
+					<property name="destinations">
+						<namespace prefix="semmon"
+							uri="http://jboss.org/soa/esb/services/semantics/monitoring/model" />
+
+						<route-to service-category="SSOA" service-name="ListInvokedServices"
+							expression="count(/semmon:monitoringRequestElement/semmon:listInvokedServicesLastExecutionCommand)>0" />
+						
+					</property>
+				</action>
+			</actions>
+		</service>
+
+		<!-- Registration -->
+		<service category="SSOA" name="ListInvokedServices" description="Move to the Blue Team">
+			<listeners>
+				<jms-listener name="CBR_ToListInvokedServices" busidref="CBR_ToListInvokedServicesEsbChannel" />
+			</listeners>
+			<actions>
+				<action name="ListInvokedServices"
+					class="org.jboss.soa.esb.services.semantics.monitoring.actions.ServiceInvocationMonitoringAction"
+					process="listServicesLastInvocation" />
+			</actions>
+		</service>
 	</services>
 </jbossesb>

Modified: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/resources/common.xsd
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/resources/common.xsd	2010-09-16 20:52:16 UTC (rev 35167)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/resources/common.xsd	2010-09-16 20:54:05 UTC (rev 35168)
@@ -11,15 +11,15 @@
 		</xs:sequence>
 	</xs:complexType>
 	
-	<xs:complexType name="InputType">
+	<xs:complexType name="ObjectTypeInputType">
 		<xs:sequence>
 			<xs:element name="class" type="xs:anyURI"/>
-			<xs:element name="dataValue" type="tns:DataValueType" minOccurs="0" maxOccurs="unbounded"/>
-			<xs:element name="objectValue" type="tns:ObjectValueType" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="dataTypeValue" type="tns:DataTypeValueType" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="objectTypeValue" type="tns:ObjectTypeValueType" minOccurs="0" maxOccurs="unbounded"/>
 		</xs:sequence>
 	</xs:complexType>
 	
-	<xs:complexType name="DataValueType">
+	<xs:complexType name="DataTypeValueType">
 		<xs:sequence>
 			<xs:element name="class" type="xs:anyURI"/>
 			<xs:element name="name" type="xs:anyURI"/>
@@ -27,11 +27,11 @@
 		</xs:sequence>
 	</xs:complexType>
 
-	<xs:complexType name="ObjectValueType">
+	<xs:complexType name="ObjectTypeValueType">
 		<xs:sequence>
 			<xs:element name="class" type="xs:anyURI"/>
 			<xs:element name="name" type="xs:anyURI"/>
-			<xs:element name="dataValue" type="tns:DataValueType" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="dataValue" type="tns:DataTypeValueType" minOccurs="0" maxOccurs="unbounded"/>
 		</xs:sequence>
 	</xs:complexType>	
 </xs:schema>

Modified: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/resources/jbm-queue-service.xml
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/resources/jbm-queue-service.xml	2010-09-16 20:52:16 UTC (rev 35167)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/resources/jbm-queue-service.xml	2010-09-16 20:54:05 UTC (rev 35168)
@@ -14,17 +14,102 @@
 		</depends>
 		<depends>jboss.messaging:service=PostOffice</depends>
 	</mbean>
-	<!--<mbean code="org.jboss.jms.server.destination.QueueService"
-		name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_publish_as_webservice_Request_esb"
+	<mbean code="org.jboss.jms.server.destination.QueueService"
+		name="jboss.esb.quickstart.destination:service=Queue,name=ManagementCBR_Request"
 		xmbean-dd="xmdesc/Queue-xmbean.xml">
 		<depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer
 		</depends>
 		<depends>jboss.messaging:service=PostOffice</depends>
 	</mbean>
-	  <mbean code="org.jboss.jms.server.destination.QueueService"
-    name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_publish_as_webservice_Request_esb_reply"
-    xmbean-dd="xmdesc/Queue-xmbean.xml">
-	<depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
-	<depends>jboss.messaging:service=PostOffice</depends>
-  </mbean>
---></server>
+	<mbean code="org.jboss.jms.server.destination.QueueService"
+		name="jboss.esb.quickstart.destination:service=Queue,name=ManagementCBR_Request_reply"
+		xmbean-dd="xmdesc/Queue-xmbean.xml">
+		<depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer
+		</depends>
+		<depends>jboss.messaging:service=PostOffice</depends>
+	</mbean>
+	<mbean code="org.jboss.jms.server.destination.QueueService"
+		name="jboss.esb.quickstart.destination:service=Queue,name=CBR_ToRegistration"
+		xmbean-dd="xmdesc/Queue-xmbean.xml">
+		<depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer
+		</depends>
+		<depends>jboss.messaging:service=PostOffice</depends>
+	</mbean>
+	<mbean code="org.jboss.jms.server.destination.QueueService"
+		name="jboss.esb.quickstart.destination:service=Queue,name=CBR_ToRegistration_reply"
+		xmbean-dd="xmdesc/Queue-xmbean.xml">
+		<depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer
+		</depends>
+		<depends>jboss.messaging:service=PostOffice</depends>
+	</mbean>
+	<mbean code="org.jboss.jms.server.destination.QueueService"
+		name="jboss.esb.quickstart.destination:service=Queue,name=CBR_ToUnRegistration"
+		xmbean-dd="xmdesc/Queue-xmbean.xml">
+		<depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer
+		</depends>
+		<depends>jboss.messaging:service=PostOffice</depends>
+	</mbean>
+	<mbean code="org.jboss.jms.server.destination.QueueService"
+		name="jboss.esb.quickstart.destination:service=Queue,name=CBR_ToUnRegistration_reply"
+		xmbean-dd="xmdesc/Queue-xmbean.xml">
+		<depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer
+		</depends>
+		<depends>jboss.messaging:service=PostOffice</depends>
+	</mbean>
+	<mbean code="org.jboss.jms.server.destination.QueueService"
+		name="jboss.esb.quickstart.destination:service=Queue,name=CBR_ToIsRegistered"
+		xmbean-dd="xmdesc/Queue-xmbean.xml">
+		<depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer
+		</depends>
+		<depends>jboss.messaging:service=PostOffice</depends>
+	</mbean>
+	<mbean code="org.jboss.jms.server.destination.QueueService"
+		name="jboss.esb.quickstart.destination:service=Queue,name=CBR_ToIsRegistered_reply"
+		xmbean-dd="xmdesc/Queue-xmbean.xml">
+		<depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer
+		</depends>
+		<depends>jboss.messaging:service=PostOffice</depends>
+	</mbean>
+	<mbean code="org.jboss.jms.server.destination.QueueService"
+		name="jboss.esb.quickstart.destination:service=Queue,name=CBR_ToListRegistered"
+		xmbean-dd="xmdesc/Queue-xmbean.xml">
+		<depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer
+		</depends>
+		<depends>jboss.messaging:service=PostOffice</depends>
+	</mbean>
+	<mbean code="org.jboss.jms.server.destination.QueueService"
+		name="jboss.esb.quickstart.destination:service=Queue,name=CBR_ToListRegistered_reply"
+		xmbean-dd="xmdesc/Queue-xmbean.xml">
+		<depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer
+		</depends>
+		<depends>jboss.messaging:service=PostOffice</depends>
+	</mbean>
+	<mbean code="org.jboss.jms.server.destination.QueueService"
+		name="jboss.esb.quickstart.destination:service=Queue,name=ssoaMonitor"
+		xmbean-dd="xmdesc/Queue-xmbean.xml">
+		<depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer
+		</depends>
+		<depends>jboss.messaging:service=PostOffice</depends>
+	</mbean>
+	<mbean code="org.jboss.jms.server.destination.QueueService"
+		name="jboss.esb.quickstart.destination:service=Queue,name=ssoaMonitor_reply"
+		xmbean-dd="xmdesc/Queue-xmbean.xml">
+		<depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer
+		</depends>
+		<depends>jboss.messaging:service=PostOffice</depends>
+	</mbean>
+		<mbean code="org.jboss.jms.server.destination.QueueService"
+		name="jboss.esb.quickstart.destination:service=Queue,name=CBR_ToListInvokedServices"
+		xmbean-dd="xmdesc/Queue-xmbean.xml">
+		<depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer
+		</depends>
+		<depends>jboss.messaging:service=PostOffice</depends>
+	</mbean>
+	<mbean code="org.jboss.jms.server.destination.QueueService"
+		name="jboss.esb.quickstart.destination:service=Queue,name=CBR_ToListInvokedServices_reply"
+		xmbean-dd="xmdesc/Queue-xmbean.xml">
+		<depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer
+		</depends>
+		<depends>jboss.messaging:service=PostOffice</depends>
+	</mbean>
+</server>

Added: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/resources/manager-common.xsd
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/resources/manager-common.xsd	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/resources/manager-common.xsd	2010-09-16 20:54:05 UTC (rev 35168)
@@ -0,0 +1,13 @@
+<xs:schema version="1.0" targetNamespace="http://jboss.org/soa/esb/services/semantics/configuration/model"
+	xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns:tns="http://jboss.org/soa/esb/services/semantics/configuration/model">
+		<xs:complexType name="BaseCommandType">
+		<xs:sequence>
+			<xs:element name="serviceURI" type="xs:anyURI"/>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="BaseCommandResponseType">
+		<xs:sequence>
+			<xs:element name="serviceURI" type="xs:anyURI"/>
+		</xs:sequence>
+	</xs:complexType>
+</xs:schema>

Added: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/resources/manager-fault.xsd
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/resources/manager-fault.xsd	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/resources/manager-fault.xsd	2010-09-16 20:54:05 UTC (rev 35168)
@@ -0,0 +1,9 @@
+<xs:schema version="1.0" targetNamespace="http://jboss.org/soa/esb/services/semantics/configuration/model" xmlns:x1="http://jboss.org/soa/esb/services/semantics/configuration/model"  xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+  <xs:element name="managerFault" type="x1:fault"/>
+  <xs:complexType name="fault">
+    <xs:sequence>
+      <xs:element name="code" type="xs:string"/>
+      <xs:element name="faultString" type="xs:string"/>
+    </xs:sequence>
+  </xs:complexType>
+</xs:schema>
\ No newline at end of file

Added: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/resources/manager-request.xsd
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/resources/manager-request.xsd	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/resources/manager-request.xsd	2010-09-16 20:54:05 UTC (rev 35168)
@@ -0,0 +1,47 @@
+<xs:schema version="1.0" targetNamespace="http://jboss.org/soa/esb/services/semantics/configuration/model"
+	xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns:tns="http://jboss.org/soa/esb/services/semantics/configuration/model">
+	
+	<xs:include schemaLocation="manager-common.xsd"/>
+	
+	<xs:complexType name="RegistrationRequestType">
+		<xs:sequence>
+			<xs:element name="serviceURI" type="xs:anyURI"/>
+		</xs:sequence>
+	</xs:complexType >
+	
+	<xs:complexType name="UnRegistrationRequestType">
+		<xs:sequence>
+			<xs:element name="serviceURI" type="xs:anyURI"/>
+		</xs:sequence>
+	</xs:complexType >
+	
+	<xs:complexType name="IsRegisteredRequestType">
+		<xs:sequence>
+			<xs:element name="serviceURI" type="xs:anyURI"/>
+		</xs:sequence>
+	</xs:complexType >
+	
+	<xs:complexType name="ListRegisteredRequestType">
+		<xs:sequence>
+		</xs:sequence>
+	</xs:complexType >	
+	
+	<xs:complexType name="ManagementRequestType">
+		<xs:sequence>
+			<xs:choice>
+				<xs:element name="registrationCommand" type="tns:RegistrationRequestType"/>
+				<xs:element name="unregistrationCommand" type="tns:UnRegistrationRequestType"/>
+				<xs:element name="isRegisteredCommand" type="tns:IsRegisteredRequestType"/>
+				<xs:element name="listRegisteredCommand" type="tns:ListRegisteredRequestType"/>				
+			</xs:choice>
+		</xs:sequence>
+	</xs:complexType >
+	
+	
+
+	
+	<xs:element name="managementRequestElement" type="tns:ManagementRequestType"/>
+
+
+</xs:schema>
+

Added: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/resources/manager-response.xsd
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/resources/manager-response.xsd	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/resources/manager-response.xsd	2010-09-16 20:54:05 UTC (rev 35168)
@@ -0,0 +1,58 @@
+<xs:schema version="1.0" targetNamespace="http://jboss.org/soa/esb/services/semantics/configuration/model" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns:tns="http://jboss.org/soa/esb/services/semantics/configuration/model">
+	<xs:include schemaLocation="manager-common.xsd"/>
+	<xs:complexType name="RegistrationResponseType">
+		<xs:sequence>
+			<xs:element name="message" type="xs:string"/>
+		</xs:sequence>
+	</xs:complexType >
+	
+	<xs:complexType name="ListRegisteredResponseType">
+		<xs:sequence>
+			<xs:element name="services">
+				<xs:complexType>
+					<xs:sequence>
+						<xs:element name="service" type="tns:ServiceMetatDataType" maxOccurs="unbounded"></xs:element>
+					</xs:sequence>
+				</xs:complexType>
+			</xs:element>
+		</xs:sequence>
+	</xs:complexType >
+	
+	<xs:complexType name="ServiceMetatDataType">
+		<xs:sequence>
+			<xs:element name="name" type="xs:string"/>
+			<xs:element name="uri" type="xs:anyURI"/>
+			<xs:element name="description" type="xs:string"/>
+		</xs:sequence>
+	</xs:complexType>
+	
+	<xs:complexType name="UnRegistrationResponseType">
+		<xs:sequence>
+						<xs:element name="message" type="xs:string"/>
+		</xs:sequence>
+	</xs:complexType >
+	
+	<xs:complexType name="IsRegisteredResponseType">
+		<xs:sequence>
+			<xs:element name="registered" type="xs:boolean"/>
+		</xs:sequence>
+	</xs:complexType >
+	
+	<xs:complexType name="ManagementResponseType">
+		<xs:sequence>
+			
+
+			<xs:choice>
+				<xs:element name="registrationCommand" type="tns:RegistrationResponseType"/>
+				<xs:element name="unregistrationCommand" type="tns:UnRegistrationResponseType"/>
+				<xs:element name="isRegisteredCommand" type="tns:IsRegisteredResponseType"/>
+				<xs:element name="listRegisteredCommand" type="tns:ListRegisteredResponseType"/>
+			</xs:choice>
+		</xs:sequence>
+	</xs:complexType >
+	
+	
+
+	
+	<xs:element name="maangementResponseElement" type="tns:ManagementResponseType"/>
+</xs:schema>

Added: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/resources/monitor-fault.xsd
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/resources/monitor-fault.xsd	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/resources/monitor-fault.xsd	2010-09-16 20:54:05 UTC (rev 35168)
@@ -0,0 +1,9 @@
+<xs:schema version="1.0" targetNamespace="http://jboss.org/soa/esb/services/semantics/monitoring/model" xmlns:x1="http://jboss.org/soa/esb/services/semantics/monitoring/model"  xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+  <xs:element name="managerFault" type="x1:fault"/>
+  <xs:complexType name="fault">
+    <xs:sequence>
+      <xs:element name="code" type="xs:string"/>
+      <xs:element name="faultString" type="xs:string"/>
+    </xs:sequence>
+  </xs:complexType>
+</xs:schema>
\ No newline at end of file

Added: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/resources/monitor-request.xsd
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/resources/monitor-request.xsd	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/resources/monitor-request.xsd	2010-09-16 20:54:05 UTC (rev 35168)
@@ -0,0 +1,20 @@
+<xs:schema version="1.0" targetNamespace="http://jboss.org/soa/esb/services/semantics/monitoring/model"
+	xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns:tns="http://jboss.org/soa/esb/services/semantics/monitoring/model">
+	
+	<xs:complexType name="ListInvokedServicesRequestType">
+		<xs:sequence>
+		</xs:sequence>
+	</xs:complexType >	
+	
+	<xs:complexType name="MonitoringRequestType">
+		<xs:sequence>
+			<xs:choice>
+				<xs:element name="listInvokedServicesLastExecutionCommand" type="tns:ListInvokedServicesRequestType"/>			
+			</xs:choice>
+		</xs:sequence>
+	</xs:complexType >
+	
+	<xs:element name="monitoringRequestElement" type="tns:MonitoringRequestType"/>
+
+</xs:schema>
+

Added: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/resources/monitor-response.xsd
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/resources/monitor-response.xsd	                        (rev 0)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/resources/monitor-response.xsd	2010-09-16 20:54:05 UTC (rev 35168)
@@ -0,0 +1,31 @@
+<xs:schema version="1.0" targetNamespace="http://jboss.org/soa/esb/services/semantics/monitoring/model" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns:tns="http://jboss.org/soa/esb/services/semantics/monitoring/model">
+
+	
+	<xs:complexType name="ListInvokedServicesResponseType">
+		<xs:sequence>
+			<xs:element name="services">
+				<xs:complexType>
+					<xs:sequence>
+						<xs:element name="service" type="tns:ServiceMetatDataType" maxOccurs="unbounded"></xs:element>
+					</xs:sequence>
+				</xs:complexType>
+			</xs:element>
+		</xs:sequence>
+	</xs:complexType >
+	
+	<xs:complexType name="ServiceMetatDataType">
+		<xs:sequence>
+			<xs:element name="name" type="xs:string"/>
+			<xs:element name="uri" type="xs:anyURI"/>
+			<xs:element name="description" type="xs:string"/>
+		</xs:sequence>
+	</xs:complexType>
+	
+	<xs:complexType name="MonitoringResponseType">
+		<xs:sequence>
+			<xs:element name="listInvokedServicesLastExecution" type="tns:ListInvokedServicesResponseType"/>
+		</xs:sequence>
+	</xs:complexType >
+	
+	<xs:element name="monitoringResponseElement" type="tns:MonitoringResponseType"/>
+</xs:schema>

Modified: labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/resources/request.xsd
===================================================================
--- labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/resources/request.xsd	2010-09-16 20:52:16 UTC (rev 35167)
+++ labs/jbossesb/workspace/johan.kumps/product/services/semantics/src/main/resources/request.xsd	2010-09-16 20:54:05 UTC (rev 35168)
@@ -15,7 +15,11 @@
 			<xs:element name="inputs" minOccurs="0">
 				<xs:complexType>
 					<xs:sequence>
-						<xs:element name="input" type="tns:InputType" maxOccurs="unbounded"/>
+						<xs:choice>
+							<xs:element name="objectTypeInput" type="tns:ObjectTypeInputType" maxOccurs="unbounded"/>
+							<xs:element name="dataTypeInput" type="tns:DataTypeValueType" maxOccurs="unbounded"/>
+						</xs:choice>
+						
 					</xs:sequence>
 				</xs:complexType>
 			</xs:element>



More information about the jboss-svn-commits mailing list