public function inspect($wsdlUrl, $methodName = "") { // $wsdlUrl = "http://ws.cdyne.com/DemographixWS/DemographixQuery.asmx?wsdl"; // $wsdlUrl = "http://ws.cdyne.com/emailverify/Emailvernotestemail.asmx?wsdl"; // $wsdlUrl = "http://ws.cdyne.com/NotifyWS/PhoneNotify.asmx?wsdl"; // $methodName = "NotifyPhoneBasic"; $wsdlXml = new DOMDocument(); $wsdlXml->load($wsdlUrl); /*WebServiceDescriptor*/ $this->serviceDescriptor = new WebServiceDescriptor(); $this->definitions = $wsdlXml->getElementsByTagName("definitions")->item(0)->childNodes; $this->getTypes(); /*DOMDocument*/ $service = XmlUtil::getElementByNodeName($this->definitions, "service"); /*string*/ $serviceName = $service->documentElement->getAttribute("name"); $this->serviceDescriptor->setName($serviceName); $proxyhost = ''; $proxyport = ''; $proxyusername = ''; $proxypassword = ''; $client = new soapclient($wsdlUrl, true, $proxyhost, $proxyport, $proxyusername, $proxypassword); $err = $client->getError(); if ($err) { throw new Exception($err); } $operations = $client->getOperations($methodName); // var_dump($operations); // if(LOGGING) // Log::log(LoggingConstants::MYDEBUG, ob_get_contents()); foreach ($operations as $operation) { /*WebServiceMethod*/ $webServiceMethod = new WebServiceMethod(); $this->parseMessageInput($operation['input']['message'], $webServiceMethod); $webServiceMethod->setReturn($this->parseMessageOutput($operation['output']['message'])); $webServiceMethod->setName($operation["name"], $webServiceMethod); $this->serviceDescriptor->addMethod($webServiceMethod); } }