Public Member Functions | Data Fields

ilBMFWSDL Class Reference

Inheritance diagram for ilBMFWSDL:
Collaboration diagram for ilBMFWSDL:

Public Member Functions

 ilBMFWSDL ($uri=false, $proxy=array())
 ilBMFWSDL constructor
 set_service ($service)
 parse ($uri, $proxy=array())
 getEndpoint ($portName)
 _getPortName ($operation, $service)
 getPortName ($operation, $service=NULL)
 getOperationData ($portName, $operation)
 matchMethod (&$operation)
 getSoapAction ($portName, $operation)
 getNamespace ($portName, $operation)
 getNamespaceAttributeName ($namespace)
 addNamespace ($namespace)
 _validateString ($string)
 _addArg (&$args, &$argarray, $argname)
 _elementArg (&$args, &$argarray, &$_argtype, $_argname)
 _complexTypeArg (&$args, &$argarray, &$_argtype, $_argname)
 generateProxyCode ($port= '', $classname='')
 generateProxyCode generates stub code from the wsdl that can be saved to a file, or eval'd into existence
 generateAllProxies ()
 getProxy ($port= '', $name='')
_getComplexTypeForElement ($name, $namespace)
 getComplexTypeNameForElement ($name, $namespace)
 getComplexTypeChildType ($ns, $name, $child_ns, $child_name)
 getSchemaType ($type, $name, $type_namespace)

Data Fields

 $tns = NULL
 $definition = array()
 $namespaces = array()
 $ns = array()
 $xsd = SOAP_XML_SCHEMA_VERSION
 $complexTypes = array()
 $elements = array()
 $messages = array()
 $portTypes = array()
 $bindings = array()
 $imports = array()
 $services = array()
 $service = ''
 $uri = ''
 $proxy = NULL
 $trace = 0

Detailed Description

Definition at line 47 of file class.ilBMFWSDL.php.


Member Function Documentation

ilBMFWSDL::_addArg ( &$  args,
&$  argarray,
argname 
)

Definition at line 262 of file class.ilBMFWSDL.php.

References _validateString().

Referenced by _complexTypeArg(), _elementArg(), and generateProxyCode().

    {
        if ($args) $args .= ", ";
        $args .= "\$".$argname;
        if (!$this->_validateString($argname)) return NULL;
        if ($argarray) $argarray .= ", ";
        $argarray .= "\"$argname\"=>\$".$argname;
    }

Here is the call graph for this function:

Here is the caller graph for this function:

ilBMFWSDL::_complexTypeArg ( &$  args,
&$  argarray,
&$  _argtype,
_argname 
)

Definition at line 304 of file class.ilBMFWSDL.php.

References _addArg().

Referenced by generateProxyCode().

    {
        $comments = '';
        if (isset($this->complexTypes[$_argtype['namespace']][$_argtype['type']])) {
            $comments  = "        // $_argname is a ComplexType {$_argtype['type']},\n";
            $comments .= "        //refer to wsdl for more info\n";
            if (isset($this->complexTypes[$_argtype['namespace']][$_argtype['type']]['attribute'])) {
                $comments .= "        // $_argname may require attributes, refer to wsdl for more info\n";
            }
            $wrapname = '{'.$this->namespaces[$_argtype['namespace']].'}'.$_argtype['type'];
            $comments .= "        \$$_argname = new ilBMFValue('$_argname','$wrapname',\$$_argname);\n";
            
        }
        $this->_addArg($args,$argarray,$_argname);
        return $comments;
    }

Here is the call graph for this function:

Here is the caller graph for this function:

ilBMFWSDL::_elementArg ( &$  args,
&$  argarray,
&$  _argtype,
_argname 
)

Definition at line 271 of file class.ilBMFWSDL.php.

References $tns, and _addArg().

