错误在App Engine上javax.xml.ws.Service初始化(Error in jav

2019-09-20 03:44发布

我试图连接到从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的API-1.0.b2,=。罐子
  2. JAXB-api.jar文件
  3. JAXB - impl.jar中

他们并不像JAXWS的实现,以及至少据我了解。 真的不能做没有JAXB(我得到一个错误,如果我删除罐子)。

任何的建议是值得欢迎的。

[更新] [看来] 3 ,只是在类路径中JAXB导致一个问题,使GAE的JAXWS实现不能被发现。

这个答案也有助于了解如何JAXWS作品initialzation。

Answer 1:

大量挖掘后,我已经放弃了在GAE上的实现JAXWS的。 它们的实施不能由工厂类加载器,期间被发现。

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

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



文章来源: Error in javax.xml.ws.Service initialization on App Engine