繁体   English   中英

App Engine上的javax.xml.ws.Service初始化错误

[英]Error in javax.xml.ws.Service initialization on App Engine

我正在尝试从GAE连接到SOAP服务器。 参见示例 在开发服务器上一切正常,但是在生产环境中,初始化期间出现500错误。 经过大量的挖掘,我设法捕获了Throwable并记录了堆栈跟踪:

java.lang.ExceptionInInitializerError
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
at java.lang.Class.newInstance0(Class.java:372)
at java.lang.Class.newInstance(Class.java:325)
at javax.xml.ws.spi.FactoryFinder.newInstance(FactoryFinder.java:58)
at javax.xml.ws.spi.FactoryFinder.find(FactoryFinder.java:142)
at javax.xml.ws.spi.Provider.provider(Provider.java:102)

此问题可能与问题4910有关 那里的一条建议说:

我上面的意思是,您不应将任何实现jaxws本身的jar文件放入战争中。 App Engine运行时包含jaxws的实现,您应该使用该实现。

在我的课堂路径中,我发现

  1. xml-apis-1.0.b2,=。jar
  2. jaxb-api.jar
  3. jaxb-impl.jar

就我所知,它们看起来不像jaxws实现。 没有jaxb真的无法做到(如果删除该jar,则会出现错误)。

任何建议都欢迎。

[update] [似乎] 3 ,仅在类路径中包含jaxb会引起问题,因此无法找到GAE的jaxws实现。

这个答案对于理解jaxws初始化的工作方式也很有用。

经过大量挖掘之后,我放弃了GAE对jaxws的实现。 工厂类加载器在期间找不到它们的实现。

所以,我选择了Force.com Web服务Connecto r和管理,使其工作。 在代码生成过程,所生成的代码中存在错误,并且GAE连接器还需要进行一些修复。

我很想建立在GitHub上的一个项目,以显示我做了什么。 此实现速度更快,还可以设置套接字超时!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM