0

JSF 2.1 Web アプリケーションを Google App エンジンに移行しようとしています。

ローカル dev モードではすべて正常に実行され、GAE でもデプロイは正常に実行されますが、任意のページにアクセスしようとすると HTTP コード 500 が返されます。ログファイルには ClassNotFoundException があることが示されています。

INFO: com.sun.faces.lifecycle.ELResolverInitPhaseListener populateFacesELResolverForJsp: JSF1027: [null] 
      The ELResolvers for JSF were not registered with the JSP container.
WARNING: populateFacesELResolverForJsp: JSF1027: [null] The ELResolvers for JSF were not registered with the JSP container.
javax.servlet.ServletException: java.lang.RuntimeException:  
java.lang.ClassNotFoundException: com.sun.org.apache.xerces.internal.dom.ElementNSImpl
at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java:268)
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:146)
at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.run(JavaRuntime.java:438)
at com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:480)
at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:487)
at com.google.tracing.TraceContext.runInContext(TraceContext.java:774)
at com.google.tracing.TraceContext$DoInTraceContext.runInContext(TraceContext.java:751)
at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:342)
at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:334)
at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:484)
at com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run(ThreadGroupPool.java:251)
at java.lang.Thread.run(Thread.java:722)

対応するライブラリ jaxp-ri-1.4.jar をデプロイしようとしましたが、効果はありませんでした。

私の構成とサードパーティのライブラリに関するその他の情報:

- Mojarra JSF 2.1.12
- Primefaces 3.5
- Primefaces Extensions 
- Prettyfaces 3.3.3
- Ebay Finding Api
- STATE_SAVING_METHOD set to 'client'
-  i use EL 2.2 form jboss seam  <context-param>
    <param-name>com.sun.faces.expressionFactory</param-name>
    <param-value>org.jboss.el.ExpressionFactoryImpl</param-value>
    </context-param>

助けてくれてありがとう!

4

1 に答える 1

0

いくつかのデバッグの後、eBay Finding API がサービス呼び出しに SOAP を使用しているため、問題の原因であることがわかりました。eBay Api を呼び出さなくても、すべて問題なく動作します。

com.sun.org.apache.xerces.internal.dom.NodeImpl is a restricted Class

eBay 検索 API は JAX-WS を使用しているため、Google App Engine と互換性がないようです。

于 2013-04-26T15:12:19.840 に答える