96 if (!is_object($ifce))
return false;
98 $wsHandler = $ifce->GetWebServiceDesc();
100 isset(
$GLOBALS[
"wsdescs"][$wsHandler->wsname])
101 or !$wsHandler->wsname
102 or !$wsHandler->wsclassname
103 or !$wsHandler->wstargetns
104 or !$wsHandler->wsendpoint
105 or !is_array($wsHandler->classes)
106 or !is_array($wsHandler->structTypes)
107 or !is_array($wsHandler->classTypes))
110 if (isset(
$GLOBALS[
"wsdescs"][$wsHandler->wsname]))
115 $wsHandler->wsendpoint,
116 $wsHandler->wstargetns);
118 $wsHandler->_wsdlci->setClasses($wsHandler->classes);
119 if (
count($wsHandler->structTypes))
120 foreach ($wsHandler->structTypes as $pname => $vars)
121 $wsHandler->_wsdlci->AddComplexDataType($pname, $vars);
122 if (
count($wsHandler->classTypes))
123 foreach ($wsHandler->classTypes as $pname => $vars)
124 $wsHandler->_wsdlci->AddComplexDataType($pname, $vars);
125 $wsHandler->_wsdlci->createWSDL();
131 foreach ($wsHandler->structTypes as $cTypeN =>
$desc)
134 $tdesc[
"serialize"] =
"assoc";
135 $soapr->RegisterComplexType(
136 array($cTypeN => $tdesc)
140 foreach ($wsHandler->classTypes as $cTypeN =>
$desc)
143 $tdesc[
"serialize"] =
"class";
144 $soapr->RegisterComplexType(
145 array($cTypeN => $tdesc)
149 foreach ($wsHandler->classes as $classws => $methods)
150 foreach ($methods as
$method => $param)
152 if (isset($param[
"httpauth"]))
153 $httprequired = $param[
"httpauth"];
154 if ($httprequired!=
"Y")
157 $input =
array();
if (is_array($param[
"input"]))
158 $input = $param[
"input"];
162 $soapr->RegisterFunction(
167 "myclassname" => $classws,
169 "response" =>
$method.
"Response",
170 "httpauth" => $httprequired
177 $wsHandler->_soapsi->AddServerResponser($soapr);
179 $GLOBALS[
"wsdescs"][$wsHandler->wsname] = &$wsHandler;
180 $GLOBALS[
"wswraps"][$wsHandler->wsname] = &$ifce;