private function addOperation($operationName, $serviceName)
    {
        $this->addToDebug("Adding Operation: '$operationName : $serviceName'");
        $operationTag = $this->addElement('wsdl:operation', $this->portTypeTags[$serviceName]);
        $operationTag->setAttribute('name', $operationName);

        //create operation tag for binding
        $bindingOperationTag = $this->addElement('wsdl:operation', $this->bindingTags[$serviceName]);
        $bindingOperationTag->setAttribute('name', $operationName);

        //soap operation tag
        $soapOperationTag = $this->addElement('soap:operation', $bindingOperationTag);
        $soapOperationTag->setAttribute('soapAction', $this->url.'&method='.$operationName);
        $soapOperationTag->setAttribute('style', ($this->binding_style == SOAP_RPC) ? 'rpc' : 'document');

        //save references
        $this->operationTags[$serviceName][$operationName] = $operationTag;
        $this->bindingOperationTags[$serviceName][$operationName] = $bindingOperationTag;

        //and return
        return $operationTag;
    }