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