CWsdlGenerator
包 | system.web.services |
---|---|
继承 | class CWsdlGenerator » CComponent |
可用自 | 1.0 |
版本 | $Id$ |
CWsdlGenerator generates the WSDL for a given service class.
The WSDL generation is based on the doc comments found in the service class file. In particular, it recognizes the '@soap' tag in the comment and extracts API method and type definitions.
In a service class, a remote invokable method must be a public method with a doc comment block containing the '@soap' tag. In the doc comment, the type and name of every input parameter and the type of the return value should be declared using the standard phpdoc format.
CWsdlGenerator recognizes the following primitive types (case-sensitive) in the parameter and return type declarations:
If a type is not a primitive type, it is considered as a class type, and CWsdlGenerator will look for its property declarations. Only public properties are considered, and they each must be associated with a doc comment block containg the '@soap' tag. The doc comment block should declare the type of the property.
CWsdlGenerator recognizes the array type with the following format:
The following is an example declaring a remote invokable method:
And the following is an example declaring a class with remote accessible properties:
The WSDL generation is based on the doc comments found in the service class file. In particular, it recognizes the '@soap' tag in the comment and extracts API method and type definitions.
In a service class, a remote invokable method must be a public method with a doc comment block containing the '@soap' tag. In the doc comment, the type and name of every input parameter and the type of the return value should be declared using the standard phpdoc format.
CWsdlGenerator recognizes the following primitive types (case-sensitive) in the parameter and return type declarations:
- str/string: maps to xsd:string;
- int/integer: maps to xsd:int;
- float/double: maps to xsd:float;
- bool/boolean: maps to xsd:boolean;
- date: maps to xsd:date;
- time: maps to xsd:time;
- datetime: maps to xsd:dateTime;
- array: maps to xsd:string;
- object: maps to xsd:struct;
- mixed: maps to xsd:anyType.
If a type is not a primitive type, it is considered as a class type, and CWsdlGenerator will look for its property declarations. Only public properties are considered, and they each must be associated with a doc comment block containg the '@soap' tag. The doc comment block should declare the type of the property.
CWsdlGenerator recognizes the array type with the following format:
typeName[]: maps to tns:typeNameArray
The following is an example declaring a remote invokable method:
/ ** * A foo method. * @param string name of something * @param string value of something * @return string[] some array * @soap * / public function foo($name,$value) {...}
And the following is an example declaring a class with remote accessible properties:
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'.
公共方法
方法 | 描述 | 被定义在 |
---|---|---|
__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 |
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 |
方法详情
generateWsdl()
方法
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 |
Generates the WSDL for the given class.