2012-07-24 54 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

相关问题