/**
  * Invokes the service handler method.
  *
  * @param rq the ServiceRequest<CustomerProduceRq>.
  * @return the ServiceResponse<CustomerListMsg>.
  * @throws ProduceException
  */
 protected ServiceResponse<CustomerListMsg> invoke(ServiceRequest<CustomerProduceRq> rq)
     throws ProduceException {
   ServiceResponse<CustomerListMsg> rs;
   CustomerListMsg msg;
   try {
     this.validateRequest(rq);
     this.setContext(rq.getContext());
     msg = this.produceCustomer(rq.getRequestMessage());
     if ((msg == null)) {
       super.getLogger().warning("No response message defined.");
     } else {
       super.cleanServiceMessage(msg);
     }
     rs = new ServiceResponse<CustomerListMsg>(rq.getContext());
     rs.setResponseMessage(msg);
     return rs;
   } catch (ProduceException e) {
     super.getLogger().error(e);
     throw e;
   } catch (NabuccoException e) {
     super.getLogger().error(e);
     ProduceException wrappedException = new ProduceException(e);
     throw wrappedException;
   } catch (Exception e) {
     super.getLogger().error(e);
     throw new ProduceException("Error during service invocation.", e);
   }
 }
 /**
  * Invokes the service handler method.
  *
  * @param rq the ServiceRequest<TestConfigElementMsg>.
  * @return the ServiceResponse<TestConfigurationListMsg>.
  * @throws SearchException
  */
 protected ServiceResponse<TestConfigurationListMsg> invoke(
     ServiceRequest<TestConfigElementMsg> rq) throws SearchException {
   ServiceResponse<TestConfigurationListMsg> rs;
   TestConfigurationListMsg msg;
   try {
     this.validateRequest(rq);
     this.setContext(rq.getContext());
     msg = this.searchReferencingTestConfigurations(rq.getRequestMessage());
     if ((msg == null)) {
       super.getLogger().warning("No response message defined.");
     } else {
       super.cleanServiceMessage(msg);
     }
     rs = new ServiceResponse<TestConfigurationListMsg>(rq.getContext());
     rs.setResponseMessage(msg);
     return rs;
   } catch (SearchException e) {
     super.getLogger().error(e);
     throw e;
   } catch (NabuccoException e) {
     super.getLogger().error(e);
     SearchException wrappedException = new SearchException(e);
     throw wrappedException;
   } catch (Exception e) {
     super.getLogger().error(e);
     throw new SearchException("Error during service invocation.", e);
   }
 }
 /**
  * Invokes the service handler method.
  *
  * @param rq the ServiceRequest<FulltextIndexMsg>.
  * @return the ServiceResponse<EmptyServiceMessage>.
  * @throws IndexException
  */
 protected ServiceResponse<EmptyServiceMessage> invoke(ServiceRequest<FulltextIndexMsg> rq)
     throws IndexException {
   ServiceResponse<EmptyServiceMessage> rs;
   EmptyServiceMessage msg;
   try {
     this.validateRequest(rq);
     this.setContext(rq.getContext());
     msg = this.indexDocument(rq.getRequestMessage());
     if ((msg == null)) {
       super.getLogger().warning("No response message defined.");
     } else {
       super.cleanServiceMessage(msg);
     }
     rs = new ServiceResponse<EmptyServiceMessage>(rq.getContext());
     rs.setResponseMessage(msg);
     return rs;
   } catch (IndexException e) {
     super.getLogger().error(e);
     throw e;
   } catch (NabuccoException e) {
     super.getLogger().error(e);
     IndexException wrappedException = new IndexException(e);
     throw wrappedException;
   } catch (Exception e) {
     super.getLogger().error(e);
     throw new IndexException("Error during service invocation.", e);
   }
 }