Hello --

I have run into a problem using a CustomType in my AegisBindings and I
am having trouble tracking it down.  I have a concrete class with no
public constructor, so I am trying to use a CustomType for this object
that will read in the value of the ListItemType and call the getInstance
method with that value so it can return the ListItemType object.  In my
CustomType, my readObject method looks like this:

http://xfire.pastecode.com/37487

Where the constant VALUE_ELEMENT is the String "value".

When I execute my test, I receive the following exception:

org.codehaus.xfire.XFireRuntimeException: Could not invoke service..
Nested exception is org.codehaus.xfire.fault.XFireFault: Index: 1, Size:
1
org.codehaus.xfire.fault.XFireFault: Index: 1, Size: 1
        at
org.codehaus.xfire.fault.XFireFault.createFault(XFireFault.java:89)
        at org.codehaus.xfire.client.Client.onReceive(Client.java:386)
        at
org.codehaus.xfire.transport.http.HttpChannel.sendViaClient(HttpChannel.
java:139)
        at
org.codehaus.xfire.transport.http.HttpChannel.send(HttpChannel.java:48)
        at
org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java
:26)
        at
org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:1
31)
        at
org.codehaus.xfire.client.Invocation.invoke(Invocation.java:75)
        at org.codehaus.xfire.client.Client.invoke(Client.java:335)
        at
org.codehaus.xfire.client.XFireProxy.handleRequest(XFireProxy.java:77)
        at
org.codehaus.xfire.client.XFireProxy.invoke(XFireProxy.java:57)
        at $Proxy4.getListItemReference(Unknown Source)
        at
cnwk.gdl.service.XFireUserListServiceFacadeTest.getListItemReference(XFi
reUserListServiceFacadeTest.java:79)
        at
cnwk.gdl.service.AbstractUserListServiceFacadeTest.testGetListItemRefere
nce(AbstractUserListServiceFacadeTest.java:54)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
a:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
        at
com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:40)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
a:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
        at
com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)
Caused by: java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
        at java.util.LinkedList.entry(LinkedList.java:365)
        at java.util.LinkedList.get(LinkedList.java:315)
        at
java.util.Collections$UnmodifiableList.get(Collections.java:1154)
        at
org.codehaus.xfire.service.binding.AbstractBinding.read(AbstractBinding.
java:187)
        at
org.codehaus.xfire.service.binding.WrappedBinding.readMessage(WrappedBin
ding.java:50)
        at
org.codehaus.xfire.soap.handler.SoapBodyHandler.invoke(SoapBodyHandler.j
ava:42)
        at
org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:1
31)
        at org.codehaus.xfire.client.Client.onReceive(Client.java:382)
        ... 34 more

And I see this in TCPMON:

POST /www-gdl/services/UserListServiceFacade HTTP/1.1
SOAPAction: ""
Content-Type: text/xml; charset=UTF-8
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; XFire
Client +http://xfire.codehaus.org)
Host: localhost:8000
Expect: 100-continue
Content-Length: 656

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><soap:Body><getLis
tItemReference xmlns="http://service.lists.cnwk";><in0
xmlns="http://service.lists.cnwk";><listItem
xmlns="http://core.beans.lists.cnwk"; xsi:nil="true" /><listItemId
xmlns="http://core.beans.lists.cnwk";>227753</listItemId><listItemType
xmlns="http://core.beans.lists.cnwk"; xsi:nil="true" /><results
xmlns="http://core.beans.lists.cnwk"; xsi:nil="true" /><start
xmlns="http://core.beans.lists.cnwk"; xsi:nil="true"
/></in0></getListItemReference></soap:Body></soap:Envelope>


HTTP/1.1 200 OK
Server: Resin/3.0.14
Content-Type: text/xml; charset=UTF-8
Transfer-Encoding: chunked
Date: Mon, 18 Jun 2007 17:25:38 GMT

3f15
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><soap:Body><getLis
tItemReferenceResponse xmlns="http://service.lists.cnwk";><out
xmlns="http://service.lists.cnwk";><listItemType
xmlns="http://core.beans.lists.cnwk";><name
xmlns="http://types.core.beans.lists.cnwk";>SavedSearch Item</name><value
xmlns="http://types.core.beans.lists.cnwk";>11</value></listItemType><ref
erencedClass xmlns="http://core.beans.lists.cnwk";><annotation
xmlns="http://lang.java";>false</annotation><annotations
xmlns="http://lang.java"; /><anonymousClass
xmlns="http://lang.java";>false</anonymousClass><array
xmlns="http://lang.java";>false</array><canonicalName
xmlns="http://lang.java";>cnwk.lists.beans.core.SavedSearch</canonicalNam
e>
.
.
.
<a lot more stuff>

My problem occurs in AbstractBinding, when it is calling
STAXUtils.toNextElement on the DepthXMLStreamReader.  That method
returns true on the second check, which results in an attempt to access
index 1 (param++ after the first successful loop) in a List of only size
1.  See the following code for some highlights:

http://xfire.pastecode.com/37489

I'm not sure why the code does not understand that there is only one
part to the message (maybe there should be more parts?), but I hope that
the information above may give someone clues into what is wrong with my
current setup.  Any help would be greatly appreciated.

Thanks!

 

---------------------------------------------------------------------
To unsubscribe from this list please visit:

    http://xircles.codehaus.org/manage_email

Reply via email to