Referenced by generateProxyCode().

    {
        $comments = '';
        $el = $this->elements[$_argtype['namespace']][$_argtype['type']];
        $tns = isset($this->ns[$el['namespace']])?$this->ns[$el['namespace']]:$_argtype['namespace'];
        if (isset($this->complexTypes[$tns][$el['type']])) {
            // the element is actually a complex type!
            $comments = "        // {$el['type']} is a ComplexType, refer to wsdl for more info\n";
            $attrname = "{$_argtype['type']}_attr";
            if (isset($this->complexTypes[$tns][$el['type']]['attribute'])) {
                $comments .= "        // {$el['type']} may require attributes, refer to wsdl for more info\n";
            }
            $comments .= "        \${$attrname}['xmlns'] = '{$this->namespaces[$_argtype['namespace']]}';\n";
            $comments .= "        \${$_argtype['type']} = new ilBMFValue('{$_argtype['type']}',false,\${$_argtype['type']},\$$attrname);\n";
            $this->_addArg($args,$argarray,$_argtype['type']);
            if (isset($this->complexTypes[$tns][$el['type']]['attribute'])) {
                if ($args) $args .= ", ";
                $args .= "\$".$attrname;
            }
            #$comments = $this->_complexTypeArg($args,$argarray,$el,$_argtype['type']);
        } else if (isset($el['elements'])) {
            foreach ($el['elements'] as $ename => $element) {
                $comments .= "        \$$ename = new ilBMFValue('{{$this->namespaces[$element['namespace']]}}$ename','{$element['type']}',\$$ename);\n";
                $this->_addArg($args,$argarray,$ename);
            }
        } else {
            #$echoStringParam = new ilBMFValue('{http://soapinterop.org/xsd}echoStringParam',false,$echoStringParam);
            $comments .= "        \$$_argname = new ilBMFValue('{{$this->namespaces[$tns]}}$_argname','{$el['type']}',\$$_argname);\n";
            $this->_addArg($args,$argarray,$_argname);
        }
        return $comments;
    }

Here is the call graph for this function:

Here is the caller graph for this function:

& ilBMFWSDL::_getComplexTypeForElement ( name,
namespace 
)

Definition at line 474 of file class.ilBMFWSDL.php.

References $namespace, $ns, $t, and $type.

Referenced by getComplexTypeChildType(), and getComplexTypeNameForElement().

    {
        $t = NULL;
        if (isset($this->ns[$namespace]) && 
            isset($this->elements[$this->ns[$namespace]][$name]['type'])) {
            
            $type = $this->elements[$this->ns[$namespace]][$name]['type'];
            $ns = $this->elements[$this->ns[$namespace]][$name]['namespace'];
            
            if (isset($this->complexTypes[$ns][$type])) {
                $t = $this->complexTypes[$ns][$type];
            }
        }
        return $t;
    }

Here is the caller graph for this function:

ilBMFWSDL::_getPortName ( operation,
service 
)

Definition at line 101 of file class.ilBMFWSDL.php.

References $service, and $type.

Referenced by getPortName().

                                               {
        if (isset($this->services[$service]['ports'])) {
            foreach ($this->services[$service]['ports'] as $port => $portAttrs) {
                $type = $this->services[$service]['ports'][$port]['type'];
                if ($type == 'soap' &&
                    isset($this->bindings[$portAttrs['binding']]['operations'][$operation])) {
                        return $port;
                }
            }
        }
        return NULL;
    }

Here is the caller graph for this function:

ilBMFWSDL::_validateString ( string  ) 

Definition at line 255 of file class.ilBMFWSDL.php.

Referenced by _addArg(), and generateProxyCode().

                                      {
        // XXX this should be done sooner or later
        return true;
        #if (preg_match("/^[\w_:#\/]+$/",$string)) return true;
        #return false;
    }

Here is the caller graph for this function:

ilBMFWSDL::addNamespace ( namespace  ) 

Definition at line 244 of file class.ilBMFWSDL.php.

References $namespace.

Referenced by getNamespaceAttributeName().

                                      {
        if (array_key_exists($namespace, $this->ns)) {
            return $this->ns[$namespace];
        }
        $n = count($this->ns);
        $attr = 'ns'.$n;
        $this->namespaces['ns'.$n] = $namespace;
        $this->ns[$namespace] = $attr;
        return $attr;
    }

