9 Replies Latest reply on May 17, 2007 2:06 PM by Stuart Robertson

    Seam can't parse pages.xml without JBoss.com?

    Tony Mai Apprentice

      Could not bring up my application this morning. Seam complaint it could not parse pages.xml in the first row, third column.

      <!DOCTYPE pages PUBLIC
       "-//JBoss/Seam Pages Configuration DTD 1.2//EN"
       "http://jboss.com/products/seam/pages-1.2.dtd">
      


      Coincidently, I was not able to access this forum at that time.

      So the question is: How dependening on JBoss.com is Seam? Does Seam need Internet access (aka intranet application may not have access to outside network)?

      Thanks

        • 1. Re: Seam can't parse pages.xml without JBoss.com?
          Norman Richards Master

          What version of Seam are you using?

          • 2. Re: Seam can't parse pages.xml without JBoss.com?
            Tony Mai Apprentice

            I am using 1.2.1GA

            • 3. Re: Seam can't parse pages.xml without JBoss.com?
              Ben Catherall Newbie

              Also on a similar topic, what about WEB-INF/faces-config.xml and java.sun.com? My application always spends a few seconds grabbing the dtd/schema on start up or longer if the website is down/very slow (until I mapped java.sun.com to 127.0.0.1)!

              I've searched high and low before - whats the magic dont-validate-anything-please context param? :D

              This is with MyFaces

              Cheers - Ben

              • 4. Re: Seam can't parse pages.xml without JBoss.com?
                Luis Daniel Rangel Tovar Newbie

                dtd's must be validated :S, run through the same problem, patch/fix was, for me, to manually download (that's a horrible patch) pages-1.2.dtd and put it in bin directory of jboss, since my server runs dnsless and cannot validate online resources, only pages-1.2.dtd from jboss.com was needed for me. I also changed:

                <!DOCTYPE pages PUBLIC
                 "-//JBoss/Seam Pages Configuration DTD 1.2//EN"
                 "pages-1.2.dtd">
                

                for a relative path, thats where pages-1.2.dtd in jboss's bin directory is read, and validation succeds, even offline. hope it can solve your problem.


                ... 'bout faces config issue, it has something to do with placing proper jars on WEB-INF/lib, they contain proper taglibs for that. Faces works fine on my dnsless server, only real problem was pages dtd from seam :(

                • 5. Re: Seam can't parse pages.xml without JBoss.com?
                  Tony Mai Apprentice

                  I downloaded the pages-1.2.dtd and put it under jboss's bin directory. When Seam loaded my app, it still complained that it could not read the pages.xml. This time, the error was different.

                  16:49:46,890 ERROR [[/tradedesk]] Exception sending context initialized event to listener instance of class com.sun.faces.config.ConfigureListener
                  javax.faces.FacesException: Can't parse configuration file: jndi:/localhost/tradedesk/WEB-INF/pages.xml: Error at line -1 column -1: null


                  How did you manage to have JBoss recognized the local DTD file?

                  Thanks

                  • 6. Re: Seam can't parse pages.xml without JBoss.com?
                    Luis Daniel Rangel Tovar Newbie

                    I removed the path, look:

                    <!DOCTYPE pages PUBLIC
                     "-//JBoss/Seam Pages Configuration DTD 1.2//EN"
                     "pages-1.2.dtd">
                    

                    ... this way lookup is done locally. This is an awful patch, but does the trick for me. Actually, resource must be fetched from jars, there's an uri version error on jars, I however changed this and everything works fine.

                    Your "Can't parse configuration" may actually be something else, maybe this time there is an actual error in your pages.xml. I instead use several .page.xml with no trouble. You can try with the simplest (empty) pages.xml file, if it starts your app, then there's a syntax error.

                    • 7. Re: Seam can't parse pages.xml without JBoss.com?
                      Tony Mai Apprentice

                      Parsing pages.xml is working fine with path pointing to jboss.com so I think the syntax of my pages.xml is correct.

                      Somehow I still could not get Seam to read the DTD from JBoss' bin path. Do you by any chance put the DTD somewhere else? (I did change the path in the pages.xml as you pointed out).

                      Perhaps the Seam team can have this DTD reside locally in the next version or have some other way around this problem. This is quite critical as I would imagine not all app would have Internet connection available in production.

                      Thanks.
                      -tony

                      • 8. Re: Seam can't parse pages.xml without JBoss.com?
                        Luis Daniel Rangel Tovar Newbie

                        This issue is noted on a sticky post by Gavin King, and is (theorically, haven't tested it personally) fixed in CVS version.

                        I put dtd on jboss's bin directory, because when I removed the path from jboss.com/bla/bla/dtd to only dtd, parser complained not being able to found it on java's classpath, so I just put it there.

                        There is also a difference between pages-1.1.dtd and pages-1.2.dtd from the jar's taglib reference, don't know wich one might be the one causing trouble, I put both in there ;)

                        • 9. Re: Seam can't parse pages.xml without JBoss.com?
                          Stuart Robertson Novice

                          I find that seam fails to startup properly if I have an active network interface which doesn't properly allow me to access the internet. This happens, for instance, when I'm at a coffee shop with a captive wifi portal which I've not yet authenticated against. The moment I either a) authenticate or b) disable my wifi card seam starts up properly.