public function generate($wsdlUrl) { /*WebServiceInspector*/ $webServiceInspector = new WebServiceInspector(); /*WebServiceDescriptor*/ $service = $webServiceInspector->inspect($wsdlUrl); $this->write("\n<?php\nclass {$service->getName()} \n{"); $methods = $service->getMethods(); foreach ($methods as $method) { } $this->write("\t\n}\t\t\n?>\t\t"); }
public function invoke($targetObject, $function, $arguments) { $proxyhost = ''; $proxyport = ''; $proxyusername = ''; $proxypassword = ''; $client = new soapclient($targetObject, true, $proxyhost, $proxyport, $proxyusername, $proxypassword); $err = $client->getError(); if ($err) { throw new Exception($err); } $args = array(); foreach ($arguments as $argument) { if ($argument instanceof IAdaptingType) { $args[] = $argument->defaultAdapt(); } else { $args[] = $argument; } } $serviceDesription; // if(isset($_SESSION['wsdl'][$targetObject][$function])) // { // $serviceDesription = unserialize($_SESSION['wsdl'][$targetObject][$function]); // var_dump($serviceDesription); // } // else // { $webInsp = new WebServiceInspector(); $webInsp->inspect($targetObject, $function); $serviceDesription = $webInsp->serviceDescriptor; $_SESSION['wsdl'][$targetObject][$function] = serialize($serviceDesription); // } $methods = $serviceDesription->getMethods(); $method = null; foreach ($methods as $method) { if ($method->getName() == $function) { break; } } $postdata = array(array()); foreach ($method->getArguments() as $argument) { $this->getArrayArguments($postdata[0], $argument->getType(), $args); } $result = $client->call($function, $postdata); return new Value($result); }