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]

Reply via email to