cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Algirdas Veitas <apvei...@gmail.com>
Subject ConcurrentModificationException on Client when processing SOAPHeaders....
Date Fri, 22 Jul 2011 14:25:10 GMT
Hi,

We are getting a ConcurrentModificationException exception in our CXF
client, when it is processing SOAPHeaders.    We did find this following
link that describes what is going on
http://cxf.547215.n5.nabble.com/jira-Created-CXF-2762-Cannot-deploy-csta-web-service-td586662.html#a586663,
and we will address that (Header object needs to be unique across threads),
but something else strange is happening:

To start here is our client setup

  <!-- Web Service Clients -->
    <jaxws:client id="xService"
        serviceClass="com.XService"
        address="#xServiceUrl" />

This WSDL that is associate with this client has some methods that DO have a
Header and some DO NOT.

And here is the shortened stack trace:

<http://newportave.jira.com/wiki/display/21+Jul+2011+19/11%3A46%2C874>
java.util.ConcurrentModificationException
at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
at java.util.AbstractList$Itr.next(AbstractList.java:343)
at
org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.writeSoapEnvelopeStart(SoapOutInterceptor.java:139)
at
org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.handleMessage(SoapOutInterceptor.java:81)
at
org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.handleMessage(SoapOutInterceptor.java:61)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:516)

Here is the rub: This exception is being thrown when we are calling a method
that DOES NOT have a Header, but on line 139 in SoapOutInterceptor, it looks
like we are trying to process an list that has atleast 1 header.  Am pretty
certain (this is occurring only in a specific environment) that other
methods on this service were made previous to this error that did include a
SOAP Header.  Am speculating, but is the SOAP Header being cached in the
request context and the request context is scoped per client instance as per
the FAQ (
http://cxf.apache.org/faq.html#FAQ-AreJAXWSclientproxiesthreadsafe%3F)?


Thanks,
Al

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message