Validação xml com schemas-problema com<xs:import>

Olá a todos,
Tenho uma aplicação webservice que valida um arquivo xml contra 2 schemas: xsd1 e xsd2. O xsd1 possui um elemento definido no xsd2(que define o schema de assinatura digital), então para ser reconhecido utilizo a tag <xs:import>:

&lt;xs:import namespace="http://www.w3.org/2000/09/xmldsig#"
		schemaLocation="xmldsig-core-schema_v1.00.xsd" /&gt;

Tenho uma classe para validação desse xml, e quando executo o teste no desktop, tudo sai OK. O xsd1 consegue encontrar a referência do elemento no schema da assinaura digital(xsd2), pois os 2 encontram-se na mesma pasta.

Agora o problema é quando coloco em um war. O xsd1 não consegue encontrar através do atributo ‘schemaLocation’ o xsd2.

Abaixo a classe utilizada para validar o xml. Os 2 schemas são carregados corretamente através do getResourceAsStream. O erro é exibido na hora do parse: ’ Error (2868, 37): src-resolve: Cannot resolve the name ‘ds:Signature’ to a(n) ‘element declaration’ component., ’

/**
 *
 * <p>Classe responável por validar um documento xml utilizando vários xml schemas.</p>
 */

public class XmlSchemaValidator {
  /**
   * Lista dos nomes dos schemas. Os Schemas devem estar no classpath da aplicação.
   */
  private List schemas;
  /** uma instância de &lt;code&gt;SchemaValidator&lt;/code&gt;
   */
  public XmlSchemaValidator() {
  }

  public void setSchemas(List schemas) {
    this.schemas = schemas;
  }

  public List getSchemas() {
    return schemas;
  }
  /**
   * Retorna um org.w3c.dom.Document se o documento   estiver de
   * acordo com os schemas.
   * @param document Arquivo xml a ser validado.
   * @return um org.w3c.dom.Documen se o documento for válido.
   */
  public Document validate(Object document){
    DocumentBuilderFactory factory =
        DocumentBuilderFactory.newInstance();
    factory.setNamespaceAware(true);
    factory.setValidating(true);
    factory.setAttribute(
        &quot;http://java.sun.com/xml/jaxp/properties/schemaLanguage&quot;,
        &quot;http://www.w3.org/2001/XMLSchema&quot;);
    //path xsd1=/xsd1
    //path xsd2=/xsd2
    InputStream[] schemasUrls = new InputStream[schemas.size()];
    /* criando as inputstreams para cada schema através do path*/
    for (int i = 0; i &lt schemas.size(); i++) {
      String schemaName = (String) schemas.get(i);
      schemasUrls[i] = this.getClass().getResourceAsStream(schemaName);
    }


    factory.setAttribute(
        &quot;http://java.sun.com/xml/jaxp/properties/schemaSource&quot;,
        schemasUrls);

    try {

      DocumentBuilder docBuilder = factory.newDocumentBuilder();

      DefaultErrorHandler defErrorHandler = new DefaultErrorHandler();
      docBuilder.setErrorHandler(defErrorHandler);

      org.w3c.dom.Document w3cDocument = docBuilder.parse(
         new ByteArrayInputStream( ((String) document).getBytes()));

      if(!defErrorHandler.getErrorMessages().isEmpty()){
        //exibe os erros
        defErrorHandler.getErrorMessages().toString();
        throw new IllegalStateException(&quot;XML does not conform to XMLSchema.&quot;);
      }

      return w3cDocument;
    }
    catch (Exception ex) {
      ex.printStackTrace();
      return null;
    }
  }
}

Bem é isso, já tentei de todo jeito e ainda não consegui resolver o problema no .WAR. Qualquer sugestão é bem-vinda. Valeu