1 2 Previous Next 15 Replies Latest reply on Jul 31, 2009 5:25 PM by jonniezg Go to original post
      • 15. Re: Heads up on possible deployment error (HTML.Version)
        jonniezg

        Hi everyone.


        Sorry for bringing this up after a few months, but here's what I usually do:


        1. Download and copy the src/jpdl/org/jbpm/jpdl/xml/JpdlParser.java from the jbpm-jpdl 3.2.2 distribution to your project, as Dan already described.


        2. Alter the nested JpdlEntityResolver class as follows:


          static class JpdlEntityResolver implements EntityResolver, Serializable {
            ...
            public InputSource resolveEntity(String publicId, String systemId) throws SAXException, IOException {
              private static final String SEAM_NAMESPACE = "http://jboss.com/products/seam/";
              ...
              if ("http://jbpm.org/jpdl-3.2.xsd".equals(systemId)) {
                ... <- else if's       
               } else if (systemId.startsWith(SEAM_NAMESPACE)) {
                     log.debug("recognized Seam namespace; attempting to resolve on classpath under org/jboss/seam/");
                     String path = "org/jboss/seam/" + systemId.substring(SEAM_NAMESPACE.length());
                     try {
                          inputSource = new InputSource(org.jboss.seam.Seam.class.getResourceAsStream(path));
                     } catch (Exception e) {
                          log.debug(e.toString());
                     }
              }
              
              if (inputSource == null) {
                log.debug("original systemId as input source");
                inputSource = new InputSource(systemId);
              }
              return inputSource;
            }
          }
        


        This way it tries to load a resource from the Seam package, but in case it fails, it tries the orignal systemId.



        1 2 Previous Next