Re: [SOAP] Custom SOAP Types of Custom SOAP types?

From: Date: Sat, 24 May 2003 20:35:53 +0000
Subject: Re: [SOAP] Custom SOAP Types of Custom SOAP types?
References: 1 2  Groups: php.soap 
Request: Send a blank email to php-soap+get-666@lists.php.net to get a copy of this message
I found this: <?xml version="1.0" encoding="UTF-8" ?> <definitions . > <types> <schema targetNamespace="someNamespace" xmlns:typens="someNamespace"> <xsd:complexType name="PERSON"> <xsd:sequence> <xsd:element name="firstName" type="xsd:string"/> <xsd:element name="lastName" type="xsd:string"/> <xsd:element name="ageInYears" type="xsd:int"/> <xsd:element name="weightInLbs" type="xsd:float"/> <xsd:element name="heightInInches" type="xsd:float"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="femalePerson"> <xsd:complexContent> <xsd:extension base="typens:PERSON" > <xsd:element name="favoriteLipstick" type="xsd:string" /> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="malePerson"> <xsd:complexContent> <xsd:extension base="typens:PERSON" > <xsd:element name="favoriteShavingLotion" type="xsd:string" /> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="maleOrFemalePerson"> <xsd:choice> <xsd:element name="fArg" type="typens:femalePerson" > <xsd:element name="mArg" type="typens:malePerson" /> </xsd:choice> </xsd:complexType> </schema> </types> <message name="addPerson"> <part name="person" type="typens:maleOrFemalePerson"/> </message> <message name="addPersonResponse"> <part name="result" type="xsd:int"/> </message> </definitions> at http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwebsrv/html/wsdlexplained.asp?frame=true On Sat, 24 May 2003, Shane Caraveo wrote: > I guess I'm not certain what you mean by 'inheritance with SOAP'. SOAP > is an xml messaging system, not an object layer. You need to do your OO > stuff in the client or server, and pass the xml message that will > sufficiently provide the data needed on the other end. > Shane > > Rob Booth wrote: > > I have a wierd problem that I've been banging my head against for some time. > > > > I'm trying to simulate inheritance with SOAP (if SOAP does this I haven't > > found any information about it). So I have an object that has 4 fields only > > 1 of which will be populated at any time. These fields represent derived > > objects. When I populate one of these fields and then build my SOAP_Value I > > get this: > > - <ns4:GetPlayPlanResponse> > > - <PlayPlan xsi:type="SOAP-ENC:Array" > > SOAP-ENC:arrayType="ns4:IntervalPlayPlan[1]" SOAP-ENC:offset="[0]"> > > - <IntervalPlayPlan xsi:type="ns4:IntervalPlayPlan"> > > ---DataRemoved--- > > </IntervalPlayPlan> > > </PlayPlan> > > </ns4:GetPlayPlanResponse> > > > > What I think I should be getting back is this: > > > > - <ns4:GetPlayPlanResponse> > > - <PlayPlan xsi:type="ns4:PlayPlan"> > > - <IntervalPlayPlan xsi:type="ns4:IntervalPlayPlan"> > > ---DataRemoved--- > > </IntervalPlayPlan> > > </PlayPlan> > > </ns4:GetPlayPlanResponse> > > > > Has anyone run into anything like this? Or does anyone know if I can build > > Inheritance into my SOAP Types? I've been able to force PEAR::SOAP to > > generate the second response if I add a simple type to my PlayPlan object, > > or if I set more than 1 of my fields to a value. But when I only have one > > field populated and the others are null I get that encoding section. > > > > Any help is appreciated, > > Rob > > > > > > > > > > -- > PHP Soap Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > >

« previous php.soap (#666) next »