Does no one have any ideas? How about why does it work on my local machine, but fail when deployed?
Or is there a way to check and see if the jing.jar is loaded properly? On Feb 10, 6:46 pm, Austin Dworaczyk Wiltshire <adw.wiltsh...@gmail.com> wrote: > Sorry for the long title. > > So, here is the run down. I'm essentially building a java Document tree by > adding nodes and the like. I have a particular RelaxNG schema that I want > Document to build against. > > Now, I can load and create the corresponding SchemaFactory and Schema > instances on my local machine. I then add them to my Document. > > This all works when running on my local machine (Mac Snow Leopard, Eclipse > Java EE Helios, latest Google Web Toolkit plugin). However, when I deploy to > App Engine, I get the following error: > > # > 2011-02-10 18:21:22.253 /labauthoringtool/genXML 500 1778ms 1913cpu_ms 0kb > Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.13) > Gecko/20101203 Firefox/3.6.13,gzip(gfe) > See details > > 99.65.209.224 - - [10/Feb/2011:18:21:22 -0800] "POST > /labauthoringtool/genXML HTTP/1.1" 500 93 > "http://2.csc307g3lat.appspot.com/" "Mozilla/5.0 (Macintosh; U; Intel Mac OS > X 10.6; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13,gzip(gfe)" > "2.csc307g3lat.appspot.com" ms=1778 cpu_ms=1913 api_cpu_ms=0 > cpm_usd=0.053268 loading_request=1 > > # > W 2011-02-10 18:21:22.050 > > edu.calpoly.cpe307.team3.weblat.server.LabToXMLGenerator parseLab: help! > > # > W 2011-02-10 18:21:22.052 > > edu.calpoly.cpe307.team3.weblat.server.LabToXMLGenerator parseLab: the > property is: null > > # > W 2011-02-10 18:21:22.052 > > edu.calpoly.cpe307.team3.weblat.server.LabToXMLGenerator parseLab: the new > property is: com.thaiopensource.relaxng.jaxp.CompactSyntaxSchemaFactory > > # > E 2011-02-10 18:21:22.240 > > javax.servlet.ServletContext log: Exception while dispatching incoming RPC > call > com.google.gwt.user.server.rpc.UnexpectedException: Service method 'public > abstract java.lang.String > edu.calpoly.cpe307.team3.weblat.client.LabToXMLGeneratorService.convertToXML(org.web_ide.shared.lab.Lab)' > threw an unexpected exception: java.lang.IllegalArgumentException: No > SchemaFactory that implements the schema language specified > by:http://relaxng.org/ns/structure/1.0could be loaded > at > com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure(RPC.java:378) > at > com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:581) > at > com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:207) > at > com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:243) > at > com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) > at > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166) > at > com.google.apphosting.utils.servlet.ParseBlobUploadFilter.doFilter(ParseBlobUploadFilter.java:97) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) > at > com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java:35) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) > at > com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) > at > org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388) > at > org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) > at > org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) > at > org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) > at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418) > at > com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java:238) > at > org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) > at org.mortbay.jetty.Server.handle(Server.java:326) > at > org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) > at > org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923) > at > com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable(RpcRequestParser.java:76) > at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) > at > com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:135) > at > com.google.apphosting.runtime.JavaRuntime.handleRequest(JavaRuntime.java:261) > at > com.google.apphosting.base.RuntimePb$EvaluationRuntime$6.handleBlockingRequest(RuntimePb.java:8495) > at > com.google.apphosting.base.RuntimePb$EvaluationRuntime$6.handleBlockingRequest(RuntimePb.java:8493) > at > com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest(BlockingApplicationHandler.java:24) > at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java:435) > at com.google.net.rpc.impl.Server$RpcTask.runInContext(Server.java:572) > at > com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:448) > at com.google.tracing.TraceContext.runInContext(TraceContext.java:688) > at > com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:326) > at > com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:318) > at > com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:446) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) > at java.lang.Thread.run(Thread.java:636) > Caused by: java.lang.IllegalArgumentException: No SchemaFactory that > implements the schema language specified > by:http://relaxng.org/ns/structure/1.0could be loaded > at javax.xml.validation.SchemaFactory.newInstance(Unknown Source) > at > edu.calpoly.cpe307.team3.weblat.server.LabToXMLGenerator.parseLab(LabToXMLGenerator.java:120) > at > edu.calpoly.cpe307.team3.weblat.server.LabToXMLGenerator.convertToXML(LabToXMLGenerator.java:46) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:43) > at > com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:562) > at > com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:207) > at > com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:243) > at > com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) > at > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) > at > org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388) > at > org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) > at > org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) > at > org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) > at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418) > at > org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) > at org.mortbay.jetty.Server.handle(Server.java:326) > at > org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) > at > org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923) > at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) > > Here is the crucial part of my code: > public Document parseLab (Lab lab) throws LTXGException{ > > log.warning("help!"); > log.warning("the property is: " + > System.getProperty(SchemaFactory.class.getName() + ":" + > XMLConstants.RELAXNG_NS_URI)); > URL relaxSchemaURL = null; > System.setProperty(SchemaFactory.class.getName() + ":" + > XMLConstants.RELAXNG_NS_URI, > "com.thaiopensource.relaxng.jaxp.CompactSyntaxSchemaFactory"); > log.warning("the new property is: " + > System.getProperty(SchemaFactory.class.getName() + ":" + > XMLConstants.RELAXNG_NS_URI)); > > SchemaFactory schemaFac = > SchemaFactory.newInstance(XMLConstants.RELAXNG_NS_URI); > Schema relaxSchema = null; > DocumentBuilderFactory docFactory = null; > DocumentBuilder docBuilder = null; > Document doc = null; > > //Let's check and make sure we have a valid Lab object. > if(lab == null){ > throw new LTXGException("The passed Lab object was null."); > } > > try{ > relaxSchemaURL = new URL(relaxURL); > relaxSchema = schemaFac.newSchema(relaxSchemaURL); > > docFactory = DocumentBuilderFactory.newInstance(); > docFactory.setSchema(relaxSchema); > docFactory.setValidating(true); > > docBuilder = docFactory.newDocumentBuilder(); > > doc = docBuilder.newDocument(); > }catch (Exception e){ > System.out.println(e.getMessage()); > } > > The "log.warning" calls were inserted for debugging. You can see their > result in the top stacktrace. -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.