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_DOM
AIN</RepositoryDomainName><RepositoryName>MY_DEVELOPMENT</RepositoryName
><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]
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],
[EMAIL PROTECTED],
[EMAIL PROTECTED],
[EMAIL PROTECTED],
[EMAIL PROTECTED]
, [EMAIL PROTECTED]
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 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]
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]
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>a0042b4cf64fe1db11
9728ece7d</SessionId></ns1:Context> </soapenv:Header>
<soapenv:Body>
<LoginReturn
xmlns="http://www.informatica.com/wsh">a0042b4cf64fe1db119728ece7d</Logi
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]
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.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.java:
79)
at
org.apache.cxf.jaxws.interceptors.HolderInInterceptor.handleMessage(Hold
erInInterceptor.java:64)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorC
hain.java:220)
at
org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:429)
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResp
onse(HTTPConduit.java:1976)
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTP
Conduit.java:1812)
at
org.apache.cxf.io.CacheAndWriteOutputStream.postClose(CacheAndWriteOutpu
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$MessageSenderEndingI
nterceptor.handleMessage(MessageSenderInterceptor.java:62)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorC
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]
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]
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.java:
79)
at
org.apache.cxf.jaxws.interceptors.HolderInInterceptor.handleMessage(Hold
erInInterceptor.java:64)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorC
hain.java:220)
at
org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:429)
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResp
onse(HTTPConduit.java:1976)
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTP
Conduit.java:1812)
at
org.apache.cxf.io.CacheAndWriteOutputStream.postClose(CacheAndWriteOutpu
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)END
at
org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingI
nterceptor.handleMessage(MessageSenderInterceptor.java:62)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorC
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