[ 
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.

Reply via email to