[ 
https://issues.apache.org/jira/browse/CXF-2682?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

carles rico updated CXF-2682:
-----------------------------

    Description: 
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);
                     }
       }        
{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.


  was:
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.

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


The main invocation code in ServeiFormularisAdapter is:

         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 {
                        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);
                     }
       }        


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.



> 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);
>                      }
>        }      
> {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