Replaced QName->getNamespace() by ServiceDefinition->getNamespace() for headers
This commit is contained in:
parent
57b35c5e62
commit
958efd3431
@ -22,6 +22,8 @@ Controller
|
||||
public function helloAction(array $names)
|
||||
{
|
||||
$soapHeaders = $this->container->get('request')->getSoapHeaders();
|
||||
|
||||
// You can use '1234' !== (string) $soapHeaders->get('api_key')
|
||||
if (!$soapHeaders->has('api_key') || '1234' !== $soapHeaders->get('api_key')->getData()) {
|
||||
throw new \SoapFault("INVALID_API_KEY", "The api_key is invalid.");
|
||||
}
|
||||
|
@ -67,7 +67,7 @@ class ServiceBinder
|
||||
$this->requestHeaderMessageBinder->setHeader($header);
|
||||
$data = $this->requestHeaderMessageBinder->processMessage($methodDefinition, $data, $this->definition->getDefinitionComplexTypes());
|
||||
|
||||
return $this->createSoapHeader($headerDefinition, $data);
|
||||
return new SoapHeader($this->definition->getNamespace(), $headerDefinition->getName(), $data);
|
||||
}
|
||||
|
||||
public function processServiceMethodArguments($method, $arguments)
|
||||
@ -86,11 +86,4 @@ class ServiceBinder
|
||||
|
||||
return $this->responseMessageBinder->processMessage($methodDefinition, $return, $this->definition->getDefinitionComplexTypes());
|
||||
}
|
||||
|
||||
protected function createSoapHeader(Header $headerDefinition, $data)
|
||||
{
|
||||
$qname = QName::fromPackedQName($headerDefinition->getType()->getXmlType());
|
||||
|
||||
return new SoapHeader($qname->getNamespace(), $headerDefinition->getName(), $data);
|
||||
}
|
||||
}
|
@ -23,6 +23,11 @@ class SoapHeader
|
||||
$this->data = $data;
|
||||
}
|
||||
|
||||
public function __toString()
|
||||
{
|
||||
return $this->data;
|
||||
}
|
||||
|
||||
public function getNamespace()
|
||||
{
|
||||
return $this->namespace;
|
||||
|
Loading…
Reference in New Issue
Block a user