Here is the caller graph for this function:

ilBMFWSDL::generateAllProxies (  ) 

Definition at line 443 of file class.ilBMFWSDL.php.

References $key, and generateProxyCode().

    {
        $proxycode = '';
        foreach (array_keys($this->services[$this->service]['ports']) as $key) {
            $port =& $this->services[$this->service]['ports'][$key];
            $proxycode .= $this->generateProxyCode($port);
        }
        return $proxycode;
    }

Here is the call graph for this function:

ilBMFWSDL::generateProxyCode ( port = '',
classname = '' 
)

generateProxyCode generates stub code from the wsdl that can be saved to a file, or eval'd into existence

Definition at line 325 of file class.ilBMFWSDL.php.

References $namespace, $ns, _addArg(), _complexTypeArg(), _elementArg(), and _validateString().

Referenced by generateAllProxies(), and getProxy().

    {
        $multiport = count($this->services[$this->service]['ports']) > 1;
        if (!$port) {
            reset($this->services[$this->service]['ports']);
            $port = current($this->services[$this->service]['ports']);
        }
        // XXX currentPort is BAD
        $clienturl = $port['address']['location']; 
        if (!$classname) {
            if ($multiport || $port) {
                $classname = 'WebService_'.$this->service.'_'.$port['name'];
            } else {
                $classname = 'WebService_'.$this->service;
            }
            $classname = str_replace('.','_',$classname);
        }
        
        if (!$this->_validateString($classname)) return NULL;
        
        $class = "class $classname extends ilBMFClient {\n".
        "    function $classname() {\n".
        "        \$this->ilBMFClient(\"$clienturl\", 0);\n".
        "    }\n";

        // get the binding, from that get the port type
        $primaryBinding = $port['binding']; //$this->services[$this->service]['ports'][$port['name']]["binding"];
        $primaryBinding = preg_replace("/^(.*:)/","",$primaryBinding);
        $portType = $this->bindings[$primaryBinding]['type'];
        $portType = preg_replace("/^(.*:)/","",$portType);
        $style = $this->bindings[$primaryBinding]['style'];
        
        // XXX currentPortType is BAD
        foreach ($this->portTypes[$portType] as $opname => $operation) {
            $soapaction = $this->bindings[$primaryBinding]['operations'][$opname]['soapAction'];
            if (isset($this->bindings[$primaryBinding]['operations'][$opname]['style'])) {
                $opstyle = $this->bindings[$primaryBinding]['operations'][$opname]['style'];
            } else {
                $opstyle = $style;
            }
            $use = $this->bindings[$primaryBinding]['operations'][$opname]['input']['use'];
            if ($use == 'encoded') {
                $namespace = $this->bindings[$primaryBinding]['operations'][$opname]['input']['namespace'];
            } else {
                $bindingType = $this->bindings[$primaryBinding]['type'];
                $ns = $this->portTypes[$bindingType][$opname]['input']['namespace'];
                $namespace = $this->namespaces[$ns];
            }

            $args = '';
            $argarray = '';
            $comments = '';
            $wrappers = '';
            foreach ($operation['input'] as $argname => $argtype) {
                if ($argname == "message") {
                    foreach ($this->messages[$argtype] as $_argname => $_argtype) {
                        $comments = '';
                        if ($opstyle == 'document' && $use == 'literal' &&
                            $_argtype['name'] == 'parameters') {
                                // the type or element refered to is used for parameters!
                                $elattrs = null;
                                $element = $_argtype['element'];
                                $el = $this->elements[$_argtype['namespace']][$_argtype['type']];
                                
                                if($el['complex']) {
                                    $namespace = $this->namespaces[$_argtype['namespace']];
                                    // XXX need to wrap the parameters in a soap_value
                                }
                                if (isset($el['elements'])) {
                                    foreach ($el['elements'] as $elname => $elattrs) {
                                        // is the element a complex type?
                                        if (isset($this->complexTypes[$elattrs['namespace']][$elname])) {
                                            $comments .= $this->_complexTypeArg($args, $argarray, $_argtype, $_argname);
                                        } else {
                                            $this->_addArg($args, $argarray, $elname);
                                        }
                                    }
                                }/* else {
                                    $comments = $this->_complexTypeArg($args, $argarray, $elattrs, $elattrs['name']);
                                }*/
                                if($el['complex'] && $argarray) {
                                    $wrapname = '{'.$this->namespaces[$_argtype['namespace']].'}'.$el['name'];
                                    $comments .= "        \${$el['name']} = new ilBMFValue('$wrapname',false,array($argarray));\n";
                                    $argarray = "'{$el['name']}'=>\${$el['name']}";
                                }
                        } else 
                        if (isset($_argtype['element'])) {
                            // element argument
                            $comments = $this->_elementArg($args, $argarray, $_argtype, $_argtype['type']);
                        } else {
                            // complex type argument
                            $comments = $this->_complexTypeArg($args, $argarray, $_argtype, $_argname);
                        }
                    }
                }
            }
            
            // validate entries
            if (!$this->_validateString($opname)) return NULL;
            if (!$this->_validateString($namespace)) return NULL;
            if (!$this->_validateString($soapaction)) return NULL;
            
            if ($argarray) $argarray = "array($argarray)";
            else $argarray = 'NULL';
            $class .= "    function $opname($args) {\n$comments$wrappers".
            "        return \$this->call(\"$opname\", \n".
            "                        $argarray, \n".
            "                        array('namespace'=>'$namespace',\n".
            "                            'soapaction'=>'$soapaction',\n".
            "                            'style'=>'$opstyle',\n".
            "                            'use'=>'$use'".
            ($this->trace?",'trace'=>1":"")." ));\n".
            "    }\n";
        }    
        $class .= "}\n";
        return $class;
    }

