Soap/Wsdl.php
Zend Framework
LICENSE
This source file is subject to the new BSD license that is bundled with this package in the file LICENSE.txt. It is also available through the world-wide-web at this URL: http://framework.zend.com/license/new-bsd If you did not receive a copy of the license and are unable to obtain it through the world-wide-web, please send an email to [email protected] so we can send you a copy immediately.
- Category
- Zend
- Copyright
- Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
- Package
- Zend_Soap
- Version
- $Id: Wsdl.php 25033 2012-08-17 19:50:08Z matthew $
\Zend_Soap_Wsdl
Zend_Soap_Wsdl
- Category
- Zend
Properties
Methods


__construct(string $name, string $uri, boolean | string | \Zend_Soap_Wsdl_Strategy_Interface $strategy = true) : void
Constructor
Name | Type | Description |
---|---|---|
$name | string | Name of the Web Service being Described |
$uri | string | URI where the WSDL will be available |
$strategy | boolean | string | \Zend_Soap_Wsdl_Strategy_Interface |


_parseElement(array $element) : \DOMElement
Parse an xsd:element represented as an array into a DOMElement.
Name | Type | Description |
---|---|---|
$element | array | an xsd:element represented as an array |
Type | Description |
---|---|
\DOMElement | parsed element |


addBinding(string $name, $portType) : object
Add a {@link http://www.w3.org/TR/wsdl#_bindings binding} element to WSDL
Name | Type | Description |
---|---|---|
$name | string | Name of the Binding |
$portType |
Type | Description |
---|---|
object | The new binding's XML_Tree_Node for use with {@link function addBindingOperation} and {@link function addDocumentation} |


addBindingOperation(object $binding, $name, array $input = false, array $output = false, array $fault = false) : object
Add an operation to a binding element
Name | Type | Description |
---|---|---|
$binding | object | A binding XML_Tree_Node returned by {@link function addBinding} |
$name | ||
$input | array | An array of attributes for the input element, allowed keys are: 'use', 'namespace', 'encodingStyle'. {@link http://www.w3.org/TR/wsdl#_soap:body More Information} |
$output | array | An array of attributes for the output element, allowed keys are: 'use', 'namespace', 'encodingStyle'. {@link http://www.w3.org/TR/wsdl#_soap:body More Information} |
$fault | array | An array of attributes for the fault element, allowed keys are: 'name', 'use', 'namespace', 'encodingStyle'. {@link http://www.w3.org/TR/wsdl#_soap:body More Information} |
Type | Description |
---|---|
object | The new Operation's XML_Tree_Node for use with {@link function addSoapOperation} and {@link function addDocumentation} |


addComplexType(string $type) : string
Add a {@link http://www.w3.org/TR/wsdl#_types types} data type definition
Name | Type | Description |
---|---|---|
$type | string | Name of the class to be specified |
Type | Description |
---|---|
string | XSD Type for the given PHP type |


addDocumentation(object $input_node, string $documentation) : \DOMElement
Add a documentation element to any element in the WSDL.
Note that the WSDL specification uses 'document', but the WSDL schema uses 'documentation' instead. The WS-I Basic Profile 1.1 recommends using 'documentation'.
Name | Type | Description |
---|---|---|
$input_node | object | An XML_Tree_Node returned by another method to add the documentation to |
$documentation | string | Human readable documentation for the node |
Type | Description |
---|---|
\DOMElement | The documentation element |


addElement(array $element) : string
Add an xsd:element represented as an array to the schema.
Array keys represent attribute names and values their respective value. The 'sequence', 'all' and 'choice' keys must have an array of elements as their value, to add them to a nested complexType.
Example: array( 'name' => 'MyElement',
'sequence' => array( array('name' => 'myString', 'type' => 'string'),
array('name' => 'myInteger', 'type' => 'int') ) );
Resulting XML:
Name | Type | Description |
---|---|---|
$element | array | an xsd:element represented as an array |
Type | Description |
---|---|
string | xsd:element for the given element array |


addMessage(string $name, array $parts) : object
Add a {@link http://www.w3.org/TR/wsdl#_messages message} element to the WSDL
Name | Type | Description |
---|---|---|
$name | string | Name for the {@link http://www.w3.org/TR/wsdl#_messages message} |
$parts | array | An array of {@link http://www.w3.org/TR/wsdl#_message parts} The array is constructed like: 'name of part' => 'part xml schema data type' or 'name of part' => array('type' => 'part xml schema type') or 'name of part' => array('element' => 'part xml element name') |
Type | Description |
---|---|
object | The new message's XML_Tree_Node for use in {@link function addDocumentation} |


addPortOperation(object $portType, string $name, string $input = false, string $output = false, string $fault = false) : object
Add an {@link http://www.w3.org/TR/wsdl#_request-response operation} element to a portType element
Name | Type | Description |
---|---|---|
$portType | object | a portType XML_Tree_Node, from {@link function addPortType} |
$name | string | Operation name |
$input | string | Input Message |
$output | string | Output Message |
$fault | string | Fault Message |
Type | Description |
---|---|
object | The new operation's XML_Tree_Node for use in {@link function addDocumentation} |


addPortType(string $name) : object
Add a {@link http://www.w3.org/TR/wsdl#_porttypes portType} element to the WSDL
Name | Type | Description |
---|---|---|
$name | string | portType element's name |
Type | Description |
---|---|
object | The new portType's XML_Tree_Node for use in {@link function addPortOperation} and {@link function addDocumentation} |


addSchemaTypeSection() : \Zend_Soap_Wsdl
This function makes sure a complex types section and schema additions are set.
Type | Description |
---|---|
\Zend_Soap_Wsdl |


addService(string $name, string $port_name, string $binding, string $location) : object
Add a {@link http://www.w3.org/TR/wsdl#_services service} element to the WSDL
Name | Type | Description |
---|---|---|
$name | string | Service Name |
$port_name | string | Name of the port for the service |
$binding | string | Binding for the port |
$location | string | SOAP Address for the service |
Type | Description |
---|---|
object | The new service's XML_Tree_Node for use with {@link function addDocumentation} |


addSoapBinding(object $binding, string $style = 'document', string $transport = 'http://schemas.xmlsoap.org/soap/http') : boolean
Add a {@link http://www.w3.org/TR/wsdl#_soap:binding SOAP binding} element to a Binding element
Name | Type | Description |
---|---|---|
$binding | object | A binding XML_Tree_Node returned by {@link function addBinding} |
$style | string | binding style, possible values are "rpc" (the default) and "document" |
$transport | string | Transport method (defaults to HTTP) |
Type | Description |
---|---|
boolean |


addSoapOperation( $binding, string $soap_action) : boolean
Add a {@link http://www.w3.org/TR/wsdl#_soap:operation SOAP operation} to an operation element
Name | Type | Description |
---|---|---|
$binding | ||
$soap_action | string | SOAP Action |
Type | Description |
---|---|
boolean |


addType(string $type) : \Zend_Soap_Wsdl
Add a complex type name that is part of this WSDL and can be used in signatures.
Name | Type | Description |
---|---|---|
$type | string |
Type | Description |
---|---|
\Zend_Soap_Wsdl |


addTypes(object $types) : void
Add WSDL Types element
Name | Type | Description |
---|---|---|
$types | object | A DomDocument|DomNode|DomElement|DomDocumentFragment with all the XML Schema types defined in it |


dump( $filename = false) : boolean
Echo the WSDL as XML
Name | Type | Description |
---|---|---|
$filename |
Type | Description |
---|---|
boolean |


getComplexTypeStrategy() : \Zend_Soap_Wsdl_Strategy_Interface
Get the current complex type strategy
Type | Description |
---|---|
\Zend_Soap_Wsdl_Strategy_Interface |


getType(string $type) : string
Returns an XSD Type for the given PHP type
Name | Type | Description |
---|---|---|
$type | string | PHP Type to get the XSD type for |
Type | Description |
---|---|
string |


getTypes() : array
Return an array of all currently included complex types
Type | Description |
---|---|
array |


setComplexTypeStrategy(boolean | string | \Zend_Soap_Wsdl_Strategy_Interface $strategy) : \Zend_Soap_Wsdl
Set a strategy for complex type detection and handling
Name | Type | Description |
---|---|---|
$strategy | boolean | string | \Zend_Soap_Wsdl_Strategy_Interface |
Type | Description |
---|---|
\Zend_Soap_Wsdl |
- Todo
- Boolean is for backwards compability with extractComplexType object var. Remove it in later versions.


setUri(string | \Zend_Uri_Http $uri) : \Zend_Server_Wsdl
Set a new uri for this WSDL
Name | Type | Description |
---|---|---|
$uri | string | \Zend_Uri_Http |
Type | Description |
---|---|
\Zend_Server_Wsdl |