[jboss-user] [JBossWS] - Problem marshalling data from a List
gryffin
do-not-reply at jboss.com
Fri Jun 8 17:35:01 EDT 2007
I have a problem sending a list of item to a client.
I send an object, which contains a member that itself stores a list of device objects. These objects store a member that is either a tag or a network device. ( I don't get to define the WSDL or Schema. )
I confirm that my List object does store a collection of devices which each in turn have a tag.
| 13:58:54,126 DEBUG [AssociationValuesDAO] Device.deviceList:
| [com.boeing.nmt.types.DeviceData$Device$AeroScoutTag at 18a5d49,
| com.boeing.nmt.types.DeviceData$Device$AeroScoutTag at f2a0ef,
| com.boeing.nmt.types.DeviceData$Device$AeroScoutTag at 123b9c1,
| com.boeing.nmt.types.DeviceData$Device$AeroScoutTag at 786e16,
| com.boeing.nmt.types.DeviceData$Device$AeroScoutTag at 838143,
| com.boeing.nmt.types.DeviceData$Device$AeroScoutTag at 19b7dfa,
| com.boeing.nmt.types.DeviceData$Device$AeroScoutTag at 16bb63e,
| com.boeing.nmt.types.DeviceData$Device$AeroScoutTag at 89e0c6,
| com.boeing.nmt.types.DeviceData$Device$AeroScoutTag at 3fcfb]
|
I send this across the wire ( server and client are local ). I unpack it and everything works great Until I try to access the tags inside the device objects in the List.
They're NULL.
| [java] device list: [com.boeing.nmt.client.ws.DeviceData$Device at 102a0a5, com.boeing.nmt.client.
| ws.DeviceData$Device at 180b22e, com.boeing.nmt.client.ws.DeviceData$Device at 31fb31, com.boeing.nmt.clie
| nt.ws.DeviceData$Device at 162522b, com.boeing.nmt.client.ws.DeviceData$Device at 89dd, com.boeing.nmt.cli
| ent.ws.DeviceData$Device at 15b1773, com.boeing.nmt.client.ws.DeviceData$Device at 160bf50, com.boeing.nmt
| .client.ws.DeviceData$Device at b05236, com.boeing.nmt.client.ws.DeviceData$Device at 1e55794]
| [java] device list size: 9
| [java] dev[1]: com.boeing.nmt.client.ws.DeviceData$Device at 102a0a5
| [java] Exception! java.lang.NullPointerException
|
I trigger the exception this way:
| List <DeviceData.Device> devList = aagr.getAssociationValues().getDeviceData().getDevice();
| System.out.println("device list: " + devList.toString() );
| System.out.println("device list size: " + devList.size() );
| // devList.toArray()[0] is a DeviceData.Device.Tag object, for whatever reason, it's NULL
| System.out.println("dev[1]: " + devList.toArray()[0].toString());
| System.out.println("dev[1]: " + ((DeviceData.Device)devList.toArray()[0]).toString());
|
I look back at the logs to see what JBoss is unmarshalling, and it looks fine.
2007-06-08 13:58:54,158 DEBUG [org.jboss.ws.core.soap.ObjectContent] xmlFragment: [source=
| <Results xmlns:ns2="http://www.boeing.com/NLS/ns/Types" xmlns:ns3="http://www.boeing.com/NLS/ns/soapTypes" Version="0.3.0">
| <ns3:AssociationReturnCode>
| <ns3:Success>true</ns3:Success>
| <ns3:Reason>Dumb luck</ns3:Reason>
| </ns3:AssociationReturnCode>
| <ns3:AssociationValues DeleteOtherDeviceAssociations="false" CreateDeviceAssociations="NONE">
| <ns3:DeviceData Version="0.3.0">
| <ns2:Device xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:AeroScoutTag" MacId="000CCC654323">
| <ns2:BatteryStatus>Unknown
| </ns2:BatteryStatus>
| </ns2:Device>
| ...
| </ns3:DeviceData>
| <ns3:AssetData Version="0.3.0" OwnerAppId="foo" AssetId="fah">
| <ns2:AssetDisplayName>gah</ns2:AssetDisplayName>
| <ns2:AssetDescription>fah</ns2:AssetDescription>
| <ns2:AssetSuspended>true</ns2:AssetSuspended>
| </ns3:AssetData>
| </ns3:AssociationValues>
| </Results>
| ]
| 2007-06-08 13:58:54,158 DEBUG [org.jboss.ws.core.soap.SOAPContentElement] -----------------------------------
| 2007-06-08 13:58:54,220 DEBUG [org.jboss.ws.core.soap.MessageContextAssociation] popMessageContext: org.jboss.ws.core.jaxws.handler.SOAPMessageContextJAXWS at 131a24c (Thread http-0.0.0.0-8080-2)
I'm using JBoss 4.0.5 w/ JBossWS 1.2.0. Does anyone have an idea what am I missing?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4052753#4052753
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4052753
More information about the jboss-user
mailing list