[ https://issues.apache.org/jira/browse/CXF-2682?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12842973#action_12842973 ]
carles rico commented on CXF-2682: ---------------------------------- Hi, I can't test with CXF greater than 2.1.X because superior version use Spring 2.5 and I can't change it. So, I make the JaxWsProxyFactoryBean no singleton and the problem is not reproduced. Thank's. > Error "SOAPFaultException: Fault string, and possibly fault code, not set" > in stress test. > ------------------------------------------------------------------------------------------- > > Key: CXF-2682 > URL: https://issues.apache.org/jira/browse/CXF-2682 > Project: CXF > Issue Type: Bug > Components: Core > Affects Versions: 2.1.5 > Reporter: carles rico > Priority: Critical > > I'm stressing an aplication that use CXF as client webservice. > When I have about 100 concurrent threads, I can see int the log the next > message. All threads don't crash. > {noformat} > Caused by: javax.xml.ws.soap.SOAPFaultException: Fault string, and possibly > fault code, not set > at > org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:145) > at $Proxy167.renderitzarFormulariXDP(Unknown Source) > at > net.gencat.sit.traint.adapter.ServeiFormularisAdapter.renderitzarFormulari(ServeiFormularisAdapter.java:229) > ... 117 more > Caused by: java.lang.ArrayIndexOutOfBoundsException > {noformat} > The main invocation code in ServeiFormularisAdapter is: > {code:title=ServeiFormularisAdapter.java|borderStyle=solid} > private JaxWsProxyFactoryBean factory; > > private ServeisAdobePortType obtenirServeisAdobe() { > > if (log.isDebugEnabled()) { > log.debug("-> obtenirServeisAdobe(urlSF:"+urlSF+")"); > } > > if (factory==null) { > factory = new JaxWsProxyFactoryBean(); > factory.getInInterceptors().add(new LoggingInInterceptor()); > factory.getOutInterceptors().add(new > LoggingOutInterceptor()); > factory.setServiceClass(ServeisAdobePortType.class); > factory.setAddress(urlSF); > } > ServeisAdobePortType client = (ServeisAdobePortType) > factory.create(); > > if (log.isDebugEnabled()) { > log.debug("<- obtenirServeisAdobe():"+client); > } > return client; > } > public byte[] renderitzarFormulari(String xml, InvocacioFormulari > invocacioFormulari, String format) throws ServeiFormularisSystemException { > Result result; > try { > ServeisAdobePortType client = > obtenirServeisAdobe(); > > result = > client.renderitzarFormulariXDP(invocacioFormulari.getAmbit(), > > invocacioFormulari.getAplicacio(), > > invocacioFormulari.getNomFormulari(), > xml.getBytes("UTF-8"), > format); > } > catch(Throwable ex) { > log.error("Error",ex); > throw new ServeiFormularisSystemException(ex); > } > return result; > } > {code} > factory is a singleton and all threads use this instance without sinchronize. > Its a problem ? > I think, the real exception is the java.lang.ArrayIndexOutOfBoundsException > but I can't see the stacktrace. > Could you help me? > Thank's, > Best regards, > Carles. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.