【问题标题】:websphere application server - java.lang.IllegalArgumentException: Property reuse-instanceis not supportedwebsphere 应用程序服务器 - java.lang.IllegalArgumentException:不支持属性重用实例
【发布时间】:2016-06-22 07:44:24
【问题描述】:

我在尝试从 WebSphere 服务器访问 XSD 模式文件时收到以下异常。

WebSphere 版本是 8.5.5.0。

[6/22/16 13:02:31:158 IST]     FFDC Exception:javax.servlet.ServletException SourceId:com.ibm.ws.websvcs.transport.http.WASAxis2Servlet.doGet ProbeId:231 Reporter:com.ibm.ws.websvcs.transport.http.WASAxis2Servlet@93f57806
javax.servlet.ServletException: java.lang.IllegalArgumentException: Property reuse-instance is not supported
    at com.ibm.ws.websvcs.transport.http.WASAxis2Servlet.processXsdRequest(WASAxis2Servlet.java:1278)
    at com.ibm.ws.websvcs.transport.http.WASAxis2Servlet.doGet(WASAxis2Servlet.java:522)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:575)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1227)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:776)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:458)
    at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:136)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:97)
    ...
    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91)
    ...
    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91)
    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:928)
    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1025)
    at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3761)
    at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:304)
    at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:976)
    at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662)
    at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:200)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:459)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:526)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:312)
    at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:88)
    at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175)
    at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
    at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
    at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
    at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
    at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
    at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1862)
Caused by: java.lang.IllegalArgumentException: Property reuse-instanceis not supported
    at com.sun.xml.stream.ZephyrWriterFactory.setProperty(ZephyrWriterFactory.java:113)
    at org.apache.axiom.util.stax.dialect.SJSXPDialect.makeThreadSafe(SJSXPDialect.java:75)
    at org.apache.axiom.om.util.StAXUtils$8.run(StAXUtils.java:647)
    at java.security.AccessController.doPrivileged(AccessController.java:229)
    at org.apache.axiom.om.util.StAXUtils.newXMLOutputFactory(StAXUtils.java:623)
    at org.apache.axiom.om.util.StAXUtils.getXMLOutputFactory_perClassLoader(StAXUtils.java:687)
    at org.apache.axiom.om.util.StAXUtils.getXMLOutputFactory(StAXUtils.java:326)
    at org.apache.axiom.om.util.StAXUtils.getXMLOutputFactory(StAXUtils.java:291)
    at org.apache.axiom.om.util.StAXUtils.createXMLStreamWriter(StAXUtils.java:358)
    at org.apache.axiom.om.util.StAXUtils.createXMLStreamWriter(StAXUtils.java:353)
    at org.apache.axiom.om.impl.llom.OMSerializableImpl.serialize(OMSerializableImpl.java:139)
    at com.ibm.ws.websvcs.transport.http.WASAxis2Servlet.processXsdRequest(WASAxis2Servlet.java:1257)
    ... 34 more

Reporter BEGIN:com.ibm.ws.websvcs.transport.http.WASAxis2Servlet@93f57806
javax.servlet.GenericServlet::config:null
javax.servlet.http.HttpServlet::METHOD_DELETE:DELETE
javax.servlet.http.HttpServlet::METHOD_HEAD:HEAD
javax.servlet.http.HttpServlet::METHOD_GET:GET
javax.servlet.http.HttpServlet::METHOD_OPTIONS:OPTIONS
javax.servlet.http.HttpServlet::METHOD_POST:POST
javax.servlet.http.HttpServlet::METHOD_PUT:PUT
javax.servlet.http.HttpServlet::METHOD_TRACE:TRACE
javax.servlet.http.HttpServlet::HEADER_IFMODSINCE:If-Modified-Since
javax.servlet.http.HttpServlet::HEADER_LASTMOD:Last-Modified
javax.servlet.http.HttpServlet::LSTRING_FILE:javax.servlet.http.LocalStrings
javax.servlet.http.HttpServlet::lStrings BEGIN:java.util.PropertyResourceBundle@45b429bb
 java.util.PropertyResourceBundle@45b429bb
 END:java.util.PropertyResourceBundle@45b429bb

org.apache.axis2.transport.http.AxisServlet::serialVersionUID:3105135058353738906
org.apache.axis2.transport.http.AxisServlet::log BEGIN:org.apache.axis2.util.OnDemandLogger@75c290dd
 org.apache.axis2.util.OnDemandLogger::c:class org.apache.axis2.transport.http.AxisServlet
 org.apache.axis2.util.OnDemandLogger::_log:null
 END:org.apache.axis2.util.OnDemandLogger@75c290dd

org.apache.axis2.transport.http.AxisServlet::CONFIGURATION_CONTEXT:CONFIGURATION_CONTEXT
org.apache.axis2.transport.http.AxisServlet::SESSION_ID:SessionId
org.apache.axis2.transport.http.AxisServlet::metadataQueryParamNames BEGIN:java.util.HashSet@1c88ff33
 {
 policy
 wsdl
 xsd
 wsdl2
 }
 END:java.util.HashSet@1c88ff33

任何人都可以就这个问题提供一些启示? 非常感谢!

【问题讨论】:

    标签: websphere websphere-8


    【解决方案1】:

    对于具有相同堆栈跟踪日志的“属性重用实例”相关错误,它们与 apache axiom 有关。 Websphere Application Server 完整配置文件使用 org.apache.* 开源库并将其公开给在服务器上运行的应用程序。 当您的应用程序使用部署在应用程序中的不同版本的相同库时,您可能会遇到问题。 要解决此问题,您可以将类加载器从 parent first 更改为 parent last。 Reference

    【讨论】:

      【解决方案2】:

      堆栈跟踪表明 WebSphere 中的 JAX-WS 运行时正在尝试使用 SJSXP 而不是 WebSphere 自己的 StAX 实现 (XLXP 2)。在较新的 WebSphere 版本中情况可能会发生变化,但 it used to be the case 仅在满足以下两个条件时才会发生这种情况:

      • 应用程序的类加载策略设置为最后一个父级。
      • 应用程序包含 SJSXP。

      因此,一种选择是更改您的应用程序,以便不再满足这些条件中的至少一个。如果因为您的应用程序中的代码以某种方式依赖它们而无法做到这一点,那么您最好的选择是尝试切换到另一个 SJSXP 版本。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-25
        • 2012-05-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-09-12
        相关资源
        最近更新 更多