RAD 9 JAXWS客户端抛出UnsupportedOperationException
我有一个调用JAXWS服务的Junit测试。在使用WAS 7的RAD 8中,此工作正常。我们正在使用WAS 8.5转换为RAD 9。我收到例外。确切的例外情况随着我尝试的每件新事物而变化。旧服务只需要junit和JAXWS thinclient变量。当我这样做,我得到一个异常说以下内容:RAD 9 JAXWS客户端抛出UnsupportedOperationException
java.lang.NoClassDefFoundError:com.ibm.ejs.ras.hpel.HpelHelper
我终于找到了插件目录中的HPEL罐子,但那么这只是导致下面的例外。我已经添加了commons logging,但没有任何效果。它发生有或没有。我在邮件的URL末尾阅读了帮助文档,但是AFAIK,我没有在slf4j上使用jcl。我假设一些IBM支持层正在使用它。但是这是JAXWS客户端在junit测试。我不知道如何运用他们的建议。
而且我也加入其中,我看到网上推荐了两个系统属性和他们没有makie一个区别: org.apache.commons.logging.Log = org.apache.commons.logging.impl.Log4JLogger 组织。 apache.commons.logging.LogFactory = org.apache.commons.logging.impl.LogFactoryImpl
目前的例外是:
Caused by: java.lang.UnsupportedOperationException: Operation [getContextClassLoader] is not supported in jcl-over-slf4j. See also http://www.slf4j.org/codes.html#unsupported_operation_in_jcl_over_slf4j
at org.apache.commons.logging.LogFactory.getContextClassLoader(LogFactory.java:366)
at org.apache.commons.logging.impl.LogFactoryImpl.access$000(LogFactoryImpl.java:113)
at org.apache.commons.logging.impl.LogFactoryImpl$1.run(LogFactoryImpl.java:457)
at java.security.AccessController.doPrivileged(AccessController.java:229)
at org.apache.commons.logging.impl.LogFactoryImpl.loadClass(LogFactoryImpl.java:454)
at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:406)
... 54 more
我的代码非常简单:
MyDataService svc = new MyDataService();
MyDataDelegate port = svc.getMyDataPort();
BindingProvider bp = (BindingProvider)port;
Map<String, Object> context = bp.getRequestContext();
context.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, url);
port.myWebServiceEndpoint(listOfKeys);
下面出来,在控制台,并没有从我的计划,这是我从来没有在RAD 8看见起源/为7:
Oct 3, 2014 10:00:29 AM null null
INFO: ssl.disable.url.hostname.verification.CWPKI0027I
Oct 3, 2014 10:00:32 AM null null
SEVERE: security.JSAS1480I
Oct 3, 2014 10:00:32 AM null null
INFO: Client code attempting to load security configuration
Oct 3, 2014 10:00:32 AM null null
AUDIT: chain.started
我有什么比解决方案的更多的解决方法。我不觉得我得到的是“正确的”。我必须将jcl-over-slf4j.jar和slf4j-api.jar(均为1.7.5)添加到引导类路径中。这似乎并不像它应该在这里找到正确的解决方案。但它的工作。
我确实面对源自LogFactory的“java.lang.UnsupportedOperationException”。尽管我不需要将任何jar文件添加到CLASSPATH中。我解决它通过添加下列系统属性:
-Dorg.apache.commons.logging.LogFactory = org.apache.commons.logging.impl.SLF4JLogFactory
将代码标记! – gsamaras 2014-12-26 22:12:02