I'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>
|
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4066299#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...