簡體   English   中英

從我在Glassfish服務器中部署的應用程序調用Web服務時出現ArrayIndexOutOfBoundsException

[英]ArrayIndexOutOfBoundsException when invoking webservice from my application deployed in glassfish server

我是這個網站的新手。 在收到我的朋友的消息后,立即訂閱該站點實際上可以幫助我在技術上發展。

我報告了以下問題:

我的應用程序的開發方式必須達到5個外部服務(Web服務調用)進行處理。 這些服務是使用axis2存根調用的。

我的應用程序作為企業應用程序部署在2.1版本的glassfish應用程序服務器中。

處理進行得很好,但是某些請求的Web服務請求失敗(即,每1000個請求失敗,並跟隨以下錯誤),導致20個請求失敗。

在axis2跟蹤中發現的錯誤日志如下:

2012-04-19 15:42:10,328 DEBUG org.apache.axiom.om.util.StAXUtils - XMLStreamReader is com.sun.xml.stream.XMLReaderImpl
2012-04-19 15:42:10,326 DEBUG org.apache.axis2.description.ParameterIncludeImpl - ==================
2012-04-19 15:42:10,328 DEBUG org.apache.axis2.description.ParameterIncludeImpl -  Parameter add on object org.apache.axis2.description.ParameterIncludeImpl@3ee78dcc
2012-04-19 15:42:10,328 DEBUG org.apache.axis2.description.ParameterIncludeImpl -   Key =enableMTOM
2012-04-19 15:42:10,328 DEBUG org.apache.axis2.description.ParameterIncludeImpl -   Value =false
2012-04-19 15:42:10,328 DEBUG org.apache.axis2.description.ParameterIncludeImpl -   Value Class = java.lang.String
2012-04-19 15:42:10,328 DEBUG org.apache.axis2.description.ParameterIncludeImpl -   Value Classloader = null
2012-04-19 15:42:10,328 ERROR webServiceRequestConnector - Exception >>> webServiceRequestConnector.postRequest() >>> Interface Request >>> 3652467 >>> Exception Message is >>> 
java.lang.ArrayIndexOutOfBoundsException: -1
    at com.sun.xml.stream.xerces.util.NamespaceSupport.popContext(NamespaceSupport.java:223)
    at com.sun.xml.stream.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:359)
    at com.sun.xml.stream.XMLReaderImpl.setInputSource(XMLReaderImpl.java:207)
    at com.sun.xml.stream.ZephyrParserFactory.getXMLStreamReaderImpl(ZephyrParserFactory.java:291)
    at com.sun.xml.stream.ZephyrParserFactory.createXMLStreamReader(ZephyrParserFactory.java:173)
    at com.sun.xml.stream.ZephyrParserFactory.createXMLStreamReader(ZephyrParserFactory.java:156)
    at org.apache.axiom.om.util.StAXUtils$2.run(StAXUtils.java:137)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.apache.axiom.om.util.StAXUtils.createXMLStreamReader(StAXUtils.java:133)
    at org.apache.axis2.util.XMLUtils.toOM(XMLUtils.java:596)
    at org.apache.axis2.util.XMLUtils.toOM(XMLUtils.java:581)
    at org.apache.axis2.deployment.DescriptionBuilder.buildOM(DescriptionBuilder.java:97)
    at org.apache.axis2.deployment.AxisConfigBuilder.populateConfig(AxisConfigBuilder.java:86)
    at org.apache.axis2.deployment.DeploymentEngine.populateAxisConfiguration(DeploymentEngine.java:641)
    at org.apache.axis2.deployment.FileSystemConfigurator.getAxisConfiguration(FileSystemConfigurator.java:116)
    at org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(ConfigurationContextFactory.java:68)
    at org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContextFromFileSystem(ConfigurationContextFactory.java:184)
    at org.apache.axis2.client.ServiceClient.configureServiceClient(ServiceClient.java:150)
    at org.apache.axis2.client.ServiceClient.<init>(ServiceClient.java:143)
    at QueryScoreStub.<init>(QueryScoreStub.java:91)
    at QueryScoreStub.<init>(QueryScoreStub.java:77)
    at QueryScoreStub.<init>(QueryScoreStub.java:125)
    at QueryScoreStub.<init>(QueryScoreStub.java:117)
    at webServiceRequestConnector.handleService(webServiceRequestConnector.java:1014)
    at webServiceRequestConnector.postRequest(webServiceRequestConnector.java:173)
    at FinalInterface.receiveResponse(FinalInterface.java:76)
    at ExtConnectionManager.processRequest(ExtConnectionManager.java:88)
    at ExtConnectionManager.processRequest(ExtConnectionManager.java:112)
    at InterfaceWorkflowExecutor.call(InterfaceWorkflowExecutor.java:242)
    at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.run(FutureTask.java:178)
    at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061)
    at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:575)
    at java.lang.Thread.run(Thread.java:595)

不知道為什么僅在某些請求下失敗了。

確實從互聯網上閱讀了以下內容:

  1. Glassfish有一個名為webservice-rt.jar的jar,可在調用Webservice時使用它。
  2. 在popContext()方法內的NamespaceSupport類內引發此錯誤。
  3. 另外,此錯誤可能是由於嘗試popContext而不首先調用pushContext方法而導致的。

除上述以外,沒有其他幫助可以確定。

誰能幫助我解決問題所在嗎?

此外,在這5種服務中,不僅只有一項服務會失敗。 有時2個服務失敗,有時1個有時3個服務失敗。

因此,我懷疑問題出在外部服務上。 :( :(

此問題可能與AXIOM-74有關 將Woodstox打包到您的應用程序中,它可能會消失。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM