Just as a follow up.... 

Using the testcase that Andy sent to me, I determined that the problem 
was:
https://issues.apache.org/jira/browse/CXF-1537
and I committed a fix to it last night.

Thus, it should now be OK.

Thanks!
Dan




On Monday 21 April 2008, Amick, Andy C. wrote:
> I have a WSDL with multiple operations defined and one of them works
> properly.  However, my login operation throws an
> IndexOutOfBoundsException when the SOAP response is processed.  I have
> FINE logging enabled and I can see the request and response SOAP
> messages being processed.  I'm using version 2.0.5 and the Maven
> WSDLtoJava plugin.
>
>
>
> Here is the debug output starting at the output of the request
> message:
>
>
>
> INFO: Outbound Message
>
> ---------------------------
>
> Encoding: UTF-8
>
> Headers: {SOAPAction=[""], Accept=[*]}
>
> Messages:
>
> Payload: <soap:Envelope
> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";><soap:Body><ns2
>:L ogin
> xmlns:ns2="http://www.informatica.com/wsh";><RepositoryDomainName>DEV_D
>OM
> AIN</RepositoryDomainName><RepositoryName>MY_DEVELOPMENT</RepositoryNa
>me
>
> ><UserName>aamick</UserName><Password>mypassword</Password></ns2:Login
> >><
>
> /soap:Body></soap:Envelope>
>
> --------------------------------------
>
> Apr 21, 2008 1:56:11 PM
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream
> handleResponse
>
> FINE: Response Code: 200 Conduit:
> {http://www.informatica.com/wsh}Metadata.http-conduit
>
> Apr 21, 2008 1:56:11 PM
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream
> handleResponse
>
> FINE: Content length: -1
>
> Apr 21, 2008 1:56:11 PM
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream
> handleResponse
>
> FINE: Header fields:
>
>     Date: [Mon, 21 Apr 2008 19:56:10 GMT]
>
>     null: [HTTP/1.1 200 OK]
>
>     Content-Type: [text/xml;charset=utf-8]
>
>     Server: [Apache-Coyote/1.1]
>
>     Transfer-Encoding: [chunked]
>
>
>
> Apr 21, 2008 1:56:11 PM org.apache.cxf.endpoint.ClientImpl onMessage
>
> FINE: Interceptors contributed by bus: []
>
> Apr 21, 2008 1:56:11 PM org.apache.cxf.endpoint.ClientImpl onMessage
>
> FINE: Interceptors contributed by endpoint:
> [EMAIL PROTECTED]
>f3 0,
> [EMAIL PROTECTED],
> [EMAIL PROTECTED],
> [EMAIL PROTECTED],
> [EMAIL PROTECTED]
>
> Apr 21, 2008 1:56:11 PM org.apache.cxf.endpoint.ClientImpl onMessage
>
> FINE: Interceptors contributed by client:
> [EMAIL PROTECTED]
>
> Apr 21, 2008 1:56:11 PM org.apache.cxf.endpoint.ClientImpl onMessage
>
> FINE: Interceptors contributed by binding:
> [EMAIL PROTECTED],
> [EMAIL PROTECTED],
> [EMAIL PROTECTED]
>7, [EMAIL PROTECTED],
> [EMAIL PROTECTED],
> [EMAIL PROTECTED],
> [EMAIL PROTECTED]
>da , [EMAIL PROTECTED]
>
> Apr 21, 2008 1:56:11 PM org.apache.cxf.phase.PhaseInterceptorChain add
>
> FINE: Adding interceptor
> [EMAIL PROTECTED]
>30 to phase pre-protocol
>
> Apr 21, 2008 1:56:11 PM org.apache.cxf.phase.PhaseInterceptorChain add
>
> FINE: Adding interceptor
> [EMAIL PROTECTED] to
> phase post-logical
>
> Apr 21, 2008 1:56:11 PM org.apache.cxf.phase.PhaseInterceptorChain add
>
> FINE: Adding interceptor
> [EMAIL PROTECTED] to phase
> pre-invoke
>
> Apr 21, 2008 1:56:11 PM org.apache.cxf.phase.PhaseInterceptorChain add
>
> FINE: Adding interceptor
> [EMAIL PROTECTED] to
> phase pre-protocol
>
> Apr 21, 2008 1:56:11 PM org.apache.cxf.phase.PhaseInterceptorChain add
>
> FINE: Adding interceptor
> [EMAIL PROTECTED] to phase
> pre-invoke
>
> Apr 21, 2008 1:56:11 PM org.apache.cxf.phase.PhaseInterceptorChain add
>
> FINE: Adding interceptor
> [EMAIL PROTECTED] to phase
> receive
>
> Apr 21, 2008 1:56:11 PM org.apache.cxf.phase.PhaseInterceptorChain add
>
> FINE: Adding interceptor
> [EMAIL PROTECTED] to phase
> receive
>
> Apr 21, 2008 1:56:11 PM org.apache.cxf.phase.PhaseInterceptorChain add
>
> FINE: Adding interceptor
> [EMAIL PROTECTED] to phase
> post-stream
>
> Apr 21, 2008 1:56:11 PM org.apache.cxf.phase.PhaseInterceptorChain add
>
> FINE: Adding interceptor
> [EMAIL PROTECTED]
>7 to phase read
>
> Apr 21, 2008 1:56:11 PM org.apache.cxf.phase.PhaseInterceptorChain add
>
> FINE: Adding interceptor
> [EMAIL PROTECTED] to phase
> unmarshal
>
> Apr 21, 2008 1:56:11 PM org.apache.cxf.phase.PhaseInterceptorChain add
>
> FINE: Adding interceptor
> [EMAIL PROTECTED]
> to phase unmarshal
>
> Apr 21, 2008 1:56:11 PM org.apache.cxf.phase.PhaseInterceptorChain add
>
> FINE: Adding interceptor
> [EMAIL PROTECTED]
> to phase read
>
> Apr 21, 2008 1:56:11 PM org.apache.cxf.phase.PhaseInterceptorChain add
>
> FINE: Adding interceptor
> [EMAIL PROTECTED]
>da to phase pre-protocol
>
> Apr 21, 2008 1:56:11 PM org.apache.cxf.phase.PhaseInterceptorChain add
>
> FINE: Adding interceptor
> [EMAIL PROTECTED] to phase
> unmarshal
>
> Apr 21, 2008 1:56:11 PM org.apache.cxf.phase.PhaseInterceptorChain
> outputChainToLog
>
> FINE: Chain [EMAIL PROTECTED] was
> created. Current flow:
>
>   receive [LoggingInInterceptor, AttachmentInInterceptor]
>
>   post-stream [StaxInInterceptor]
>
>   read [ReadHeadersInterceptor, SoapActionInInterceptor]
>
>   pre-protocol [MustUnderstandInterceptor, SOAPHandlerInterceptor,
> LogicalHandlerInInterceptor]
>
>   unmarshal [URIMappingInterceptor, DocLiteralInInterceptor,
> SoapHeaderInterceptor]
>
>   post-logical [WrapperClassInInterceptor]
>
>   pre-invoke [SwAInInterceptor, HolderInInterceptor]
>
>
>
> Apr 21, 2008 1:56:11 PM org.apache.cxf.phase.PhaseInterceptorChain
> doIntercept
>
> FINE: Invoking handleMessage on interceptor
> [EMAIL PROTECTED]
>
> Apr 21, 2008 1:56:11 PM
> org.apache.cxf.interceptor.LoggingInInterceptor logging
>
> INFO: Inbound Message
>
> ----------------------------
>
> Encoding: UTF-8
>
> Headers: {Date=[Mon, 21 Apr 2008 19:56:10 GMT],
> transfer-encoding=[chunked], Server=[Apache-Coyote/1.1],
> content-type=[text/xml;charset=utf-8]}
>
> Messages:
>
> Message:
>
>
>
> Payload: <?xml version="1.0" encoding="UTF-8"?>
>
> <soapenv:Envelope
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
> xmlns:xsd="http://www.w3.org/2001/XMLSchema";
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
>
>  <soapenv:Header><ns1:Context
> xmlns:ns1="http://www.informatica.com/wsh";><SessionId>a0042b4cf64fe1db
>11 9728ece7d</SessionId></ns1:Context> </soapenv:Header>
>
>  <soapenv:Body>
>
>   <LoginReturn
> xmlns="http://www.informatica.com/wsh";>a0042b4cf64fe1db119728ece7d</Lo
>gi nReturn>
>
>  </soapenv:Body>
>
> </soapenv:Envelope>
>
> --------------------------------------
>
> Apr 21, 2008 1:56:11 PM org.apache.cxf.phase.PhaseInterceptorChain
> doIntercept
>
> FINE: Invoking handleMessage on interceptor
> [EMAIL PROTECTED]
>
> Apr 21, 2008 1:56:11 PM org.apache.cxf.phase.PhaseInterceptorChain
> doIntercept
>
> FINE: Invoking handleMessage on interceptor
> [EMAIL PROTECTED]
>
> Apr 21, 2008 1:56:11 PM org.apache.cxf.phase.PhaseInterceptorChain
> doIntercept
>
> FINE: Invoking handleMessage on interceptor
> [EMAIL PROTECTED]
>
> Apr 21, 2008 1:56:11 PM org.apache.cxf.phase.PhaseInterceptorChain
> doIntercept
>
> FINE: Invoking handleMessage on interceptor
> [EMAIL PROTECTED]
>7
>
> Apr 21, 2008 1:56:11 PM org.apache.cxf.phase.PhaseInterceptorChain
> doIntercept
>
> FINE: Invoking handleMessage on interceptor
> [EMAIL PROTECTED]
>da
>
> Apr 21, 2008 1:56:11 PM org.apache.cxf.phase.PhaseInterceptorChain
> doIntercept
>
> FINE: Invoking handleMessage on interceptor
> [EMAIL PROTECTED]
>
> Apr 21, 2008 1:56:11 PM org.apache.cxf.phase.PhaseInterceptorChain
> doIntercept
>
> FINE: Invoking handleMessage on interceptor
> [EMAIL PROTECTED]
>30
>
> Apr 21, 2008 1:56:11 PM org.apache.cxf.phase.PhaseInterceptorChain
> doIntercept
>
> FINE: Invoking handleMessage on interceptor
> [EMAIL PROTECTED]
>
> Apr 21, 2008 1:56:11 PM
> org.apache.cxf.interceptor.URIMappingInterceptor handleMessage
>
> FINE: Invoking HTTP method null
>
> Apr 21, 2008 1:56:11 PM
> org.apache.cxf.interceptor.URIMappingInterceptor handleMessage
>
> FINE: URIMappingInterceptor can only handle HTTP GET, not HTTP null
>
> Apr 21, 2008 1:56:11 PM org.apache.cxf.phase.PhaseInterceptorChain
> doIntercept
>
> FINE: Invoking handleMessage on interceptor
> [EMAIL PROTECTED]
>
> Apr 21, 2008 1:56:11 PM org.apache.cxf.phase.PhaseInterceptorChain
> doIntercept
>
> FINE: Invoking handleMessage on interceptor
> [EMAIL PROTECTED]
>
> Apr 21, 2008 1:56:11 PM org.apache.cxf.phase.PhaseInterceptorChain
> doIntercept
>
> FINE: Invoking handleMessage on interceptor
> [EMAIL PROTECTED]
>
> Apr 21, 2008 1:56:11 PM org.apache.cxf.phase.PhaseInterceptorChain
> doIntercept
>
> FINE: Invoking handleMessage on interceptor
> [EMAIL PROTECTED]
>
> Apr 21, 2008 1:56:11 PM org.apache.cxf.phase.PhaseInterceptorChain
> doIntercept
>
> FINE: Invoking handleMessage on interceptor
> [EMAIL PROTECTED]
>
> Apr 21, 2008 1:56:11 PM org.apache.cxf.phase.PhaseInterceptorChain
> doIntercept
>
> INFO: Interceptor has thrown exception, unwinding now
>
> java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
>
>             at java.util.ArrayList.RangeCheck(ArrayList.java:546)
>
>             at java.util.ArrayList.get(ArrayList.java:321)
>
>             at
> org.apache.cxf.message.MessageContentsList.get(MessageContentsList.jav
>a: 79)
>
>             at
> org.apache.cxf.jaxws.interceptors.HolderInInterceptor.handleMessage(Ho
>ld erInInterceptor.java:64)
>
>             at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercepto
>rC hain.java:220)
>
>             at
> org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:429)
>
>             at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleRe
>sp onse(HTTPConduit.java:1976)
>
>             at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HT
>TP Conduit.java:1812)
>
>             at
> org.apache.cxf.io.CacheAndWriteOutputStream.postClose(CacheAndWriteOut
>pu tStream.java:47)
>
>             at
> org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:159
>)
>
>             at
> org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66
>)
>
>             at
> org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:582)
>
>             at
> org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndin
>gI nterceptor.handleMessage(MessageSenderInterceptor.java:62)
>
>             at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercepto
>rC hain.java:220)
>
>             at
> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:276)
>
>             at
> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:222)
>
>             at
> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
>
>             at
> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:170
>)
>
>             at $Proxy29.login(Unknown Source)
>
>             at com.myapp.InforWSDLClient.App.main(App.java:60)
>
> Apr 21, 2008 1:56:11 PM org.apache.cxf.phase.PhaseInterceptorChain
> unwind
>
> FINE: Invoking handleFault on interceptor
> [EMAIL PROTECTED]
>
> Apr 21, 2008 1:56:11 PM org.apache.cxf.phase.PhaseInterceptorChain
> unwind
>
> FINE: Invoking handleFault on interceptor
> [EMAIL PROTECTED]
>
> Apr 21, 2008 1:56:11 PM org.apache.cxf.phase.PhaseInterceptorChain
> unwind
>
> FINE: Invoking handleFault on interceptor
> [EMAIL PROTECTED]
>
> Apr 21, 2008 1:56:11 PM org.apache.cxf.phase.PhaseInterceptorChain
> unwind
>
> FINE: Invoking handleFault on interceptor
> [EMAIL PROTECTED]
>
> Apr 21, 2008 1:56:11 PM org.apache.cxf.phase.PhaseInterceptorChain
> unwind
>
> FINE: Invoking handleFault on interceptor
> [EMAIL PROTECTED]
>
> Apr 21, 2008 1:56:11 PM org.apache.cxf.phase.PhaseInterceptorChain
> unwind
>
> FINE: Invoking handleFault on interceptor
> [EMAIL PROTECTED]
>
> Apr 21, 2008 1:56:11 PM org.apache.cxf.phase.PhaseInterceptorChain
> unwind
>
> FINE: Invoking handleFault on interceptor
> [EMAIL PROTECTED]
>30
>
> Apr 21, 2008 1:56:11 PM org.apache.cxf.phase.PhaseInterceptorChain
> unwind
>
> FINE: Invoking handleFault on interceptor
> [EMAIL PROTECTED]
>
> Apr 21, 2008 1:56:11 PM org.apache.cxf.phase.PhaseInterceptorChain
> unwind
>
> FINE: Invoking handleFault on interceptor
> [EMAIL PROTECTED]
>da
>
> Apr 21, 2008 1:56:11 PM org.apache.cxf.phase.PhaseInterceptorChain
> unwind
>
> FINE: Invoking handleFault on interceptor
> [EMAIL PROTECTED]
>7
>
> Apr 21, 2008 1:56:11 PM org.apache.cxf.phase.PhaseInterceptorChain
> unwind
>
> FINE: Invoking handleFault on interceptor
> [EMAIL PROTECTED]
>
> Apr 21, 2008 1:56:11 PM org.apache.cxf.phase.PhaseInterceptorChain
> unwind
>
> FINE: Invoking handleFault on interceptor
> [EMAIL PROTECTED]
>
> Apr 21, 2008 1:56:11 PM org.apache.cxf.phase.PhaseInterceptorChain
> unwind
>
> FINE: Invoking handleFault on interceptor
> [EMAIL PROTECTED]
>
> Apr 21, 2008 1:56:11 PM org.apache.cxf.phase.PhaseInterceptorChain
> unwind
>
> FINE: Invoking handleFault on interceptor
> [EMAIL PROTECTED]
>
> javax.xml.ws.soap.SOAPFaultException: Index: 1, Size: 1
>
>             at
> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:211
>)
>
>             at $Proxy29.login(Unknown Source)
>
>             at com.myapp.InforWSDLClient.App.main(App.java:60)
>
> Caused by: java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
>
>             at java.util.ArrayList.RangeCheck(ArrayList.java:546)
>
>             at java.util.ArrayList.get(ArrayList.java:321)
>
>             at
> org.apache.cxf.message.MessageContentsList.get(MessageContentsList.jav
>a: 79)
>
>             at
> org.apache.cxf.jaxws.interceptors.HolderInInterceptor.handleMessage(Ho
>ld erInInterceptor.java:64)
>
>             at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercepto
>rC hain.java:220)
>
>             at
> org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:429)
>
>             at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleRe
>sp onse(HTTPConduit.java:1976)
>
>             at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HT
>TP Conduit.java:1812)
>
>             at
> org.apache.cxf.io.CacheAndWriteOutputStream.postClose(CacheAndWriteOut
>pu tStream.java:47)
>
>             at
> org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:159
>)
>
>             at
> org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66
>)
>
>             at
> org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:582)E
>ND
>
>
>
>             at
> org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndin
>gI nterceptor.handleMessage(MessageSenderInterceptor.java:62)
>
>             at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercepto
>rC hain.java:220)
>
>             at
> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:276)
>
>             at
> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:222)
>
>             at
> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
>
>             at
> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:170
>)
>
>             ... 2 more
>
>
>
> I dug into the MessageContentsList and HolderInInterceptor code and it
> looks like this could be an issue with not subtracting one from the
> list index.  On line 63 of HolderInInterceptor, 1 is subtracted from
> the part index.  But when the MessagecontentsList access the part, 1
> is not subtracted.  My response only has a single string value so
> could the error be that the MessageContentsList is not accessing the
> proper part index?
>
>
> Thanks,
>
> Andy
>
>
> This email communication and any files transmitted with it may contain
> confidential and or proprietary information and is provided for the
> use of the intended recipient only. Any review, retransmission or
> dissemination of this information by anyone other than the intended
> recipient is prohibited.  If you receive this email in error, please
> contact the sender and delete this communication and any copies
> immediately. Thank you. http://www.encana.com



-- 
J. Daniel Kulp
Principal Engineer, IONA
[EMAIL PROTECTED]
http://www.dankulp.com/blog

Reply via email to