You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "carles rico (JIRA)" <ji...@apache.org> on 2010/02/23 12:28:27 UTC
[jira] Updated: (CXF-2682) Error "SOAPFaultException: Fault string,
and possibly fault code, not set" in stress test.
[ 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.
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.
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 getAdobeService() {
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.
> 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.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.