source: trunk/phpgwapi/inc/xmlrpc.interop.php @ 2

Revision 2, 20.9 KB checked in by niltonneto, 17 years ago (diff)

Removida todas as tags usadas pelo CVS ($Id, $Source).
Primeira versão no CVS externo.

  • Property svn:eol-style set to native
  • Property svn:executable set to *
Line 
1<?php
2  /**************************************************************************\
3  * eGroupWare xmlrpc server                                                 *
4  * http://www.egroupware.org                                                *
5  * Written by Dan Kuykendall <dan@kuykendall.org>                           *
6  * --------------------------------------------                             *
7  *  This program is free software; you can redistribute it and/or modify it *
8  *  under the terms of the GNU General Public License as published by the   *
9  *  Free Software Foundation; either version 2 of the License, or (at your  *
10  *  option) any later version.                                              *
11  \**************************************************************************/
12
13
14        // a PHP version
15        // of the state-number server
16        // send me an integer and i'll sell you a state
17
18        $stateNames = array(
19                'Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California',
20                'Colorado', 'Columbia', 'Connecticut', 'Delaware', 'Florida',
21                'Georgia', 'Hawaii', 'Idaho', 'Illinois', 'Indiana', 'Iowa', 'Kansas',
22                'Kentucky', 'Louisiana', 'Maine', 'Maryland', 'Massachusetts', 'Michigan',
23                'Minnesota', 'Mississippi', 'Missouri', 'Montana', 'Nebraska', 'Nevada',
24                'New Hampshire', 'New Jersey', 'New Mexico', 'New York', 'North Carolina',
25                'North Dakota', 'Ohio', 'Oklahoma', 'Oregon', 'Pennsylvania', 'Rhode Island',
26                'South Carolina', 'South Dakota', 'Tennessee', 'Texas', 'Utah', 'Vermont',
27                'Virginia', 'Washington', 'West Virginia', 'Wisconsin', 'Wyoming'
28        );
29
30        $findstate_sig = array(array(xmlrpcString, xmlrpcInt));
31
32        $findstate_doc = 'When passed an integer between 1 and 51 returns the
33name of a US state, where the integer is the index of that state name
34in an alphabetic order.';
35
36        function findstate($m)
37        {
38                $err='';
39                // get the first param
40                $sno=$m->getParam(0);
41                // if it's there and the correct type
42
43                if (isset($sno) && ($sno->scalartyp()=='int'))
44                {
45                        // extract the value of the state number
46                        $snv=$sno->scalarval();
47                        // look it up in our array (zero-based)
48                        if (isset($GLOBALS['stateNames'][$snv-1]))
49                        {
50                                $sname=$GLOBALS['stateNames'][$snv-1];
51                        }
52                        else
53                        {
54                                // not, there so complain
55                                $err="I don't have a state for the index '" . $snv . "'";
56                        }
57                }
58                else
59                {
60                        // parameter mismatch, complain
61                        $err='One integer parameter required';
62                }
63
64                // if we generated an error, create an error return response
65                if ($err)
66                {
67                        return CreateObject('phpgwapi.xmlrpcresp',CreateObject('phpgwapi.xmlrpcval'), $GLOBALS['xmlrpcerruser'], $err);
68                }
69                else
70                {
71                        // otherwise, we create the right response
72                        // with the state name
73                        return CreateObject('phpgwapi.xmlrpcresp',CreateObject('phpgwapi.xmlrpcval',$sname));
74                }
75        }
76
77        $addtwo_sig=array(array(xmlrpcInt, xmlrpcInt, xmlrpcInt));
78        $addtwo_doc='Add two integers together and return the result';
79
80        function addtwo($m)
81        {
82                $s=$m->getParam(0);
83                $t=$m->getParam(1);
84                return CreateObject('phpgwapi.xmlrpcresp',CreateObject('phpgwapi.xmlrpcval',$s->scalarval()+$t->scalarval(),'int'));
85        }
86
87        $addtwodouble_sig=array(array(xmlrpcDouble, xmlrpcDouble, xmlrpcDouble));
88        $addtwodouble_doc='Add two doubles together and return the result';
89
90        function addtwodouble($m)
91        {
92                $s=$m->getParam(0);
93                $t=$m->getParam(1);
94                return CreateObject('phpgwapi.xmlrpcresp',CreateObject('phpgwapi.xmlrpcval',$s->scalarval()+$t->scalarval(),'double'));
95        }
96
97        $stringecho_sig=array(array(xmlrpcString, xmlrpcString));
98        $stringecho_doc='Accepts a string parameter, returns the string.';
99
100        function stringecho($m)
101        {
102                // just sends back a string
103                $s=$m->getParam(0);
104                return CreateObject('phpgwapi.xmlrpcresp',CreateObject('phpgwapi.xmlrpcval',$s->scalarval()));
105        }
106
107        $echoback_sig=array(array(xmlrpcString, xmlrpcString));
108        $echoback_doc='Accepts a string parameter, returns the entire incoming payload';
109
110        function echoback($m)
111        {
112                // just sends back a string with what i got
113                // send to me, just escaped, that's all
114                //
115                // $m is an incoming message
116                $s="I got the following message:\n" . $m->serialize();
117                return CreateObject('phpgwapi.xmlrpcresp',CreateObject('phpgwapi.xmlrpcval',$s));
118        }
119
120        $echosixtyfour_sig=array(array(xmlrpcString, xmlrpcBase64));
121        $echosixtyfour_doc='Accepts a base64 parameter and returns it decoded as a string';
122
123        function echosixtyfour($m)
124        {
125                // accepts an encoded value, but sends it back
126                // as a normal string. this is to test base64 encoding
127                // is working as expected
128                $incoming=$m->getParam(0);
129                return CreateObject('phpgwapi.xmlrpcresp',CreateObject('phpgwapi.xmlrpcval',$incoming->scalarval(), 'string'));
130        }
131
132        $bitflipper_sig=array(array(xmlrpcArray, xmlrpcArray));
133        $bitflipper_doc='Accepts an array of booleans, and returns them inverted';
134
135        function bitflipper($m)
136        {
137                $v  = $m->getParam(0);
138                $sz = $v->arraysize();
139                $rv = CreateObject('phpgwapi.xmlrpcval',array(), xmlrpcArray);
140
141                for($j=0; $j<$sz; $j++)
142                {
143                        $b = $v->arraymem($j);
144                        if ($b->scalarval())
145                        {       
146                                $rv->addScalar(False, 'boolean');
147                        }
148                        else
149                        {       
150                                $rv->addScalar(True, 'boolean');
151                        }
152                }
153                return CreateObject('phpgwapi.xmlrpcresp',$rv);
154        }
155
156        // Sorting demo
157        //
158        // send me an array of structs thus:
159        //
160        // Dave 35
161        // Edd  45
162        // Fred 23
163        // Barney 37
164        //
165        // and I'll return it to you in sorted order
166
167        function agesorter_compare($a, $b)
168        {
169                // don't even ask me _why_ these come padded with
170                // hyphens, I couldn't tell you :p
171                $a = str_replace('-', '', $a);
172                $b = str_replace('-', '', $b);
173
174                if ($GLOBALS['agesorter_arr'][$a]==$agesorter[$b])
175                {
176                        return 0;
177                }
178                return ($GLOBALS['agesorter_arr'][$a] > $GLOBALS['agesorter_arr'][$b]) ? -1 : 1;
179        }
180
181        $agesorter_sig=array(array(xmlrpcArray, xmlrpcArray));
182        $agesorter_doc='Send this method an array of [string, int] structs, eg:
183<PRE>
184 Dave   35
185 Edd    45
186 Fred   23
187 Barney 37
188</PRE>
189And the array will be returned with the entries sorted by their numbers.
190';
191
192        function agesorter($m)
193        {
194                global $s;
195
196                xmlrpc_debugmsg("Entering 'agesorter'");
197                // get the parameter
198                $sno = $m->getParam(0);
199                // error string for [if|when] things go wrong
200                $err = '';
201                // create the output value
202                $v = CreateObject('phpgwapi.xmlrpcval');
203                $agar = array();
204
205                if (isset($sno) && $sno->kindOf()=='array')
206                {
207                        $max = $sno->arraysize();
208                        // TODO: create debug method to print can work once more
209                        // print "<!-- found $max array elements -->\n";
210                        for($i=0; $i<$max; $i++)
211                        {
212                                $rec = $sno->arraymem($i);
213                                if ($rec->kindOf()!='struct')
214                                {
215                                        $err = 'Found non-struct in array at element ' . $i;
216                                        break;
217                                }
218                                // extract name and age from struct
219                                $n = $rec->structmem('name');
220                                $a = $rec->structmem('age');
221                                // $n and $a are xmlrpcvals,
222                                // so get the scalarval from them
223                                $agar[$n->scalarval()] = $a->scalarval();
224                        }
225
226                        $GLOBALS['agesorter_arr'] = $agar;
227                        // hack, must make global as uksort() won't
228                        // allow us to pass any other auxilliary information
229                        uksort($GLOBALS['agesorter_arr'], agesorter_compare);
230                        $outAr = array();
231                        while (list($key,$val) = each($GLOBALS['agesorter_arr']))
232                        {
233                                // recreate each struct element
234                                $outAr[] = CreateObject('phpgwapi.xmlrpcval',array(
235                                        'name' => CreateObject('phpgwapi.xmlrpcval',$key),
236                                        'age'  => CreateObject('phpgwapi.xmlrpcval',$val, 'int')
237                                        ),
238                                        'struct'
239                                );
240                        }
241                        // add this array to the output value
242                        $v->addArray($outAr);
243                }
244                else
245                {
246                        $err = 'Must be one parameter, an array of structs';
247                }
248
249                if ($err)
250                {
251                        return CreateObject('phpgwapi.xmlrpcresp',CreateObject('phpgwapi.xmlrpcval'), $GLOBALS['xmlrpcerruser'], $err);
252                }
253                else
254                {
255                        return CreateObject('phpgwapi.xmlrpcresp',$v);
256                }
257        }
258
259        // signature and instructions, place these in the dispatch map
260
261        $mail_send_sig = array(
262                array(
263                        xmlrpcBoolean, xmlrpcString, xmlrpcString,
264                        xmlrpcString, xmlrpcString, xmlrpcString,
265                        xmlrpcString, xmlrpcString
266                )
267        );
268
269        $mail_send_doc = 'mail.send(recipient, subject, text, sender, cc, bcc, mimetype)
270<BR>recipient, cc, and bcc are strings, comma-separated lists of email addresses, as described above.
271<BR>subject is a string, the subject of the message.
272<BR>sender is a string, it\'s the email address of the person sending the message. This string can not be
273a comma-separated list, it must contain a single email address only.
274text is a string, it contains the body of the message.
275<BR>mimetype, a string, is a standard MIME type, for example, text/plain.
276';
277
278        // WARNING; this functionality depends on the sendmail -t option
279        // it may not work with Windows machines properly; particularly
280        // the Bcc option.  Sneak on your friends at your own risk!
281        function mail_send($m)
282        {
283                $err = '';
284
285                $mTo   = $m->getParam(0);
286                $mSub  = $m->getParam(1);
287                $mBody = $m->getParam(2);
288                $mFrom = $m->getParam(3);
289                $mCc   = $m->getParam(4);
290                $mBcc  = $m->getParam(5);
291                $mMime = $m->getParam(6);
292       
293                if ($mTo->scalarval() == '')
294                {
295                        $err = "Error, no 'To' field specified";
296                }
297                if ($mFrom->scalarval() == '')
298                {
299                        $err = "Error, no 'From' field specified";
300                }
301                $msghdr  = 'From: ' . $mFrom->scalarval() . "\n";
302                $msghdr .= 'To: '. $mTo->scalarval() . "\n";
303
304                if ($mCc->scalarval()!='')
305                {
306                        $msghdr .= 'Cc: ' . $mCc->scalarval(). "\n";
307                }
308                if ($mBcc->scalarval()!='')
309                {
310                        $msghdr .= 'Bcc: ' . $mBcc->scalarval(). "\n";
311                }
312                if ($mMime->scalarval()!='')
313                {
314                        $msghdr .= 'Content-type: ' . $mMime->scalarval() . "\n";
315                }
316
317                $msghdr .= 'X-Mailer: XML-RPC for PHP mailer 1.0';
318
319                if ($err == '')
320                {
321                        if (!mail('', $mSub->scalarval(), $mBody->scalarval(), $msghdr))
322                        {
323                                $err = 'Error, could not send the mail.';
324                        }
325                }
326
327                if ($err)
328                {
329                        return CreateObject('phpgwapi.xmlrpcresp',CreateObject('phpgwapi.xmlrpcval'), $GLOBALS['xmlrpcerruser'], $err);
330                }
331                else
332                {
333                        return CreateObject('phpgwapi.xmlrpcresp',CreateObject('phpgwapi.xmlrpcval','true', xmlrpcBoolean));
334                }
335        }
336
337        $v1_arrayOfStructs_sig = array(array(xmlrpcInt, xmlrpcArray));
338        $v1_arrayOfStructs_doc = 'This handler takes a single parameter, an array of structs, each of which contains at least three elements named moe, larry and curly, all <i4>s. Your handler must add all the struct elements named curly and return the result.';
339
340        function v1_arrayOfStructs($m)
341        {
342                $sno = $m->getParam(0);
343                $numcurly = 0;
344                for($i=0; $i<$sno->arraysize(); $i++)
345                {
346                        $str = $sno->arraymem($i);
347                        $str->structreset();
348                        while(list($key,$val) = $str->structeach())
349                        {
350                                if ($key == 'curly')
351                                {
352                                        $numcurly += $val->scalarval();
353                                }
354                        }
355                }
356                return CreateObject('phpgwapi.xmlrpcresp',CreateObject('phpgwapi.xmlrpcval',$numcurly, 'int'));
357        }
358
359        $v1_easyStruct_sig = array(array(xmlrpcInt, xmlrpcStruct));
360        $v1_easyStruct_doc = 'This handler takes a single parameter, a struct, containing at least three elements named moe, larry and curly, all &lt;i4&gt;s. Your handler must add the three numbers and return the result.';
361
362        function v1_easyStruct($m)
363        {
364                $sno   = $m->getParam(0);
365                $moe   = $sno->structmem('moe');
366                $larry = $sno->structmem('larry');
367                $curly = $sno->structmem('curly');
368                $num   = $moe->scalarval() + $larry->scalarval() + $curly->scalarval();
369                return CreateObject('phpgwapi.xmlrpcresp',CreateObject('phpgwapi.xmlrpcval',$num, 'int'));
370        }
371
372        $v1_echoStruct_sig=array(array(xmlrpcStruct, xmlrpcStruct));
373        $v1_echoStruct_doc='This handler takes a single parameter, a struct. Your handler must return the struct.';
374
375        function v1_echoStruct($m)
376        {
377                $sno=$m->getParam(0);
378                return CreateObject('phpgwapi.xmlrpcresp',$sno);
379        }
380
381        $v1_manyTypes_sig = array(
382                array(
383                        xmlrpcArray, xmlrpcInt, xmlrpcBoolean,
384                        xmlrpcString, xmlrpcDouble, xmlrpcDateTime,
385                        xmlrpcBase64
386                )
387        );
388        $v1_manyTypes_doc = 'This handler takes six parameters, and returns an array containing all the parameters.';
389
390        function v1_manyTypes($m)
391        {
392                return CreateObject('phpgwapi.xmlrpcresp',
393                        CreateObject('phpgwapi.xmlrpcval',array(
394                                $m->getParam(0),
395                                $m->getParam(1),
396                                $m->getParam(2),
397                                $m->getParam(3),
398                                $m->getParam(4),
399                                $m->getParam(5)
400                        ),
401                        'array'
402                ));
403        }
404
405        $v1_moderateSizeArrayCheck_sig = array(array(xmlrpcString, xmlrpcArray));
406        $v1_moderateSizeArrayCheck_doc = 'This handler takes a single parameter, which is an array containing between 100 and 200 elements. Each of the items is a string, your handler must return a string containing the concatenated text of the first and last elements.';
407
408        function v1_moderateSizeArrayCheck($m)
409        {
410                $ar    = $m->getParam(0);
411                $sz    = $ar->arraysize();
412                $first = $ar->arraymem(0);
413                $last  = $ar->arraymem($sz-1);
414                return CreateObject('phpgwapi.xmlrpcresp',CreateObject('phpgwapi.xmlrpcval',$first->scalarval() . $last->scalarval(), "string"));
415        }
416
417        $v1_simpleStructReturn_sig = array(array(xmlrpcStruct, xmlrpcInt));
418        $v1_simpleStructReturn_doc = 'This handler takes one parameter, and returns a struct containing three elements, times10, times100 and times1000, the result of multiplying the number by 10, 100 and 1000.';
419
420        function v1_simpleStructReturn($m)
421        {
422                $sno=$m->getParam(0);
423                $v=$sno->scalarval();
424                return CreateObject('phpgwapi.xmlrpcresp',
425                        CreateObject('phpgwapi.xmlrpcval',array(
426                                'times10'   => CreateObject('phpgwapi.xmlrpcval',$v*10, 'int'),
427                                'times100'  => CreateObject('phpgwapi.xmlrpcval',$v*100, 'int'),
428                                'times1000' => CreateObject('phpgwapi.xmlrpcval',$v*1000, 'int')
429                        ),
430                        'struct'
431                ));
432        }
433
434        $v1_nestedStruct_sig = array(array(xmlrpcInt, xmlrpcStruct));
435        $v1_nestedStruct_doc = 'This handler takes a single parameter, a struct, that models a daily calendar. At the top level, there is one struct for each year. Each year is broken down into months, and months into days. Most of the days are empty in the struct you receive, but the entry for April 1, 2000 contains a least three elements named moe, larry and curly, all &lt;i4&gt;s. Your handler must add the three numbers and return the result.';
436
437        function v1_nestedStruct($m)
438        {
439                $sno=$m->getParam(0);
440                $twoK=$sno->structmem('2000');
441                $april=$twoK->structmem('04');
442                $fools=$april->structmem('01');
443                $curly=$fools->structmem('curly');
444                $larry=$fools->structmem('larry');
445                $moe=$fools->structmem('moe');
446                return CreateObject('phpgwapi.xmlrpcresp',CreateObject('phpgwapi.xmlrpcval',
447                        $curly->scalarval() + $larry->scalarval() + $moe->scalarval(), 'int'
448                ));
449        }
450
451        $v1_countTheEntities_sig=array(array(xmlrpcStruct, xmlrpcString));
452        $v1_countTheEntities_doc='This handler takes a single parameter, a string, that contains any number of predefined entities, namely &lt;, &gt;, &amp; \' and ".<BR>Your handler must return a struct that contains five fields, all numbers:  ctLeftAngleBrackets, ctRightAngleBrackets, ctAmpersands, ctApostrophes, ctQuotes.';
453
454        function v1_countTheEntities($m)
455        {
456                $sno=$m->getParam(0);
457                $str=$sno->scalarval();
458                $gt=0; $lt=0; $ap=0; $qu=0; $amp=0;
459                for($i=0; $i<strlen($str); $i++)
460                {
461                        $c=substr($str, $i, 1);
462                        switch($c)
463                        {
464                                case '>':
465                                        $gt++;
466                                        break;
467                                case '<':
468                                        $lt++;
469                                        break;
470                                case '"':
471                                        $qu++;
472                                        break;
473                                case "'":
474                                        $ap++;
475                                        break;
476                                case '&':
477                                        $amp++;
478                                        break;
479                                default:
480                                        break;
481                        }
482                }
483                return CreateObject('phpgwapi.xmlrpcresp',
484                        CreateObject('phpgwapi.xmlrpcval',array(
485                                'ctLeftAngleBrackets'  => CreateObject('phpgwapi.xmlrpcval',$lt, 'int'),
486                                'ctRightAngleBrackets' => CreateObject('phpgwapi.xmlrpcval',$gt, 'int'),
487                                'ctAmpersands'         => CreateObject('phpgwapi.xmlrpcval',$amp, 'int'),
488                                'ctApostrophes'        => CreateObject('phpgwapi.xmlrpcval',$ap, 'int'),
489                                'ctQuotes'             => CreateObject('phpgwapi.xmlrpcval',$qu, 'int')
490                        ),
491                     'struct'
492                ));
493        }
494
495        // trivial interop tests
496        // http://www.xmlrpc.com/stories/storyReader$1636
497
498        $i_echoString_sig=array(array(xmlrpcString, xmlrpcString));
499        $i_echoString_doc='Echoes string.';
500
501        $i_echoStringArray_sig=array(array(xmlrpcArray, xmlrpcArray));
502        $i_echoStringArray_doc='Echoes string array.';
503
504        $i_echoInteger_sig=array(array(xmlrpcInt, xmlrpcInt));
505        $i_echoInteger_doc='Echoes integer.';
506
507        $i_echoIntegerArray_sig=array(array(xmlrpcArray, xmlrpcArray));
508        $i_echoIntegerArray_doc='Echoes integer array.';
509
510        $i_echoFloat_sig=array(array(xmlrpcDouble, xmlrpcDouble));
511        $i_echoFloat_doc='Echoes float.';
512
513        $i_echoFloatArray_sig=array(array(xmlrpcArray, xmlrpcArray));
514        $i_echoFloatArray_doc='Echoes float array.';
515
516        $i_echoStruct_sig=array(array(xmlrpcStruct, xmlrpcStruct));
517        $i_echoStruct_doc='Echoes struct.';
518
519        $i_echoStructArray_sig=array(array(xmlrpcArray, xmlrpcArray));
520        $i_echoStructArray_doc='Echoes struct array.';
521
522        $i_echoValue_doc='Echoes any value back.';
523
524        $i_echoBase64_sig=array(array(xmlrpcBase64, xmlrpcBase64));
525        $i_echoBase64_doc='Echoes base64.';
526
527        $i_echoDate_sig=array(array(xmlrpcDateTime, xmlrpcDateTime));
528        $i_echoDate_doc='Echoes dateTime.';
529
530        function i_echoParam($m)
531        {
532                $s = $m->getParam(0);
533                return CreateObject('phpgwapi.xmlrpcresp',$s);
534        }
535
536        function i_echoString($m)
537        {
538                return i_echoParam($m);
539        }
540        function i_echoInteger($m)
541        {
542                return i_echoParam($m);
543        }
544        function i_echoFloat($m)
545        {
546                return i_echoParam($m);
547        }
548        function i_echoStruct($m)
549        {
550                return i_echoParam($m);
551        }
552        function i_echoStringArray($m)
553        {
554                return i_echoParam($m);
555        }
556        function i_echoIntegerArray($m)
557        {
558                return i_echoParam($m);
559        }
560        function i_echoFloatArray($m)
561        {
562                return i_echoParam($m);
563        }
564        function i_echoStructArray($m)
565        {
566                return i_echoParam($m);
567        }
568        function i_echoValue($m)
569        {
570                return i_echoParam($m);
571        }
572        function i_echoBase64($m)
573        {
574                return i_echoParam($m);
575        }
576        function i_echoDate($m)
577        {
578                return i_echoParam($m);
579        }
580
581        $i_whichToolkit_doc = 'Returns a struct containing the following strings:  toolkitDocsUrl, toolkitName, toolkitVersion, toolkitOperatingSystem.';
582
583        function i_whichToolkit($m)
584        {
585                $ret = array(
586                        'toolkitDocsUrl' => 'http://xmlrpc.usefulinc.com/php.html',
587                        'toolkitName'    => $GLOBALS['xmlrpcName'],
588                        'toolkitVersion' => $GLOBALS['xmlrpcVersion'],
589                        'toolkitOperatingSystem' => $GLOBALS['SERVER_SOFTWARE']
590                );
591                return CreateObject('phpgwapi.xmlrpcresp',phpgw_xmlrpc_encode($ret));
592        }
593
594        $server->add_to_map('examples.getStateName',            'findstate',$findstate_sig,$findstate_doc);
595        $server->add_to_map('examples.sortByAge',               'agesorter',$agesorter_sig,$agesorter_doc);
596        $server->add_to_map('examples.addtwo',                  'addtwo',$addtwo_sig,$addtwo_doc);
597        $server->add_to_map('examples.addtwodouble',            'addtwodouble',$addtwodouble_sig,$addtwodouble_doc);
598        $server->add_to_map('examples.stringecho',              'stringecho',$stringecho_sig,$stringecho_doc);
599        $server->add_to_map('examples.echo',                    'echoback',$echoback_sig,$echoback_doc);
600        $server->add_to_map('examples.decode64',                'echosixtyfour',$echosixtyfour_sig,$echosixtyfour_doc);
601        $server->add_to_map('examples.invertBooleans',          'bitflipper',$bitflipper_sig,$bitflipper_doc);
602        $server->add_to_map('mail.send',                        'mail_send',$mail_send_sig,$mail_send_doc);
603        $server->add_to_map('validator1.arrayOfStructsTest',    'v1_arrayOfStructs',$v1_arrayOfStructs_sig,$v1_arrayOfStructs_doc);
604        $server->add_to_map('validator1.easyStructTest',        'v1_easyStruct',$v1_easyStruct_sig,$v1_easyStruct_doc);
605        $server->add_to_map('validator1.echoStructTest',        'v1_echoStruct',$v1_echoStruct_sig,$v1_echoStruct_doc);
606        $server->add_to_map('validator1.manyTypesTest',         'v1_manyTypes',$v1_manyTypes_sig,$v1_manyTypes_doc);
607        $server->add_to_map('validator1.moderateSizeArrayCheck','v1_moderateSizeArrayCheck',$v1_moderateSizeArrayCheck_sig,$v1_moderateSizeArrayCheck_doc);
608        $server->add_to_map('validator1.simpleStructReturnTest','v1_simpleStructReturn',$v1_simpleStructReturn_sig,$v1_simpleStructReturn_doc);
609        $server->add_to_map('validator1.nestedStructTest',      'v1_nestedStruct',$v1_nestedStruct_sig,$v1_nestedStruct_doc);
610        $server->add_to_map('validator1.countTheEntities',      'v1_countTheEntities',$v1_countTheEntities_sig,$v1_countTheEntities_doc);
611        $server->add_to_map('interopEchoTests.echoString',      'i_echoString',$i_echoString_sig,$i_echoString_doc);
612        $server->add_to_map('interopEchoTests.echoStringArray', 'i_echoStringArray',$i_echoStringArray_sig,$i_echoStringArray_doc);
613        $server->add_to_map('interopEchoTests.echoInteger',     'i_echoInteger',$i_echoInteger_sig,$i_echoInteger_doc);
614        $server->add_to_map('interopEchoTests.echoIntegerArray','i_echoIntegerArray',$i_echoIntegerArray_sig,$i_echoIntegerArray_doc);
615        $server->add_to_map('interopEchoTests.echoFloat',       'i_echoFloat',$i_echoFloat_sig,$i_echoFloat_doc);
616        $server->add_to_map('interopEchoTests.echoFloatArray',  'i_echoFloatArray',$i_echoFloatArray_sig,$i_echoFloatArray_doc);
617        $server->add_to_map('interopEchoTests.echoStruct',      'i_echoStruct',$i_echoStruct_sig,$i_echoStruct_doc);
618        $server->add_to_map('interopEchoTests.echoStructArray', 'i_echoStructArray',$i_echoStructArray_sig,$i_echoStructArray_doc);
619        $server->add_to_map('interopEchoTests.echoValue',       'i_echoValue','',$i_echoValue_doc);
620        $server->add_to_map('interopEchoTests.echoBase64',      'i_echoBase64',$i_echoBase64_sig,$i_echoBase64_doc);
621        $server->add_to_map('interopEchoTests.echoDate',        'i_echoDate',$i_echoDate_sig,$i_echoDate_doc);
622        $server->add_to_map('interopEchoTests.whichToolkit',    'i_whichToolkit','',$i_whichToolkit_doc);
623
624        // that should do all we need!
625?>
Note: See TracBrowser for help on using the repository browser.