public function addOperation(Operation $operation) { $this->operations[$operation->getOperation()->getName()] = $operation; }
public function onBindingOperation(BindingOperationEvent $event) { $operation = new Operation($event->getOperation()); if ($message = $event->getOperation()->getInput()) { $operation->setInput(new OperationMessage($message)); } if ($message = $event->getOperation()->getOutput()) { $operation->setOutput(new OperationMessage($message)); } $skip = true; foreach ($event->getNode()->childNodes as $node) { if ($node->namespaceURI == self::SOAP_NS && $node->localName == 'operation') { $skip = false; if ($node->getAttribute("soapAction")) { $operation->setAction($node->getAttribute("soapAction")); } if ($node->getAttribute("style")) { $operation->setStyle($node->getAttribute("style")); } } } $service = $this->getServiceByBinding($event->getOperation()->getBinding()); if ($service && !$skip) { $this->operations[spl_object_hash($event->getOperation())] = $operation; $service->addOperation($operation); } }