2012-07-24 56 views
2

我是新手訪問此網站。剛剛聽到朋友們的消息,這個網站實際上會幫助我在技術上成長。ArrayIndexOutOfBoundsException從Glassfish服務器中部署的應用程序調用webservice時

我有以下問題報道:

我的應用程序以這樣一種方式,它具有處理觸及5個外部服務(Web服務調用)開發。這些服務使用axis2存根調用。

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

處理進行得很順利,但webservice請求對某些請求失敗(即)失敗,並且每發生1000次請求失敗都會失敗。

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 [email protected] 
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的有一個名爲Web服務-rt.jar中的罐子,這是它對使用,而調用web服務。
  2. 這個錯誤在popContext()方法內的NamespaceSupport類中拋出。
  3. 此外,此錯誤可能是由於嘗試popContext而不先調用pushContext方法。

除上述之外,沒有其他幫助可以被識別。

任何人都可以請幫我看看究竟是什麼問題?

另外,在5個服務中,不僅1個服務單獨失敗。有時2個服務失敗,有時1個,有時3個服務。

因此,我懷疑問題是與外部服務。 :(:(

回答

1

這個問題可能與AXIOM-74。包Woodstox到您的應用程序,它可能會消失。

+0

喜安德烈亞斯!非常感謝您的寶貴答覆。將檢查出來,讓你知道... – 2012-07-26 11:38:28

+1

嗨Andreas,我正在使用axis-2.1.6.1。我應該在我的構建中包含哪個版本的woodstox.jar?另外,如果我將它包含在構建中,我應該刪除另一個等效的現有jar從axis2庫?請指導我.. – 2012-07-26 12:42:33

+1

它的工作安德烈亞斯!!非常感謝你!:) – 2012-08-06 05:05:25

相關問題