Here is the call graph for this function:

Here is the caller graph for this function:

ilBMFWSDL::getComplexTypeChildType ( ns,
name,
child_ns,
child_name 
)

Definition at line 499 of file class.ilBMFWSDL.php.

References $ns, $t, and _getComplexTypeForElement().

                                                                         {
        // is the type an element?
        $t = $this->_getComplexTypeForElement($name, $ns);
        if ($t) {
            // no, get it from complex types directly
            if (isset($t['elements'][$child_name]['type']))
                return $t['elements'][$child_name]['type'];
        }
        return NULL;
    }

Here is the call graph for this function:

ilBMFWSDL::getComplexTypeNameForElement ( name,
namespace 
)

Definition at line 490 of file class.ilBMFWSDL.php.

References $namespace, $t, and _getComplexTypeForElement().

    {
        $t = $this->_getComplexTypeForElement($name, $namespace);
        if ($t) {
            return $t['name'];
        }
        return NULL;
    }

Here is the call graph for this function:

ilBMFWSDL::getEndpoint ( portName  ) 

Definition at line 94 of file class.ilBMFWSDL.php.

References ilBMFBase::_raiseSoapFault().

    {
        return (isset($this->services[$this->service]['ports'][$portName]['address']['location']))
                ? $this->services[$this->service]['ports'][$portName]['address']['location']
                : $this->_raiseSoapFault("no endpoint for port for $portName", $this->uri);
    }

Here is the call graph for this function:

ilBMFWSDL::getNamespace ( portName,
operation 
)

Definition at line 222 of file class.ilBMFWSDL.php.

References $namespace.

    {
        if (isset($this->bindings[$this->services[$this->service]['ports'][$portName]['binding']]) &&
            isset($this->bindings[$this->services[$this->service]['ports'][$portName]['binding']]['operations'][$operation]['input']['namespace']) &&
            $namespace = $this->bindings[$this->services[$this->service]['ports'][$portName]['binding']]['operations'][$operation]['input']['namespace']) {
            return $namespace;
        }
        return false;
    }

ilBMFWSDL::getNamespaceAttributeName ( namespace  ) 

Definition at line 232 of file class.ilBMFWSDL.php.

