jbossws 1.2.1 xml typing problem
gryffin Jul 20, 2007 2:02 PMI've got a web service that accepts a complex type as a parameter. It works with a JBossWS client, but I need it to work for an Axis client whcih is failing. We both used the same WSDL for our clients, and the service was built consuming the same WSDL.
Specifically, JBoss fails to marshall the DeviceData and AssetData objects. I can't find anything wrong with the format or schema implementation Axis uses. It looks fine, but JBoss throws an error when trying to access the children of the SelectionValues portion.
DeviceData dd = associationValues.getDeviceData()works
dd.getDeviceList()fails
Here's the SOAP envelope that Axis generates:
<?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmnls:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmnls:xsd="http://www.w3.org/2001/XMLSchema" xmnls:xsi="http://www.w3.org/2001/XMLSchema-instance" > <soapenv:Body> <assetAssociationSet xmlns="http://www.example.com/NLS/soap" > <Selector xmlns="" > <ns1:AssetId xmlns:ns1="http://www.example.com/NLS/ns/soapTypes" > 3M0000I</ns1:AssetId> <ns2:OwnerAppId xmlns:ns2="http://www.example.com/NLS/ns/soapTypes" > TOOLING</ns2:OwnerAppId> </Selector> <AssociationValues CreateDeviceAssociations="any" DeleteOtherDeviceAssociations="false" xmlns="" > <ns3:DeviceData xmlns:ns3="http://www.example.com/NLS/ns/Types" > <ns3:Device> <ns3:AeroScoutTag MacId="494949494949" /> </ns3:Device> </ns3:DeviceData> <ns4:AssetData AssetId="3M0000I" OwnerAppId="TOOLING" Version="0.1.0" xmlns:ns4="http://www.example.com/NLS/ns/Types" > <ns4:AssetDisplayName>17P7W3261-501</ns4:AssetDisplayName> <ns4:AssetCategory>/TOOLING</ns4:AssetCategory> <ns4:AssetDescription>3M0000I</ns4:AssetDescription> <ns4:AssetSuspended>false</ns4:AssetSuspended> </ns4:AssetData> </AssociationValues> </assetAssociationSet> </soapenv:Body> </soapenv:Envelope>
Here's the JBossWS client call:
<env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/' > <env:Header></env:Header> <env:Body> <ns1:assetAssociationSet xmlns:ns1='http://www.example.com/NLS/soap' > <Selector xmlns:ns2="http://www.example.com/NLS/ns/soapTypes" > <ns2:AssetId>devAssetId</ns2:AssetId> <ns2:OwnerAppId>devOwnerAppId</ns2:OwnerAppId> </Selector> <AssociationValues xmlns:ns2="http://www.example.com/NLS/ns/soapTypes" xmlns:ns3="http://www.example.com/NLS/ns/Types" DeleteOtherDeviceAssociations="true" CreateDeviceAssociations="ANY" > <ns2:DeviceData Version="0.3.0" > <ns3:Device> <ns3:AeroScoutTag MacId="000CCC1111f0"> <ns3:BatteryStatus>low</ns3:BatteryStatus> </ns3:AeroScoutTag> </ns3:Device> </ns2:DeviceData> <ns2:AssetData Version="0.3.0" OwnerAppId="devOwnerAppId" AssetId="devAssetId" > <ns3:AssetDisplayName>Stunt Asset</ns3:AssetDisplayName> <ns3:AssetCategory>/devTop1/dev1-b/dev1-b-2/dev1-b-2-a</ns3:AssetCategory> <ns3:AssetDescription> dev asset</ns3:AssetDescription> <ns3:AssetSuspended>true</ns3:AssetSuspended> </ns2:AssetData> </AssociationValues> </ns1:assetAssociationSet> </env:Body> </env:Envelope>