/* (non-Javadoc)
  * @see org.fosstrak.ale.wsdl.ale.epcglobal.ALEServicePortType#getECSpec(org.fosstrak.ale.wsdl.ale.epcglobal.GetECSpec  parms )*
  */
 public org.fosstrak.ale.xsd.ale.epcglobal.ECSpec getECSpec(GetECSpec parms)
     throws ImplementationExceptionResponse, SecurityExceptionResponse,
         NoSuchNameExceptionResponse {
   log.debug("getECSpec");
   try {
     return ale.getECSpec(parms.getSpecName());
   } catch (org.fosstrak.ale.exception.NoSuchNameException e) {
     throw new NoSuchNameExceptionResponse(e.getMessage(), e);
   }
 }
  /* (non-Javadoc)
   * @see org.fosstrak.ale.wsdl.ale.epcglobal.ALEServicePortType#getECSpecNames(org.fosstrak.ale.wsdl.ale.epcglobal.EmptyParms  parms )*
   */
  public org.fosstrak.ale.wsdl.ale.epcglobal.ArrayOfString getECSpecNames(EmptyParms parms)
      throws ImplementationExceptionResponse, SecurityExceptionResponse {
    log.debug("getECSpecNames");
    ArrayOfString aof = new ArrayOfString();

    for (String sub : ale.getECSpecNames()) {
      aof.getString().add(sub);
    }
    return aof;
  }
 /* (non-Javadoc)
  * @see org.fosstrak.ale.wsdl.ale.epcglobal.ALEServicePortType#define(org.fosstrak.ale.wsdl.ale.epcglobal.Define  parms )*
  */
 public org.fosstrak.ale.wsdl.ale.epcglobal.VoidHolder define(Define parms)
     throws ECSpecValidationExceptionResponse, ImplementationExceptionResponse,
         SecurityExceptionResponse, DuplicateNameExceptionResponse {
   log.debug("define");
   try {
     ale.define(parms.getSpecName(), parms.getSpec());
   } catch (Exception e) {
     log.error("caught exception during define:", e);
   }
   return new VoidHolder();
 }
 /* (non-Javadoc)
  * @see org.fosstrak.ale.wsdl.ale.epcglobal.ALEServicePortType#undefine(org.fosstrak.ale.wsdl.ale.epcglobal.Undefine  parms )*
  */
 public org.fosstrak.ale.wsdl.ale.epcglobal.VoidHolder undefine(Undefine parms)
     throws ImplementationExceptionResponse, SecurityExceptionResponse,
         NoSuchNameExceptionResponse {
   log.debug("undefine");
   try {
     ale.undefine(parms.getSpecName());
   } catch (org.fosstrak.ale.exception.NoSuchNameException e) {
     throw new NoSuchNameExceptionResponse(e.getMessage(), e);
   }
   return new VoidHolder();
 }
 /* (non-Javadoc)
  * @see org.fosstrak.ale.wsdl.ale.epcglobal.ALEServicePortType#immediate(org.fosstrak.ale.wsdl.ale.epcglobal.Immediate  parms )*
  */
 public org.fosstrak.ale.xsd.ale.epcglobal.ECReports immediate(Immediate parms)
     throws ECSpecValidationExceptionResponse, ImplementationExceptionResponse,
         SecurityExceptionResponse {
   log.debug("immediate");
   try {
     return ale.immediate(parms.getSpec());
   } catch (org.fosstrak.ale.exception.ECSpecValidationException e) {
     throw new ECSpecValidationExceptionResponse(e.getMessage(), e);
   } catch (org.fosstrak.ale.exception.ImplementationException e) {
     throw new ImplementationExceptionResponse(e.getMessage(), e);
   }
 }
  /* (non-Javadoc)
   * @see org.fosstrak.ale.wsdl.ale.epcglobal.ALEServicePortType#getSubscribers(org.fosstrak.ale.wsdl.ale.epcglobal.GetSubscribers  parms )*
   */
  public org.fosstrak.ale.wsdl.ale.epcglobal.ArrayOfString getSubscribers(GetSubscribers parms)
      throws ImplementationExceptionResponse, SecurityExceptionResponse,
          NoSuchNameExceptionResponse {
    log.debug("getSubscribers");
    ArrayOfString aof = new ArrayOfString();

    try {
      for (String sub : ale.getSubscribers(parms.getSpecName())) {
        aof.getString().add(sub);
      }
    } catch (org.fosstrak.ale.exception.NoSuchNameException e) {
      throw new NoSuchNameExceptionResponse(e.getMessage(), e);
    }
    return aof;
  }
 /* (non-Javadoc)
  * @see org.fosstrak.ale.wsdl.ale.epcglobal.ALEServicePortType#subscribe(org.fosstrak.ale.wsdl.ale.epcglobal.Subscribe  parms )*
  */
 public org.fosstrak.ale.wsdl.ale.epcglobal.VoidHolder subscribe(Subscribe parms)
     throws ImplementationExceptionResponse, SecurityExceptionResponse,
         NoSuchNameExceptionResponse, InvalidURIExceptionResponse,
         DuplicateSubscriptionExceptionResponse {
   log.debug("subscribe");
   try {
     ale.subscribe(parms.getSpecName(), parms.getNotificationURI());
   } catch (org.fosstrak.ale.exception.NoSuchNameException e) {
     throw new NoSuchNameExceptionResponse(e.getMessage(), e);
   } catch (org.fosstrak.ale.exception.InvalidURIException e) {
     throw new InvalidURIExceptionResponse(e.getMessage(), e);
   } catch (org.fosstrak.ale.exception.DuplicateSubscriptionException e) {
     throw new DuplicateSubscriptionExceptionResponse(e.getMessage(), e);
   }
   return new VoidHolder();
 }
 /* (non-Javadoc)
  * @see org.fosstrak.ale.wsdl.ale.epcglobal.ALEServicePortType#getStandardVersion(org.fosstrak.ale.wsdl.ale.epcglobal.EmptyParms  parms )*
  */
 public java.lang.String getStandardVersion(EmptyParms parms)
     throws ImplementationExceptionResponse {
   log.debug("getStandardVersion");
   return ale.getStandardVersion();
 }