Authmatic SOAP_Value generation

From: Date: Fri, 25 Apr 2003 00:43:45 +0000
Subject: Authmatic SOAP_Value generation
Groups: php.soap 
Request: Send a blank email to php-soap+get-572@lists.php.net to get a copy of this message
So after reading through Dmitri's disco_server.php example and thinking that the way he is going about building his SOAP_Value objects for return is very tedious I set about tyring to come up with a way of having my code build them for me. Attached the code for PEAR::SOAP server, this is what I was using to test my concepts out on. In the class there is a method buildSOAP(). This method takes in the name of a userdefined, or XML standard, data type and an array and returns the built SOAP_Value. I'd appreciate it if anyone who is interested could take a look at it and give me some feedback. I don't like the way the code currently works, too many decisions and duplicate effort. Please review it and let me know what you think, definately let me know if you find any problems or solutions. I'm hoping that something like this can make it into the library so that users won't have to try to generate those cumbersome objects on there own and can just concern themselves with building there servers. Thanks, Rob begin 666 pear-server.php M/#]P:' *(" @<F5Q=6ER95]O;F-E*"=33T%0+U-E<G9E<BYP:' G*3L*"B @ M(&-L87-S(%-/05!?2&5L;&]?4V5R=F5R('L*(" @(" @=F%R("1?7V1I<W!A M=&-H7VUA<" ](&%R<F%Y*"D["B @(" @('9A<B D7U]T>7!E9&5F(#T@87)R M87DH*3L*"B @(" @(&9U;F-T:6]N(%-/05!?2&5L;&]?4V5R=F5R*"D@>PH@ M(" @(" @(" D=&AI<RT^7U]D:7-P871C:%]M87!;)VAE;&QO5V]R;&0G72 ] M"B @(" @(" @(" @(&%R<F%Y*"=I;B<]/F%R<F%Y*"=I;FUE<W-A9V4G/3XG M<W1R:6YG)RDL"B @(" @(" @(" @(" @(" @("=O=70G/3YA<G)A>2@G<F5S M=6QT)ST^)W-T<FEN9R<I*3L*"B @(" @(" @("1T:&ES+3Y?7V1I<W!A=&-H M7VUA<%LG8V]M<&QE>%1E<W0G72 ]"B @(" @(" @(" @(&%R<F%Y*"=I;B<] M/F%R<F%Y*"=O;F4G(#T^("=I;G0G+" G='=O)R ]/B G:6YT)RDL"B @(" @ M(" @(" @(" @(" @("=O=70G/3YA<G)A>2@G<F5S=6QT)ST^"B @(" @(" @ M(" @(" @(" @(" @(" @(" @(" @(" G>W5R;CI33T%07TAE;&QO7U-E<G9E M<GU3='5F9B<I*3L*"B @(" @(" @("1T:&ES+3Y?7V1I<W!A=&-H7VUA<%LG M87)R87E497-T)UT@/0H@(" @(" @(" @("!A<G)A>2@G:6XG/3YA<G)A>2@I M+ H@(" @(" @(" @(" @(" @(" G;W5T)ST^87)R87DH)W)E<W5L="<@/3X* M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @("=[=7)N.E-/05!?2&5L M;&]?4V5R=F5R?4%R<F%Y5&5S=%)E<W5L="<I*3L*"B @(" @(" @("1T:&ES M+3Y?7V1I<W!A=&-H7VUA<%LG;F5S=&5D5&5S="==(#T*(" @(" @(" @(" @ M87)R87DH)VEN)ST^87)R87DH*2P*(" @(" @(" @(" @(" @(" @)V]U="<] M/F%R<F%Y*"=R97-U;'0G(#T^"B @(" @(" @(" @(" @(" @(" @(" @(" @ M(" @(" G>W5R;CI33T%07TAE;&QO7U-E<G9E<GU.97-T961497-T4F5S=6QT M)RDI.PH*(" @(" @(" @)'1H:7,M/E]?='EP961E9ELB4W1U9F8B72 ]"B @ M(" @(" @(" @(&%R<F%Y*"=O;F4G(#T^("=I;G0G+ H@(" @(" @(" @(" @ M(" @(" G='=O)R ]/B G:6YT)RP*(" @(" @(" @(" @(" @(" @)V]N92UT M=V\G(#T^("=S=')I;F<G+ H@(" @(" @(" @(" @(" @(" G='=O+6]N92<@ M/3X@)W-T<FEN9R<I.PH*(" @(" @(" @)'1H:7,M/E]?='EP961E9ELB07)R M87E/9E-T=69F(ET@/0H@(" @(" @(" @("!A<G)A>2AA<G)A>2@G:71E;2<@ M/3X@)WMU<FXZ4T]!4%](96QL;U]397)V97)]4W1U9F8G*2D["@H@(" @(" @ M(" D=&AI<RT^7U]T>7!E9&5F6R)!<G)A>51E<W1297-U;'0B72 ]"B @(" @ M(" @(" @(&%R<F%Y*"=3='5F9D%R<F%Y)R ]/B G>W5R;CI33T%07TAE;&QO M7U-E<G9E<GU!<G)A>4]F4W1U9F8G*3L*"B @(" @(" @("1T:&ES+3Y?7W1Y M<&5D969;(DYE<W1E9%1E<W1297-U;'0B72 ]"B @(" @(" @(" @(&%R<F%Y M*"=T:71L92<@/3X@)W-T<FEN9R<L"B @(" @(" @(" @(" @(" @("=.97-T M9613=')U8W0Q)R ]/B G>W5R;CI33T%07TAE;&QO7U-E<G9E<GU3='5F9B<L M"B @(" @(" @(" @(" @(" @("=.97-T9613=')U8W0R)R ]/B G>W5R;CI3 M3T%07TAE;&QO7U-E<G9E<GU3='5F9B<I.PH@(" @("!]"@H@(" @("!F=6YC M=&EO;B!S=')I<$YA;65S<&%C92@D;F%M92D@>PH@(" @(" @(" D<F5T5F%L M(#T@)&YA;64["B @(" @(" @(&EF("@D;F%M92 F)B D;F%M95LP72 ]/2 B M>R(I('L*(" @(" @(" @(" M>@<')E9U]M871C:"@G+UQ[*"XJ/RE<?2@N*BDO M)RPD;F%M92P@)&TI.PH@(" @(" @(" @(" D<F5T5F%L(#T@)&U;,ET["B @ M(" @(" @('T*(" @(" @(" @<F5T=7)N("1R971686P["B @(" @('T*"B @ M(" @("\O(%1A:V5S(&EN(&%N(&%S<V]C:6%T:79E(&%R<F%Y(&%N9"!R971U M<FYS(&$@<')O<&5R;'D@9F]R;65D"B @(" @("\O(%-/05 @;V)J96-T+@H@ M(" @("!F=6YC=&EO;B!B=6EL9%-/05 H)&YA;64L("1V86QU92D@>PH@(" @ M(" @(" D<F5T5F%L(#T@3E5,3#L*"B @(" @(" @(&EF("AI<W-E="@D=&AI M<RT^7U]T>7!E9&5F6R1N86UE72DI('L*(" @(" @(" @(" @:68@*&ES7V%R M<F%Y*"1T:&ES+3Y?7W1Y<&5D969;)&YA;65=6S!=*2D@>PH@(" @(" @(" @ M(" @(" D<W5B07)R87D@/2 D=&AI<RT^7U]T>7!E9&5F6R1N86UE75LP73L* M(" @(" @(" @(" @(" @9F]R96%C:"@D<W5B07)R87D@87,@)&%.86UE(#T^ M("1A5'EP92D@>PH@(" @(" @(" @(" @(" @(" D851Y<&5.86UE(#T@)'1H M:7,M/G-T<FEP3F%M97-P86-E*"1A5'EP92D["B @(" @(" @(" @(" @(" @ M(&9O<F5A8V@H)'9A;'5E(&%S("1R;W<I('L*(" @(" @(" @(" @(" @(" @ M(" @:68@*&ES<V5T*"1T:&ES+3Y?7W1Y<&5D969;)&%4>7!E3F%M95TI*2![ M"B @(" @(" @(" @(" @(" @(" @(" @("1R971686Q;72 ](&YE=R!33T%0 M7U9A;'5E*"1A3F%M92P*(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @ M(" @(" @(" @(" @(" @(" @("1A5'EP92P*(" @(" @(" @(" @(" @(" @ M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @("1T:&ES+3YB=6EL9%-/ M05 H)&%4>7!E3F%M92P*(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @ M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @)')O=RDI.PH@ M(" @(" @(" @(" @(" @(" @("!](&5L<V4@>PH@(" @(" @(" @(" @(" @ M(" @(" @(" D<F5T5F%L6UT@/2!N97<@4T]!4%]686QU92@D84YA;64L"B @ M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @ M(" D851Y<&4L"B @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @ M(" @(" @(" @(" @(" D<F]W*3L*(" @(" @(" @(" @(" @(" @(" @?0H@ M(" @(" @(" @(" @(" @("!]"B @(" @(" @(" @(" @('T*(" @(" @(" @ M(" @?2!E;'-E('L*(" @(" @(" @(" @(" @9F]R96%C:"@D=&AI<RT^7U]T M>7!E9&5F6R1N86UE72!A<R D;F%M92 ]/B D='EP92D@>PH@(" @(" @(" @ M(" @(" @(" D='EP94YA;64@/2 D=&AI<RT^<W1R:7!.86UE<W!A8V4H)'1Y M<&4I.PH@(" @(" @(" @(" @(" @("!I9B H:7-S970H)'9A;'5E6R1N86UE M72DI('L*(" @(" @(" @(" @(" @(" @(" @:68@*&ES<V5T*"1T:&ES+3Y? M7W1Y<&5D969;)'1Y<&5.86UE72DI('L*(" @(" @(" @(" @(" @(" @(" @ M(" @:68@*&-O=6YT*"1T:&ES+3Y?7W1Y<&5D969;)'1Y<&5.86UE72D@/B Q M*2!["B @(" @(" @(" @(" @(" @(" @(" @(" @("1R971686Q;72 ]( H@ M(" @(" @(" @(" @(" @(" @(" @(" @(" @("!N97<@4T]!4%]686QU92@D M;F%M92P*(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @ M(" @(" @)'1Y<&4L"B @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @ M(" @(" @(" @(" @("1T:&ES+3YB=6EL9%-/05 H)'1Y<&5.86UE+ H@(" @ M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @ M(" @(" @(" @(" @("1V86QU95LD;F%M95TI*3L*(" @(" @(" @(" @(" @ M(" @(" @(" @?2!E;'-E('L*(" @(" @(" @(" @(" @(" @(" @(" @(" @ M)')E=%9A;" ]( H@(" @(" @(" @(" @(" @(" @(" @(" @(" @("!N97<@ M4T]!4%]686QU92@D;F%M92P*(" @(" @(" @(" @(" @(" @(" @(" @(" @ M(" @(" @(" @(" @(" @(" @)'1Y<&4L"B @(" @(" @(" @(" @(" @(" @ M(" @(" @(" @(" @(" @(" @(" @(" @("1T:&ES+3YB=6EL9%-/05 H)'1Y M<&5.86UE+ H@(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @ M(" @(" @(" @(" @(" @(" @(" @(" @("1V86QU95LD;F%M95TI*3L*(" @ M(" @(" @(" @(" @(" @(" @(" @?0H@(" @(" @(" @(" @(" @(" @("!] M(&5L<V4@>PH@(" @(" @(" @(" @(" @(" @(" @(" D<F5T5F%L6UT@/2!N M97<@4T]!4%]686QU92@D;F%M92P*(" @(" @(" @(" @(" @(" @(" @(" @ M(" @(" @(" @(" @(" @(" @(" @(" @("1T>7!E+ H@(" @(" @(" @(" @ M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @)'9A;'5E6R1N M86UE72D["B @(" @(" @(" @(" @(" @(" @('T*(" @(" @(" @(" @(" @ M(" @?2!E;'-E('L*(" @(" @(" @(" @(" @(" @(" @)')E=%9A;%M=(#T@ M;F5W(%-/05!?5F%L=64H)&YA;64N("1T>7!E+"!.54Q,*3L*(" @(" @(" @ M(" @(" @(" @?0H@(" @(" @(" @(" @("!]"B @(" @(" @(" @('T*(" @ M(" @(" @?2!E;'-E('L*(" @(" @(" @(" @)')E=%9A;" ](&YE=R!33T%0 M7U9A;'5E*"1N86UE+"!.54Q,+" D=F%L=64I.PH@(" @(" @("!]( H@(" @ M(" @("!R971U<FX@)')E=%9A;#L@"B @(" @('T*"B @(" @(&9U;F-T:6]N M(&AE;&QO5V]R;&0H)&EN;65S<V%G92D@>PH@(" @(" @("!I9B H)&EN;65S M<V%G92 ]/2 G)RD@>PH@(" @(" @(" @(" D9F%U;'0@/2!N97<@4T]!4%]& M875L="@G66]U(&UU<W0@<W5P<&QY(&$@=F%L:60@<W1R:6YG(2<L(#$R,S0U M*3L*(" @(" @(" @(" @<F5T=7)N("1F875L="T^;65S<V%G92@I.PH@(" @ M(" @("!](&5L<V4@>PH@(" @(" @(" @("!R971U<FX@)'1H:7,M/F)U:6QD M4T]!4"@B<W1R:6YG(BP@(DAE;&QO("1I;FUE<W-A9V4A(BD["B @(" @(" @ M('T*(" @(" @?0H*(" @(" @9G5N8W1I;VX@;F5S=&5D5&5S="@I('L*(" @ M(" @(" @)&YE<W0Q(#T@87)R87DH)V]N92<@/3X@,2P*(" @(" @(" @(" @ M(" @(" @(" @(" @)W1W;R<@/3X@,BP*(" @(" @(" @(" @(" @(" @(" @ M(" @)V]N92UT=V\G(#T^("<Q(#(G+ H@(" @(" @(" @(" @(" @(" @(" @ M(" G='=O+6]N92<@/3X@)S(@,2<I.PH@(" @(" @(" D;F5S=#(@/2!A<G)A M>2@G;VYE)R ]/B U+ H@(" @(" @(" @(" @(" @(" @(" @(" M>G='=O)R ] M/B V+ H@(" @(" @(" @(" @(" @(" @(" @(" G;VYE+71W;R<@/3X@)S4@ M-B<L"B @(" @(" @(" @(" @(" @(" @(" @("=T=V\M;VYE)R ]/B G-B U M)RD["B @(" @(" @("1R971686P@/2!A<G)A>2@G3F5S=&5D4W1R=6-T,2<@ M/3X@)&YE<W0Q+ H@(" @(" @(" @(" @(" @(" @(" @(" @)TYE<W1E9%-T M<G5C=#(G(#T^("1N97-T,BP*(" @(" @(" @(" @(" @(" @(" @(" @("=T M:71L92<@/3X@)U1E<W1I;F<@36EX960@5'EP97,@*'5S97(O6$U,*2<I.PH* M(" @(" @(" @<F5T=7)N(&YE=R!33T%07U9A;'5E*"=R97-U;'0G+ H@(" @ M(" @(" @(" @(" @(" @(" @(" @(" @(" @)WMU<FXZ4T]!4%](96QL;U]3 M97)V97)]3F5S=&5D5&5S=%)E<W5L="<L"B @(" @(" @(" @(" @(" @(" @ M(" @(" @(" @(" D=&AI<RT^8G5I;&133T%0*"=.97-T961497-T4F5S=6QT M)RP@)')E=%9A;"DI.R *(" @(" @?0H*(" @(" @9G5N8W1I;VX@87)R87E4 M97-T*"D@>PH@(" @(" @(" D<F5T5F%L(#T@87)R87DH*3L*(" @(" @(" @ M)'-T=69F(#T@87)R87DH*3L*"B @(" @(" @(&9O<B H)&D@/2 P.R D:2 \ M(#4[("1I*RLI('L*(" @(" @(" @(" @)'@@/2 D:2 K(#$["B @(" @(" @ M(" @("1S='5F9EM=(#T@87)R87DH)V]N92<@/3X@)&DL"B @(" @(" @(" @ M(" @(" @(" @(" @(" @(" @)W1W;R<@/3X@)'@L"B @(" @(" @(" @(" @ M(" @(" @(" @(" @(" @)V]N92UT=V\G(#T^("(D:2 D>"(L"B @(" @(" @ M(" @(" @(" @(" @(" @(" @(" @)W1W;RUO;F4G(#T^("(D>" D:2(I.PH* M(" @(" @(" @?0H*(" @(" @(" @)')E=%9A;" ](&%R<F%Y*"=3='5F9D%R M<F%Y)R ]/B D<W1U9F8I.PH@(" @(" @("!R971U<FX@;F5W(%-/05!?5F%L M=64H)W)E<W5L="<L"B @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" G M>W5R;CI33T%07TAE;&QO7U-E<G9E<GU!<G)A>51E<W1297-U;'0G+ H@(" @ M(" @(" @(" @(" @(" @(" @(" @(" @(" @)'1H:7,M/F)U:6QD4T]!4"@G M07)R87E497-T4F5S=6QT)RP@)')E=%9A;"DI.PH*+RH*(" @(" @(" @<F5T M=7)N(&YE=R!33T%07U9A;'5E* H@(" @(" @(" @(" G<F5S=6QT)RP*(" @ M(" @(" @(" @)WMU<FXZ4T]!4%](96QL;U]397)V97)]07)R87E497-T4F5S M=6QT)RP*(" @(" @(" @(" @(&YE=R!33T%07U9A;'5E* H@(" @(" @(" @ M(" @(" @)U-T=69F07)R87DG+ H@(" @(" @(" @(" @(" @)WMU<FXZ4T]! M4%](96QL;U]397)V97)]07)R87E/9E-T=69F)RP*(" @(" @(" @(" @(" @ M("1T:&ES+3YB=6EL9%-/05 H)T%R<F%Y3V93='5F9B<L("1S='5F9BDI*3L* M*B\*+R\@(" @(" @("!R971U<FX@)'1H:7,M/F)U:6QD4T]!4"@G07)R87E4 M97-T4F5S=6QT)RP@)')E=%9A;"D["@HO*@H@(" @(" @("!F;W(@*"1I(#T@ M,#L@)&D@/" U.R D:2LK*2!["B @(" @(" @(" @("1X(#T@)&D@*R Q.PH@ M(" @(" @(" @(" D<W1U9F9;)&E=(#T*(" @(" @(" @(" @(" @;F5W(%-/ M05!?5F%L=64H"B @(" @(" @(" @(" @(" @("=I=&5M)RP*(" @(" @(" @ M(" @(" @(" @)WMU<FXZ4T]!4%](96QL;U]397)V97)]4W1U9F8G+ H@(" @ M(" @(" @(" @(" @(" D=&AI<RT^8G5I;&133T%0*")3='5F9B(L(&%R<F%Y M*"=O;F4G(#T^("1I+ H@(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @ M(" @(" @(" @(" @(" @(" @(" @)W1W;R<@/3X@)&D@*R Q+ H@(" @(" @ M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @ M)V]N92UT=V\G(#T^("(D:2 D>"(L"B @(" @(" @(" @(" @(" @(" @(" @ M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" G='=O+6]N92<@/3X@(B1X M("1I(BDI*3L*(" @(" @(" @?0H*(" @(" @(" @<F5T=7)N(&YE=R!33T%0 M7U9A;'5E* H@(" @(" @(" @(" G<F5S=6QT)RP*(" @(" @(" @(" @)WMU M<FXZ4T]!4%](96QL;U]397)V97)]07)R87E497-T4F5S=6QT)RP*(" @(" @ M(" @(" @(&YE=R!33T%07U9A;'5E* H@(" @(" @(" @(" @(" @)U-T=69F M07)R87DG+ H@(" @(" @(" @(" @(" @)WMU<FXZ4T]!4%](96QL;U]397)V M97)]07)R87E/9E-T=69F)RP*(" @(" @(" @(" @(" @("1S='5F9BDI.PHJ M+PH@(" @("!]"@H@(" @("!F=6YC=&EO;B!C;VUP;&5X5&5S="@D;VYE+" D M='=O*2!["B @(" @(" @("1R971686P@/2!A<G)A>2@B;VYE(B ]/B D;VYE M+ H@(" @(" @(" @(" @(" @(" @(" @(" @(G1W;R(@/3X@)'1W;RP*(" @ M(" @(" @(" @(" @(" @(" @(" @(")O;F4M='=O(B ]/B D;VYE("X@(B B M("X@)'1W;RP*(" @(" @(" @(" @(" @(" @(" @(" @(")T=V\M;VYE(B ] M/B D='=O("X@(B B("X@)&]N92D["@H@(" @(" @("!R971U<FX@)'1H:7,M M/F)U:6QD4T]!4"@B4W1U9F8B+" D<F5T5F%L*3L*(" @(" @?0H@("!]"@H@ M(" D<V5R=F5R(#T@;F5W(%-/05!?4V5R=F5R*"D["B @("1H96QL;U-E<G9E M<B ](&YE=R!33T%07TAE;&QO7U-E<G9E<B@I.PH*(" @)'-E<G9E<BT^861D M3V)J96-T34%P*"1H96QL;U-E<G9E<BP@)W5R;CI33T%07TAE;&QO7U-E<G9E M<B<I.PH*(" @:68@*&ES<V5T*"1?4T525D526R=215%515-47TU%5$A/1"== M*2 F)@H@(" @(" @(" @(" H)%]315)615);)U)%455%4U1?34542$]$)UT@ M/3T@)U!/4U0G*2D@>PHO+R @(" @("1S97)V97(M/F)I;F0H(FAT=' Z+R]L M;V-A;&AO<W0B("X@)%]315)615);(E!(4%]314Q&(ET@+B B/W=S9&PB*3L* M(" @(" @)'-E<G9E<BT^<V5R=FEC92@D2%144%]205=?4$]35%]$051!*3L* M(" @?2!E;'-E('L*(" @(" @<F5Q=6ER95]O;F-E*"=33T%0+T1I<V-O+G!H M<"<I.PH@(" @(" D9&ES8V\@/2!N97<@4T]!4%]$:7-C;U]397)V97(H)'-E M<G9E<BP@)U-/05!?2&5L;&]?4V5R=F5R)RD["B @(" @(&AE861E<B@B0V]N M=&5N="UT>7!E.B!T97AT+WAM;"(I.PH@(" @(" @(" @(" @(" @(" @(" @ M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @ M(" @(" @(" @(" @( H@(" @("!I9B H:7-S970H)%]315)615);)U%515)9 M7U-44DE.1R==*2 F)@H@(" @(" @(" @(" @(" H<W1R8V%S96-M<"@D7U-% M4E9%4ELG455%4EE?4U1224Y')UTL("=W<V1L)RD@/3T@,"DI('L*(" @(" @ M(" @96-H;R D9&ES8V\M/F=E=%=31$PH*3L*(" @(" @?2!E;'-E('L*(" @ M(" @(" @96-H;R D9&ES8V\M/F=E=$1)4T-/*"D["B @(" @('T*(" @?0H* .(" @97AI="@I.PH_/@H` ` end

« previous php.soap (#572) next »