Can you send your wsdl? I think you use only Axis2 at the server side.

thanks,
Amila.

On Mon, Jul 21, 2008 at 10:06 AM, Matt Wlazlo <[EMAIL PROTECTED]> wrote:

> 2008/7/21 Amila Suriarachchi <[EMAIL PROTECTED]>:
> >
> >
> > On Mon, Jul 21, 2008 at 8:26 AM, Matt Wlazlo <[EMAIL PROTECTED]> wrote:
> >>
> >> Hi,
> >>
> >> I'm having trouble with passing inheritance types. I've followed this
> >> url:
> >>
> http://www.ibm.com/developerworks/websphere/techjournal/0401_brown/brown.html
> >> as a guide to WSDL inheritance, and everything seems to be working
> >> except that when it comes time to do a typecast, there doesn't appear
> >> to be any relationship of the objects...
> >>
> >> I think it will be easier to explain the situation in code:
> >>
> >> In my WSDL I have the following:
> >>
> >> <simpleType name="idType">
> >>        <restriction base="xsd:string">
> >>                <enumeration value="INFNUM" />
> >>                <enumeration value="SESSNUM" />
> >>                <enumeration value="CLIENTCD" />
> >>        </restriction>
> >> </simpleType>
> >> <complexType name="idSet">
> >>        <sequence>
> >>                <element maxOccurs="1" minOccurs="1" name="idtype"
> >> type="xsd1:idType" />
> >>                <element maxOccurs="1" minOccurs="1" name="idvalue"
> >> type="xsd:string" />
> >>        </sequence>
> >> </complexType>
> >> <complexType name="idSetSess">
> >>        <complexContent>
> >>                <extension base="xsd1:idSet">
> >>                        <sequence>
> >>                                <element name="seqNum" type="xsd:string"
> />
> >>                        </sequence>
> >>                </extension>
> >>        </complexContent>
> >> </complexType>
> >> .............
> >> .............
> >> <element name="get">
> >>        <complexType>
> >>                <sequence>
> >>                        <element minOccurs="1" maxOccurs="unbounded"
> >> name="id"
> >>                                        nillable="true" type="xsd1:idSet"
> >> />
> >>                </sequence>
> >>        </complexType>
> >> </element>
> >>
> >>
> >> Then in my server code (the error is here):
> >>  public get(IdSet[] ids) {
> >>    ...
> >>    for(int i = 0; i < id.length; i++) {
> >>       IdSet id = ids[i];
> >>        if(id.getIdtype() == IdType.SESSNUM) {
> >>           if(!(id instanceof IdSetSess))
> >>                throw new Exception("IdSetSess not used when IdType set
> to
> >> SESSNUM!"); // XXX id should be an instance of IdSetSess
> >>           .....
> >>           .....
> >>        }
> >>    }
> >>  }
> >>
> >> On the wire, an example request is:
> >>  <soapenv:Envelope
> >> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";>
> >>    <soapenv:Body>
> >>      <xsd:get xmlns:xsd="http://osr.nsw.gov.au/pillar/gen/xsd";>
> >>        <xsd:id xsi:type="xsd:idSetSess"
> >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
> >>          <xsd:idtype>SESSNUM</xsd:idtype>
> >>          <xsd:idvalue>20004465</xsd:idvalue>
> >>          <xsd:seqNum>141</xsd:seqNum>
> >>        </xsd:id>
> >>        <xsd:id>
> >>          <xsd:idtype>INFNUM</xsd:idtype>
> >>          <xsd:idvalue>7151999517</xsd:idvalue>
> >>        </xsd:id>
> >>      </xsd:get>
> >>    </soapenv:Body>
> >>  </soapenv:Envelope>
> >>
> >>
> >>
> >> The request on the wire looks to be to be OK. The expression "id
> >> instanceof IdSetSess" is always false, whereas I would expect it to be
> >> true.
> >>
> >> Do I need to do something special to be able to cast an IdSet to an
> >> IdSetSess? Is this even possible?
> >>
> >>
> >> Cheers,
> >> Matt.
> >>
> >>
> >> --
> >> Reclaim your digital rights, eliminate DRM, learn more at
> >> http://www.defectivebydesign.org/what_is_drm
> >>
> >> -----BEGIN GEEK CODE BLOCK-----
> >> Version: 3.12
> >> GCS d--- s: a C++++ UL+++ P+++ L+++++ E--- W++ N o-- K- w--
> >> O M+ V PS+++ PE Y PGP t+ 5 X++ R !tv b+++ DI+ D++
> >> G-- e++ h+ r+ y+++++
> >> ------END GEEK CODE BLOCK------
> >>
> >>
> >> Today's lucky number is: 09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >> For additional commands, e-mail: [EMAIL PROTECTED]
> >>
> > What is the Axis version you use? Axis1.x or Axis2.x
>
> Axis2 1.4
>
> Cheers,
> Matt.
>
>
>
> --
> Reclaim your digital rights, eliminate DRM, learn more at
> http://www.defectivebydesign.org/what_is_drm
>
> -----BEGIN GEEK CODE BLOCK-----
> Version: 3.12
> GCS d--- s: a C++++ UL+++ P+++ L+++++ E--- W++ N o-- K- w--
> O M+ V PS+++ PE Y PGP t+ 5 X++ R !tv b+++ DI+ D++
> G-- e++ h+ r+ y+++++
> ------END GEEK CODE BLOCK------
>
>
> Today's lucky number is: 09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


-- 
Amila Suriarachchi,
WSO2 Inc.

Reply via email to