References $namespace, and addNamespace().

                                                   {
        /* if it doesn't exist at first, flip the array and check again */
        if (!array_key_exists($namespace, $this->ns)) {
            $this->ns = array_flip($this->namespaces);
        }
        /* if it doesn't exist now, add it */
        if (!array_key_exists($namespace, $this->ns)) {
            return $this->addNamespace($namespace);
        }
        return $this->ns[$namespace];
    }

Here is the call graph for this function:

ilBMFWSDL::getOperationData ( portName,
operation 
)

Definition at line 136 of file class.ilBMFWSDL.php.

References ilBMFBase::_raiseSoapFault().

    {
        if (isset($this->services[$this->service]['ports'][$portName]['binding'])
            && $binding = $this->services[$this->service]['ports'][$portName]['binding']) {
            // get operation data from binding
            if (is_array($this->bindings[$binding]['operations'][$operation])) {
                $opData = $this->bindings[$binding]['operations'][$operation];
            }
            // get operation data from porttype
            $portType = $this->bindings[$binding]['type'];
            if (!$portType) {
                return $this->_raiseSoapFault("no port type for binding $binding in wsdl " . $this->uri);
            }
            if (is_array($this->portTypes[$portType][$operation])) {
                if (isset($this->portTypes[$portType][$operation]['parameterOrder']))
                    $opData['parameterOrder'] = $this->portTypes[$portType][$operation]['parameterOrder'];
                $opData['input'] = array_merge($opData['input'], $this->portTypes[$portType][$operation]['input']);
                $opData['output'] = array_merge($opData['output'], $this->portTypes[$portType][$operation]['output']);
            }
            if (!$opData) 
                return $this->_raiseSoapFault("no operation $operation for port $portName, in wsdl", $this->uri);
            $opData['parameters'] = false;
            if (isset($this->bindings[$this->services[$this->service]['ports'][$portName]['binding']]['operations'][$operation]['input']['namespace']))
                $opData['namespace'] = $this->bindings[$this->services[$this->service]['ports'][$portName]['binding']]['operations'][$operation]['input']['namespace'];
            // message data from messages
            $inputMsg = $opData['input']['message'];
            if (is_array($this->messages[$inputMsg])) {
            foreach ($this->messages[$inputMsg] as $pname => $pattrs) {
                if ($opData['style'] == 'document' && $opData['input']['use'] == 'literal'
                    && $pname == 'parameters') {
                        $opData['parameters'] = true;
                        $opData['namespace'] = $this->namespaces[$pattrs['namespace']];
                        $el = $this->elements[$pattrs['namespace']][$pattrs['type']];
                        if (isset($el['elements'])) {
                            foreach ($el['elements'] as $elname => $elattrs) {
                                $opData['input']['parts'][$elname] = $elattrs;
                            }
                        }
                } else {
                    $opData['input']['parts'][$pname] = $pattrs;
                }
            }
            }
            $outputMsg = $opData['output']['message'];
            if (is_array($this->messages[$outputMsg])) {
            foreach ($this->messages[$outputMsg] as $pname => $pattrs) {
                if ($opData['style'] == 'document' && $opData['output']['use'] == 'literal'
                    && $pname == 'parameters') {

                        $el = $this->elements[$pattrs['namespace']][$pattrs['type']];
                        if (isset($el['elements'])) {
                            foreach ($el['elements'] as $elname => $elattrs) {
                                $opData['output']['parts'][$elname] = $elattrs;
                            }
                        }
                        
                } else {
                    $opData['output']['parts'][$pname] = $pattrs;
                }
            }
            }
            return $opData;
        }
        return $this->_raiseSoapFault("no binding for port $portName in wsdl", $this->uri);
    }

Here is the call graph for this function:

ilBMFWSDL::getPortName ( operation,
service = NULL 
)

Definition at line 116 of file class.ilBMFWSDL.php.

