Raine, we'll need to check your schema/wsdl. Please create a JIRA and upload them.
thanks, dims On 6/6/07, raine king <[EMAIL PROTECTED]> wrote:
Hi I'm writing my first web service with axis. I wrote a WSDL, ran wsdl2java.bat to generate server side code. Compiled. Build the aar and deployed it in tomcat. I then sent it a couple sample soap files and got unexpected results. This makes me think that some of the xsd features I used are not supported by Axis, namely the abstract attribute and inheiritance of complex types. Can someone confirm my suspicions or tell me where I'm going wrong? The first message I sent was: <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:m0="http://consumermgr.sss.com/consumermgr"> <SOAP-ENV:Body> <m:addDevice xmlns:m="http://consumermgr.sss.com" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <addDeviceInputParam> <m0:header> <m0:timestamp>2001-12-17T09:30:47.0Z</m0:timestamp> <m0:fromId>0</m0:fromId> </m0:header> <m0:deviceId> <m0:idType/> <m0:id/> </m0:deviceId> <m0:attributes></m0:attributes>/> </addDeviceInputParam> </m:addDevice> </SOAP-ENV:Body> </SOAP-ENV:Envelope> The response I got was: <?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <soapenv:Fault> <faultcode>soapenv:Client</faultcode> <faultstring>Please implement com.sss.consumermgr.consumermgr.ConsumerMgrServiceSkeleton#addDevice</faultstring> <detail/> </soapenv:Fault> </soapenv:Body> </soapenv:Envelope> apparently meaning that the soap message was validated. How can this be?! m0:attributes is defined as a complextype for which abstract="true". That means that it is invalid for it to appear in an actual instance! Is the abstract attribute not supported by Axis??? The second soap message I sent was: <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:m0="http://consumermgr.sss.com/consumermgr"> <SOAP-ENV:Body> <m:addDevice xmlns:m="http://consumermgr.sss.com" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <addDeviceInputParam> <m0:header> <m0:timestamp>2001-12-17T09:30:47.0Z</m0:timestamp> <m0:fromId>0</m0:fromId> </m0:header> <m0:deviceId> <m0:idType/> <m0:id/> </m0:deviceId> <m0:attributes xsi:type="STBAttributeSetType"><m0:password>MyPW</m0:password></m0:attributes>/> </addDeviceInputParam> </m:addDevice> </SOAP-ENV:Body> </SOAP-ENV:Envelope> The Response was: <?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <soapenv:Fault> <faultcode>soapenv:Client</faultcode> <faultstring>java.lang.RuntimeException: Unsupported type null STBAttributeSetType</faultstring> <detail/> </soapenv:Fault> </soapenv:Body> </soapenv:Envelope> Now in my schema STBAttributeSetType is defined as extending an abstract complex type. <attributes> is of type that abstract type. Therefore the axis-generated server code should like STBAttributeSetType. Does the "Unsupported type" error it returns mean that axis doesn't support complextype inheiritance? Thanks, Raine ________________________________ Make every IM count. Download Windows Live Messenger and join the i'm Initiative now. It's free. Make it count!
-- Davanum Srinivas :: http://davanum.wordpress.com --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
