Sure, it's attached.

2008/7/21 Amila Suriarachchi <[EMAIL PROTECTED]>:
> 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.



-- 
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
<?xml version="1.0" encoding="UTF-8"?>
<definitions targetNamespace="http://osr.nsw.gov.au/pillar/gen";
	xmlns:tns="http://osr.nsw.gov.au/pillar/gen"; xmlns:xsd1="http://osr.nsw.gov.au/pillar/gen/xsd";
	xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"; xmlns="http://schemas.xmlsoap.org/wsdl/";
	xmlns:xmime="http://www.w3.org/2005/05/xmlmime"; xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
	xmlns:xsd="http://www.w3.org/2001/XMLSchema"; name="Pillar">
	<documentation>
		Image storage and retrieval service
	</documentation>
	<types>
		<schema attributeFormDefault="qualified" elementFormDefault="qualified"
			targetNamespace="http://osr.nsw.gov.au/pillar/gen/xsd"; xmlns="http://www.w3.org/2001/XMLSchema";
			xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";>
			<import namespace="http://www.w3.org/2005/05/xmlmime";
				schemaLocation="xsd0.xsd" />
			<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>
			<complexType name="pillarFaultType">
				<all>
					<element name="Code" type="xsd:int" />
					<element name="Description" type="xsd:string" />
				</all>
			</complexType>
			<element name="pillarFaultResponse" type="xsd1:pillarFaultType" />
			<element name="delete">
				<complexType>
					<sequence>
						<element minOccurs="0" name="ifn" nillable="true" type="xsd:string" />
					</sequence>
				</complexType>
			</element>
			<element name="put">
				<complexType>
					<sequence>
						<element minOccurs="1" maxOccurs="unbounded" name="id"
							nillable="true" type="xsd1:idSet" />
						<element minOccurs="0" maxOccurs="1" name="date" nillable="true"
							type="xsd:date" />
						<element minOccurs="0" maxOccurs="1" name="backscan" type="xsd:boolean" />
						<element minOccurs="0" maxOccurs="1" name="docType"
							nillable="true" type="xsd:integer" />
						<element minOccurs="0" maxOccurs="1" name="batchNumber"
							nillable="true" type="xsd:string" />
						<element minOccurs="0" maxOccurs="1" name="document"
							nillable="true" type="xmime:base64Binary" />
					</sequence>
				</complexType>
			</element>
			<element name="get">
				<complexType>
					<sequence>
						<element minOccurs="1" maxOccurs="unbounded" name="id"
							nillable="true" type="xsd1:idSet" />
						<element minOccurs="0" maxOccurs="1" name="intersect"
							type="xsd:boolean" />
					</sequence>
				</complexType>
			</element>
			<element name="getResponse">
				<complexType>
					<sequence>
						<element maxOccurs="unbounded" minOccurs="0" name="out"
							type="xmime:base64Binary">
						</element>
					</sequence>
				</complexType>
			</element>
		</schema>
	</types>
	<message name="pillarFaultResponse">
		<part name="fault" element="xsd1:pillarFaultResponse" />
	</message>
	<message name="getRequest">
		<part name="parameters" element="xsd1:get" />
	</message>
	<message name="getResponse">
		<part name="parameters" element="xsd1:getResponse" />
	</message>
	<message name="putRequest">
		<part name="parameters" element="xsd1:put" />
	</message>
	<message name="putResponse" />
	<message name="deleteRequest">
		<part name="parameters" element="xsd1:delete" />
	</message>
	<message name="deleteResponse" />
	<portType name="PillarPortType">
		<operation name="delete">
			<input name="delete" message="tns:deleteRequest" wsaw:Action="urn:delete" />
			<output name="deleteResponse" message="tns:deleteResponse"
				wsaw:Action="urn:deleteResponse" />
			<fault name="pillarFault" message="tns:pillarFaultResponse"
				wsaw:Action="urn:pillarFault" />
		</operation>
		<operation name="put">
			<input name="put" message="tns:putRequest" wsaw:Action="urn:put" />
			<output name="putResponse" message="tns:putResponse"
				wsaw:Action="urn:putResponse" />
			<fault name="pillarFault" message="tns:pillarFaultResponse"
				wsaw:Action="urn:pillarFault" />
		</operation>
		<operation name="get">
			<input name="get" message="tns:getRequest" wsaw:Action="urn:get" />
			<output name="getResponse" message="tns:getResponse"
				wsaw:Action="urn:getResponse" />
			<fault name="pillarFault" message="tns:pillarFaultResponse"
				wsaw:Action="urn:pillarFault" />
		</operation>
	</portType>
	<binding name="PillarPortBinding" type="tns:PillarPortType">
		<soap:binding style="document"
			transport="http://schemas.xmlsoap.org/soap/http"; />
		<operation name="delete">
			<soap:operation soapAction="delete" style="document" />
			<input>
				<soap:body use="literal" namespace="http://osr.nsw.gov.au/pillar"; />
			</input>
			<fault name="pillarFault">
				<soap:fault name="pillarFault" use="literal"
					namespace="http://osr.nsw.gov.au/pillar"; />
			</fault>
		</operation>
		<operation name="put">
			<soap:operation soapAction="put" style="document" />
			<input>
				<soap:body use="literal" namespace="http://osr.nsw.gov.au/pillar"; />
			</input>
			<fault name="pillarFault">
				<soap:fault name="pillarFault" use="literal"
					namespace="http://osr.nsw.gov.au/pillar"; />
			</fault>
		</operation>
		<operation name="get">
			<soap:operation soapAction="get" style="document" />
			<input>
				<soap:body use="literal" namespace="http://osr.nsw.gov.au/pillar"; />
			</input>
			<output>
				<soap:body use="literal" namespace="http://osr.nsw.gov.au/pillar"; />
			</output>
			<fault name="pillarFault">
				<soap:fault name="pillarFault" use="literal"
					namespace="http://osr.nsw.gov.au/pillar"; />
			</fault>
		</operation>
	</binding>
	<service name="Pillar">
		<port name="PillarPort" binding="tns:PillarPortBinding">
			<soap:address
				location="http://127.0.0.1:8180/Pillar/services/Pillar.PillarEndpoint"; />
		</port>
	</service>
</definitions>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to