References $service, _getPortName(), and ilBMFBase::_raiseSoapFault().

    {
        if (!$service) $service = $this->service;
        if (isset($this->services[$service]['ports'])) {
            $portName = $this->_getPortName($operation,$service);
            if ($portName) return $portName;
        }
        // try any service in the wsdl
        foreach ($this->services as $serviceName=>$service) {
            if (isset($this->services[$serviceName]['ports'])) {
                $portName = $this->_getPortName($operation,$serviceName);
                if ($portName) {
                    $this->service = $serviceName;
                    return $portName;
                }
            }
        }
        return $this->_raiseSoapFault("no operation $operation in wsdl", $this->uri);
    }

Here is the call graph for this function:

ilBMFWSDL::getProxy ( port = '',
name = '' 
)

Definition at line 453 of file class.ilBMFWSDL.php.

References $proxy, and generateProxyCode().

    {
        $multiport = count($this->services[$this->service]['ports']) > 1;
        if (!$port) {
            reset($this->services[$this->service]['ports']);
            $port = current($this->services[$this->service]['ports']);
        }
        if ($multiport || $port) {
            $classname = 'WebService_'.$this->service.'_'.$port['name'];
        } else {
            $classname = 'WebService_'.$this->service;
        }
        if ($name) $classname = $name.'_'.$classname;
        $classname = preg_replace('/[ .\(\)]+/','_',$classname);
        if (!class_exists($classname)) {
            $proxy = $this->generateProxyCode($port,$classname);
            eval($proxy);
        }
        return new $classname;
    }

Here is the call graph for this function:

ilBMFWSDL::getSchemaType ( type,
name,
type_namespace 
)

Definition at line 510 of file class.ilBMFWSDL.php.

References $ns, and $type.

    {
        # see if it's a complex type so we can deal properly with SOAPENC:arrayType
        if ($name && $type) {
            # XXX TODO:
            # look up the name in the wsdl and validate the type
            foreach ($this->complexTypes as $ns=> $types) {
                if (array_key_exists($type, $types)) {
                    if (array_key_exists('type', $types[$type])) {
                        $arraytype = isset($types[$type]['arrayType'])?$types[$type]['arrayType']:NULL;
                        return array($types[$type]['type'],$arraytype,$this->namespaces[$types[$type]['namespace']]);
                    }
                    if (array_key_exists('arrayType', $types[$type])) {
                        return array('Array',$types[$type]['arrayType'],$this->namespaces[$types[$type]['namespace']]);
                    }
                    if (array_key_exists('elements', $types[$type]) &&
                        array_key_exists($name, $types[$type]['elements'])) {
                        $type = $types[$type]['elements']['type'];
                        return array($type,NULL,$this->namespaces[$types[$type]['namespace']]);
                    }
                }
            }
        }
        if ($type && $type_namespace) {
            $arrayType = NULL;
            # XXX TODO:
            # this code currently handles only one way of encoding array types in wsdl
            # need to do a generalized function to figure out complex types
            $p = $this->ns[$type_namespace];
            if ($p &&
                array_key_exists($p, $this->complexTypes) &&
                array_key_exists($type, $this->complexTypes[$p])) {
                if ($arrayType = $this->complexTypes[$p][$type]['arrayType']) {
                    $type = 'Array';
                } else if ($this->complexTypes[$p][$type]['order']=='sequence' &&
                           array_key_exists('elements', $this->complexTypes[$p][$type])) {
                    reset($this->complexTypes[$p][$type]['elements']);
                    # assume an array
                    if (count($this->complexTypes[$p][$type]['elements']) == 1) {
                        $arg = current($this->complexTypes[$p][$type]['elements']);
                        $arrayType = $arg['type'];
                        $type = 'Array';
                    } else {
                        foreach($this->complexTypes[$p][$type]['elements'] as $element) {
                            if ($element['name'] == $type) {
                                $arrayType = $element['type'];
                                $type = $element['type'];
                            }
                        }
                    }
                } else {
                    $type = 'Struct';
                }
                return array($type,$arrayType,$type_namespace);
            }
        }
        return array(NULL,NULL,NULL);
    }

ilBMFWSDL::getSoapAction ( portName,
operation 
)

