| Package | system.web.services |
|---|---|
| Inheritance | class CWsdlGenerator » CComponent |
| Since | 1.0 |
| Version | $Id: CWsdlGenerator.php 2799 2011-01-01 19:31:13Z qiang.xue $ |
| Source Code | framework/web/services/CWsdlGenerator.php |
typeName[]: maps to tns:typeNameArray
/ **
* A foo method.
* @param string name of something
* @param string value of something
* @return string[] some array
* @soap
* /
public function foo($name,$value) {...}
class Foo {
/ **
* @var string name of foo
* @soap
* /
public $name;
/ **
* @var Member[] members of foo
* @soap
* /
public $members;
}
In the above, the 'members' property is an array of 'Member' objects. Since 'Member' is not
a primitive type, CWsdlGenerator will look further to find the definition of 'Member'.| Property | Type | Description | Defined By |
|---|---|---|---|
| namespace | string | the namespace to be used in the generated WSDL. | CWsdlGenerator |
| serviceName | string | the name of the generated WSDL. | CWsdlGenerator |
| Method | Description | Defined By |
|---|---|---|
| __call() | Calls the named method which is not a class method. | CComponent |
| __get() | Returns a property value, an event handler list or a behavior based on its name. | CComponent |
| __isset() | Checks if a property value is null. | CComponent |
| __set() | Sets value of a component property. | CComponent |
| __unset() | Sets a component property to be null. | CComponent |
| asa() | Returns the named behavior object. | CComponent |
| attachBehavior() | Attaches a behavior to this component. | CComponent |
| attachBehaviors() | Attaches a list of behaviors to the component. | CComponent |
| attachEventHandler() | Attaches an event handler to an event. | CComponent |
| canGetProperty() | Determines whether a property can be read. | CComponent |
| canSetProperty() | Determines whether a property can be set. | CComponent |
| detachBehavior() | Detaches a behavior from the component. | CComponent |
| detachBehaviors() | Detaches all behaviors from the component. | CComponent |
| detachEventHandler() | Detaches an existing event handler. | CComponent |
| disableBehavior() | Disables an attached behavior. | CComponent |
| disableBehaviors() | Disables all behaviors attached to this component. | CComponent |
| enableBehavior() | Enables an attached behavior. | CComponent |
| enableBehaviors() | Enables all behaviors attached to this component. | CComponent |
| evaluateExpression() | Evaluates a PHP expression or callback under the context of this component. | CComponent |
| generateWsdl() | Generates the WSDL for the given class. | CWsdlGenerator |
| getEventHandlers() | Returns the list of attached event handlers for an event. | CComponent |
| hasEvent() | Determines whether an event is defined. | CComponent |
| hasEventHandler() | Checks whether the named event has attached handlers. | CComponent |
| hasProperty() | Determines whether a property is defined. | CComponent |
| raiseEvent() | Raises an event. | CComponent |
the namespace to be used in the generated WSDL. If not set, it defaults to the name of the class that WSDL is generated upon.
the name of the generated WSDL. If not set, it defaults to "urn:{$className}wsdl".
|
public string generateWsdl(string $className, string $serviceUrl, string $encoding='UTF-8')
| ||
| $className | string | class name |
| $serviceUrl | string | Web service URL |
| $encoding | string | encoding of the WSDL. Defaults to 'UTF-8'. |
| {return} | string | the generated WSDL |
public function generateWsdl($className, $serviceUrl, $encoding='UTF-8')
{
$this->_operations=array();
$this->_types=array();
$this->_messages=array();
if($this->serviceName===null)
$this->serviceName=$className;
if($this->namespace===null)
$this->namespace="urn:{$className}wsdl";
$reflection=new ReflectionClass($className);
foreach($reflection->getMethods() as $method)
{
if($method->isPublic())
$this->processMethod($method);
}
return $this->buildDOM($serviceUrl,$encoding)->saveXML();
}
Generates the WSDL for the given class.
Be the first person to leave a comment
Please login to leave your comment.