2016-03-16 63 views
0

我試圖寫在使用http://antoniogoncalves.org/2012/10/24/no-you-dont-need-to-mock-your-soap-web-service-to-test-it/有沒有辦法localy發佈的Webservice端點使用IBM JRE

但在調用Endpoint.publish我得到下面的異常描述的方法webservice的測試

java.lang.NoClassDefFoundError: com.ibm.ffdc.impl.Ffdc 
    at com.ibm.ffdc.Manager.<clinit>(Unknown Source) 
    at java.lang.J9VMInternals.initializeImpl(Native Method) 
    at java.lang.J9VMInternals.initialize(J9VMInternals.java:235) 
    at com.ibm.ws.ffdc.FFDCFilter.processException(FFDCFilter.java:82) 
    at com.ibm.ws.webservices.engine.components.logger.LogFactory$2.run(LogFactory.java:159) 
    at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:63) 
    at com.ibm.ws.webservices.engine.components.logger.LogFactory.createLogFactory(LogFactory.java:141) 
    at com.ibm.ws.webservices.engine.components.logger.LogFactory.<clinit>(LogFactory.java:98) 
    at java.lang.J9VMInternals.initializeImpl(Native Method) 
    at java.lang.J9VMInternals.initialize(J9VMInternals.java:235) 
    at com.ibm.ws.webservices.engine.soap.MessageFactoryImpl.<clinit>(MessageFactoryImpl.java:103) 
    at java.lang.J9VMInternals.initializeImpl(Native Method) 
    at java.lang.J9VMInternals.initialize(J9VMInternals.java:235) 
    at com.ibm.ws.webservices.engine.soap.SAAJMetaFactoryImpl.newMessageFactory(SAAJMetaFactoryImpl.java:56) 
    at javax.xml.soap.MessageFactory.newInstance(MessageFactory.java:143) 
    at com.sun.xml.internal.ws.api.SOAPVersion.<init>(SOAPVersion.java:179) 
    at com.sun.xml.internal.ws.api.SOAPVersion.<clinit>(SOAPVersion.java:84) 
    at java.lang.J9VMInternals.initializeImpl(Native Method) 
    at java.lang.J9VMInternals.initialize(J9VMInternals.java:235) 
    at com.sun.xml.internal.ws.api.BindingID.<clinit>(BindingID.java:336) 
    at java.lang.J9VMInternals.initializeImpl(Native Method) 
    at java.lang.J9VMInternals.initialize(J9VMInternals.java:235) 
    at com.sun.xml.internal.ws.spi.ProviderImpl.createAndPublishEndpoint(ProviderImpl.java:104) 
    at javax.xml.ws.Endpoint.publish(Endpoint.java:181) 
    at <junit stuff> 
Caused by: java.lang.ClassNotFoundException: com.ibm.ffdc.impl.Ffdc 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:434) 
    at java.lang.ClassLoader.loadClassHelper(ClassLoader.java:701) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:680) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:358) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:663) 
    ... 48 more 

我假設是因爲我在IBM JRE(Websphere 8.0.x)(Thx for the吊))中運行

我可以在IBM JRE中使用Endpoint.publish,而無需啓動完整的Websphere嗎?

回答

0

生成此堆棧跟蹤的測試或JRE配置以某種方式包含隨Websphere提供的com.ibm.ws類。如果您從測試中刪除了所有對Websphere類的引用,那麼您可以獲得一個獨立的JRE,而不需要使用Websphere進行測試。您可以從以下位置下載AIX,Linux或z/OS:

https://www.ibm.com/developerworks/java/jdk/

相關問題