Definition at line 213 of file class.ilBMFWSDL.php.

    {
        if (isset($this->bindings[$this->services[$this->service]['ports'][$portName]['binding']]['operations'][$operation]['soapAction']) &&
            $soapAction = $this->bindings[$this->services[$this->service]['ports'][$portName]['binding']]['operations'][$operation]['soapAction']) {
            return $soapAction;
        }
        return false;
    }

ilBMFWSDL::ilBMFWSDL ( uri = false,
proxy = array() 
)

ilBMFWSDL constructor

Parameters:
string endpoint_uri (URL)
array contains options for HTTP_Request class (see HTTP/Request.php) public

Definition at line 72 of file class.ilBMFWSDL.php.

References $proxy, $uri, ilBMFBase::ilBMFBase(), and parse().

                                                     {
        parent::ilBMFBase('WSDL');
        $this->uri = $uri;
        $this->proxy = $proxy;
        $this->parse($uri);
        reset($this->services);
        $this->service = key($this->services);
    }

Here is the call graph for this function:

ilBMFWSDL::matchMethod ( &$  operation  ) 

Definition at line 202 of file class.ilBMFWSDL.php.

                                      {
        // Overloading lowercases function names :(
        foreach ($this->services[$this->service]['ports'] as $port => $portAttrs) {
            foreach (array_keys($this->bindings[$portAttrs['binding']]['operations']) as $op) {
                if (strcasecmp($op, $operation) == 0) {
                    $operation = $op;
                }
            }
        }
    }

ilBMFWSDL::parse ( uri,
proxy = array() 
)

Definition at line 87 of file class.ilBMFWSDL.php.

References $uri, and ilBMFBase::_raiseSoapFault().

Referenced by ilBMFWSDL().

                                         {
        $parser = new ilBMFWSDL_Parser($uri, $this);
        if ($parser->fault) {
            $this->_raiseSoapFault($parser->fault);
        }
    }

Here is the call graph for this function:

Here is the caller graph for this function:

ilBMFWSDL::set_service ( service  ) 

Definition at line 81 of file class.ilBMFWSDL.php.

References $service.

                                   {
        if (array_key_exists($service, $this->services)) {
            $this->service = $service;
        }
    }


Field Documentation

ilBMFWSDL::$bindings = array()

Definition at line 58 of file class.ilBMFWSDL.php.

ilBMFWSDL::$complexTypes = array()

Definition at line 54 of file class.ilBMFWSDL.php.

ilBMFWSDL::$definition = array()

Definition at line 50 of file class.ilBMFWSDL.php.

ilBMFWSDL::$elements = array()

Definition at line 55 of file class.ilBMFWSDL.php.

ilBMFWSDL::$imports = array()

Definition at line 59 of file class.ilBMFWSDL.php.

ilBMFWSDL::$messages = array()

Definition at line 56 of file class.ilBMFWSDL.php.

ilBMFWSDL::$namespaces = array()

Definition at line 51 of file class.ilBMFWSDL.php.

ilBMFWSDL::$ns = array()
ilBMFWSDL::$portTypes = array()

Definition at line 57 of file class.ilBMFWSDL.php.

ilBMFWSDL::$proxy = NULL

Definition at line 63 of file class.ilBMFWSDL.php.

Referenced by getProxy(), and ilBMFWSDL().

ilBMFWSDL::$service = ''

Definition at line 61 of file class.ilBMFWSDL.php.

Referenced by _getPortName(), getPortName(), and set_service().

ilBMFWSDL::$services = array()

Definition at line 60 of file class.ilBMFWSDL.php.

ilBMFWSDL::$tns = NULL

Definition at line 49 of file class.ilBMFWSDL.php.

Referenced by _elementArg().

ilBMFWSDL::$trace = 0

Definition at line 64 of file class.ilBMFWSDL.php.

ilBMFWSDL::$uri = ''

Definition at line 62 of file class.ilBMFWSDL.php.

Referenced by ilBMFWSDL(), and parse().

ilBMFWSDL::$xsd = SOAP_XML_SCHEMA_VERSION

Definition at line 53 of file class.ilBMFWSDL.php.


The documentation for this class was generated from the following file: