Compare commits
5 Commits
Author | SHA1 | Date | |
---|---|---|---|
8788d7595d | |||
b45224587a | |||
c8baf14c75 | |||
53849c68e0 | |||
ecdf7e1872 |
@ -15,8 +15,6 @@ namespace BeSimple\SoapBundle\Controller;
|
|||||||
use BeSimple\SoapBundle\Handler\ExceptionHandler;
|
use BeSimple\SoapBundle\Handler\ExceptionHandler;
|
||||||
use BeSimple\SoapBundle\Soap\SoapRequest;
|
use BeSimple\SoapBundle\Soap\SoapRequest;
|
||||||
use BeSimple\SoapBundle\Soap\SoapResponse;
|
use BeSimple\SoapBundle\Soap\SoapResponse;
|
||||||
use BeSimple\SoapServer\Exception as SoapException;
|
|
||||||
|
|
||||||
use Symfony\Component\DependencyInjection\ContainerAware;
|
use Symfony\Component\DependencyInjection\ContainerAware;
|
||||||
use Symfony\Component\HttpFoundation\Request;
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
use Symfony\Component\HttpFoundation\Response;
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
|
@ -12,8 +12,6 @@ namespace BeSimple\SoapBundle\Converter;
|
|||||||
|
|
||||||
use BeSimple\SoapBundle\ServiceDefinition\ServiceDefinition;
|
use BeSimple\SoapBundle\ServiceDefinition\ServiceDefinition;
|
||||||
use BeSimple\SoapBundle\Util\Assert;
|
use BeSimple\SoapBundle\Util\Assert;
|
||||||
use BeSimple\SoapBundle\Util\QName;
|
|
||||||
use BeSimple\SoapBundle\Util\String;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Christian Kerl <christian-kerl@web.de>
|
* @author Christian Kerl <christian-kerl@web.de>
|
||||||
@ -50,8 +48,6 @@ class TypeRepository
|
|||||||
|
|
||||||
public function fixTypeInformation(ServiceDefinition $definition)
|
public function fixTypeInformation(ServiceDefinition $definition)
|
||||||
{
|
{
|
||||||
$typeMap = $this->defaultTypeMap;
|
|
||||||
|
|
||||||
foreach($definition->getAllTypes() as $type) {
|
foreach($definition->getAllTypes() as $type) {
|
||||||
$phpType = $type->getPhpType();
|
$phpType = $type->getPhpType();
|
||||||
$xmlType = $type->getXmlType();
|
$xmlType = $type->getXmlType();
|
||||||
|
@ -13,6 +13,7 @@ namespace BeSimple\SoapBundle\Converter;
|
|||||||
use BeSimple\SoapBundle\Soap\SoapRequest;
|
use BeSimple\SoapBundle\Soap\SoapRequest;
|
||||||
use BeSimple\SoapBundle\Soap\SoapResponse;
|
use BeSimple\SoapBundle\Soap\SoapResponse;
|
||||||
use BeSimple\SoapBundle\Util\String;
|
use BeSimple\SoapBundle\Util\String;
|
||||||
|
use BeSimple\SoapCommon\Converter\TypeConverterInterface;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Christian Kerl <christian-kerl@web.de>
|
* @author Christian Kerl <christian-kerl@web.de>
|
||||||
|
@ -84,7 +84,7 @@ class BeSimpleSoapExtension extends Extension
|
|||||||
|
|
||||||
foreach ($config as $client => $options) {
|
foreach ($config as $client => $options) {
|
||||||
$definition = new DefinitionDecorator('besimple.soap.client.builder');
|
$definition = new DefinitionDecorator('besimple.soap.client.builder');
|
||||||
$context = $container->setDefinition(sprintf('besimple.soap.client.builder.%s', $client), $definition);
|
$container->setDefinition(sprintf('besimple.soap.client.builder.%s', $client), $definition);
|
||||||
|
|
||||||
$definition->replaceArgument(0, $options['wsdl']);
|
$definition->replaceArgument(0, $options['wsdl']);
|
||||||
|
|
||||||
@ -118,7 +118,7 @@ class BeSimpleSoapExtension extends Extension
|
|||||||
private function createClientClassmap($client, array $classmap, ContainerBuilder $container)
|
private function createClientClassmap($client, array $classmap, ContainerBuilder $container)
|
||||||
{
|
{
|
||||||
$definition = new DefinitionDecorator('besimple.soap.classmap');
|
$definition = new DefinitionDecorator('besimple.soap.classmap');
|
||||||
$context = $container->setDefinition(sprintf('besimple.soap.classmap.%s', $client), $definition);
|
$container->setDefinition(sprintf('besimple.soap.classmap.%s', $client), $definition);
|
||||||
|
|
||||||
$definition->setMethodCalls(array(
|
$definition->setMethodCalls(array(
|
||||||
array('set', array($classmap)),
|
array('set', array($classmap)),
|
||||||
@ -130,7 +130,7 @@ class BeSimpleSoapExtension extends Extension
|
|||||||
private function createClient($client, ContainerBuilder $container)
|
private function createClient($client, ContainerBuilder $container)
|
||||||
{
|
{
|
||||||
$definition = new DefinitionDecorator('besimple.soap.client');
|
$definition = new DefinitionDecorator('besimple.soap.client');
|
||||||
$context = $container->setDefinition(sprintf('besimple.soap.client.%s', $client), $definition);
|
$container->setDefinition(sprintf('besimple.soap.client.%s', $client), $definition);
|
||||||
|
|
||||||
$definition->setFactoryService(sprintf('besimple.soap.client.builder.%s', $client));
|
$definition->setFactoryService(sprintf('besimple.soap.client.builder.%s', $client));
|
||||||
}
|
}
|
||||||
@ -142,7 +142,7 @@ class BeSimpleSoapExtension extends Extension
|
|||||||
|
|
||||||
$contextId = 'besimple.soap.context.'.$config['name'];
|
$contextId = 'besimple.soap.context.'.$config['name'];
|
||||||
$definition = new DefinitionDecorator('besimple.soap.context.'.$bindingSuffix);
|
$definition = new DefinitionDecorator('besimple.soap.context.'.$bindingSuffix);
|
||||||
$context = $container->setDefinition($contextId, $definition);
|
$container->setDefinition($contextId, $definition);
|
||||||
|
|
||||||
if (isset($config['cache_type'])) {
|
if (isset($config['cache_type'])) {
|
||||||
$config['cache_type'] = $this->getCacheType($config['cache_type']);
|
$config['cache_type'] = $this->getCacheType($config['cache_type']);
|
||||||
|
@ -2,7 +2,6 @@
|
|||||||
|
|
||||||
namespace BeSimple\SoapBundle\EventListener;
|
namespace BeSimple\SoapBundle\EventListener;
|
||||||
|
|
||||||
use Symfony\Component\HttpKernel\HttpKernelInterface;
|
|
||||||
use Symfony\Component\HttpKernel\Event\GetResponseEvent;
|
use Symfony\Component\HttpKernel\Event\GetResponseEvent;
|
||||||
|
|
||||||
class RequestFormatListener
|
class RequestFormatListener
|
||||||
|
@ -13,8 +13,6 @@
|
|||||||
namespace BeSimple\SoapBundle\ServiceBinding;
|
namespace BeSimple\SoapBundle\ServiceBinding;
|
||||||
|
|
||||||
use BeSimple\SoapBundle\ServiceDefinition\Method;
|
use BeSimple\SoapBundle\ServiceDefinition\Method;
|
||||||
use BeSimple\SoapBundle\ServiceDefinition\Strategy\MethodComplexType;
|
|
||||||
use BeSimple\SoapBundle\ServiceDefinition\Strategy\PropertyComplexType;
|
|
||||||
use BeSimple\SoapCommon\Definition\Type\ArrayOfType;
|
use BeSimple\SoapCommon\Definition\Type\ArrayOfType;
|
||||||
use BeSimple\SoapCommon\Definition\Type\ComplexType;
|
use BeSimple\SoapCommon\Definition\Type\ComplexType;
|
||||||
use BeSimple\SoapCommon\Definition\Type\TypeRepository;
|
use BeSimple\SoapCommon\Definition\Type\TypeRepository;
|
||||||
@ -55,7 +53,7 @@ class RpcLiteralRequestMessageBinder implements MessageBinderInterface
|
|||||||
$type = $this->typeRepository->getType($phpType);
|
$type = $this->typeRepository->getType($phpType);
|
||||||
if ($type instanceof ArrayOfType) {
|
if ($type instanceof ArrayOfType) {
|
||||||
$isArray = true;
|
$isArray = true;
|
||||||
$arrayType = $type;
|
$array = array();
|
||||||
|
|
||||||
$type = $this->typeRepository->getType($type->get('item')->getType());
|
$type = $this->typeRepository->getType($type->get('item')->getType());
|
||||||
}
|
}
|
||||||
@ -65,8 +63,6 @@ class RpcLiteralRequestMessageBinder implements MessageBinderInterface
|
|||||||
$phpType = $type->getPhpType();
|
$phpType = $type->getPhpType();
|
||||||
|
|
||||||
if ($isArray) {
|
if ($isArray) {
|
||||||
$array = array();
|
|
||||||
|
|
||||||
if (isset($message->item)) {
|
if (isset($message->item)) {
|
||||||
foreach ($message->item as $complexType) {
|
foreach ($message->item as $complexType) {
|
||||||
$array[] = $this->checkComplexType($phpType, $complexType);
|
$array[] = $this->checkComplexType($phpType, $complexType);
|
||||||
|
@ -13,8 +13,6 @@
|
|||||||
namespace BeSimple\SoapBundle\ServiceBinding;
|
namespace BeSimple\SoapBundle\ServiceBinding;
|
||||||
|
|
||||||
use BeSimple\SoapBundle\ServiceDefinition\Method;
|
use BeSimple\SoapBundle\ServiceDefinition\Method;
|
||||||
use BeSimple\SoapBundle\ServiceDefinition\Strategy\PropertyComplexType;
|
|
||||||
use BeSimple\SoapBundle\ServiceDefinition\Strategy\MethodComplexType;
|
|
||||||
use BeSimple\SoapCommon\Definition\Type\ArrayOfType;
|
use BeSimple\SoapCommon\Definition\Type\ArrayOfType;
|
||||||
use BeSimple\SoapCommon\Definition\Type\ComplexType;
|
use BeSimple\SoapCommon\Definition\Type\ComplexType;
|
||||||
use BeSimple\SoapCommon\Definition\Type\TypeRepository;
|
use BeSimple\SoapCommon\Definition\Type\TypeRepository;
|
||||||
@ -44,7 +42,6 @@ class RpcLiteralResponseMessageBinder implements MessageBinderInterface
|
|||||||
$type = $this->typeRepository->getType($phpType);
|
$type = $this->typeRepository->getType($phpType);
|
||||||
if ($type instanceof ArrayOfType) {
|
if ($type instanceof ArrayOfType) {
|
||||||
$isArray = true;
|
$isArray = true;
|
||||||
$arrayType = $type;
|
|
||||||
|
|
||||||
$type = $this->typeRepository->getType($type->get('item')->getType());
|
$type = $this->typeRepository->getType($type->get('item')->getType());
|
||||||
}
|
}
|
||||||
|
@ -10,7 +10,6 @@
|
|||||||
|
|
||||||
namespace BeSimple\SoapBundle\ServiceBinding;
|
namespace BeSimple\SoapBundle\ServiceBinding;
|
||||||
|
|
||||||
use BeSimple\SoapBundle\ServiceDefinition\Header;
|
|
||||||
use BeSimple\SoapBundle\ServiceDefinition\Definition;
|
use BeSimple\SoapBundle\ServiceDefinition\Definition;
|
||||||
use BeSimple\SoapBundle\Soap\SoapHeader;
|
use BeSimple\SoapBundle\Soap\SoapHeader;
|
||||||
|
|
||||||
|
@ -21,8 +21,6 @@ use BeSimple\SoapCommon\Definition\Type\TypeRepository;
|
|||||||
*/
|
*/
|
||||||
class Definition extends BaseDefinition
|
class Definition extends BaseDefinition
|
||||||
{
|
{
|
||||||
private $complexTypes;
|
|
||||||
|
|
||||||
public function __construct(TypeRepository $typeRepository)
|
public function __construct(TypeRepository $typeRepository)
|
||||||
{
|
{
|
||||||
$this->typeRepository = $typeRepository;
|
$this->typeRepository = $typeRepository;
|
||||||
|
@ -16,11 +16,8 @@ use BeSimple\SoapBundle\ServiceDefinition as Definition;
|
|||||||
use BeSimple\SoapBundle\ServiceDefinition\Annotation;
|
use BeSimple\SoapBundle\ServiceDefinition\Annotation;
|
||||||
use BeSimple\SoapCommon\Definition\Type\ComplexType;
|
use BeSimple\SoapCommon\Definition\Type\ComplexType;
|
||||||
use BeSimple\SoapCommon\Definition\Type\TypeRepository;
|
use BeSimple\SoapCommon\Definition\Type\TypeRepository;
|
||||||
|
|
||||||
use Doctrine\Common\Annotations\Reader;
|
use Doctrine\Common\Annotations\Reader;
|
||||||
|
|
||||||
use Symfony\Component\Config\Loader\Loader;
|
use Symfony\Component\Config\Loader\Loader;
|
||||||
use Symfony\Component\Config\Loader\LoaderResolverInterface;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* AnnotationClassLoader loads ServiceDefinition from a PHP class and its methods.
|
* AnnotationClassLoader loads ServiceDefinition from a PHP class and its methods.
|
||||||
@ -144,30 +141,6 @@ class AnnotationClassLoader extends Loader
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @param \ReflectionMethod $method
|
|
||||||
* @param \BeSimple\SoapBundle\ServiceDefinition\Annotation\Param $annotation
|
|
||||||
*
|
|
||||||
* @return \BeSimple\SoapBundle\ServiceDefinition\Type
|
|
||||||
*/
|
|
||||||
private function getArgumentType(\ReflectionMethod $method, Annotation\Param $annotation)
|
|
||||||
{
|
|
||||||
$phpType = $annotation->getPhpType();
|
|
||||||
$xmlType = $annotation->getXmlType();
|
|
||||||
|
|
||||||
if (null === $phpType) {
|
|
||||||
foreach ($method->getParameters() as $param) {
|
|
||||||
if ($param->name === $annotation->getName()) {
|
|
||||||
$phpType = $param->getClass()->name;
|
|
||||||
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return new Definition\Type($phpType, $xmlType);
|
|
||||||
}
|
|
||||||
|
|
||||||
private function loadType($phpType)
|
private function loadType($phpType)
|
||||||
{
|
{
|
||||||
if (false !== $arrayOf = $this->typeRepository->getArrayOf($phpType)) {
|
if (false !== $arrayOf = $this->typeRepository->getArrayOf($phpType)) {
|
||||||
@ -177,7 +150,7 @@ class AnnotationClassLoader extends Loader
|
|||||||
if (!$this->typeRepository->hasType($phpType)) {
|
if (!$this->typeRepository->hasType($phpType)) {
|
||||||
$complexTypeResolver = $this->resolve($phpType, 'annotation_complextype');
|
$complexTypeResolver = $this->resolve($phpType, 'annotation_complextype');
|
||||||
if (!$complexTypeResolver) {
|
if (!$complexTypeResolver) {
|
||||||
throw new Exception();
|
throw new \Exception();
|
||||||
}
|
}
|
||||||
|
|
||||||
$loaded = $complexTypeResolver->load($phpType);
|
$loaded = $complexTypeResolver->load($phpType);
|
||||||
|
@ -16,7 +16,6 @@ use BeSimple\SoapBundle\ServiceDefinition\ServiceDefinition;
|
|||||||
|
|
||||||
use Symfony\Component\Config\FileLocator;
|
use Symfony\Component\Config\FileLocator;
|
||||||
use Symfony\Component\Config\Loader\FileLoader;
|
use Symfony\Component\Config\Loader\FileLoader;
|
||||||
use Symfony\Component\Config\Resource\FileResource;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* AnnotationFileLoader loads ServiceDefinition from annotations set
|
* AnnotationFileLoader loads ServiceDefinition from annotations set
|
||||||
@ -62,7 +61,7 @@ class AnnotationFileLoader extends FileLoader
|
|||||||
$path = $this->locator->locate($file);
|
$path = $this->locator->locate($file);
|
||||||
|
|
||||||
if ($class = $this->findClass($path)) {
|
if ($class = $this->findClass($path)) {
|
||||||
return $definition = $this->loader->load($class, $type);
|
return $this->loader->load($class, $type);
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
|
@ -11,10 +11,7 @@
|
|||||||
namespace BeSimple\SoapBundle\Soap;
|
namespace BeSimple\SoapBundle\Soap;
|
||||||
|
|
||||||
use BeSimple\SoapBundle\Util\Collection;
|
use BeSimple\SoapBundle\Util\Collection;
|
||||||
|
|
||||||
use Symfony\Component\HttpFoundation\Request;
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
|
|
||||||
use Zend\Mime\Mime;
|
|
||||||
use Zend\Mime\Message;
|
use Zend\Mime\Message;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -11,14 +11,10 @@
|
|||||||
|
|
||||||
namespace BeSimple\SoapBundle;
|
namespace BeSimple\SoapBundle;
|
||||||
|
|
||||||
use BeSimple\SoapBundle\ServiceBinding\MessageBinderInterface;
|
|
||||||
use BeSimple\SoapBundle\ServiceBinding\ServiceBinder;
|
use BeSimple\SoapBundle\ServiceBinding\ServiceBinder;
|
||||||
use BeSimple\SoapBundle\ServiceDefinition\Dumper\DumperInterface;
|
|
||||||
|
|
||||||
use BeSimple\SoapCommon\Converter\TypeConverterCollection;
|
use BeSimple\SoapCommon\Converter\TypeConverterCollection;
|
||||||
use BeSimple\SoapWsdl\Dumper\Dumper;
|
use BeSimple\SoapWsdl\Dumper\Dumper;
|
||||||
use BeSimple\SoapServer\SoapServerBuilder;
|
use BeSimple\SoapServer\SoapServerBuilder;
|
||||||
|
|
||||||
use Symfony\Component\Config\ConfigCache;
|
use Symfony\Component\Config\ConfigCache;
|
||||||
use Symfony\Component\Config\Loader\LoaderInterface;
|
use Symfony\Component\Config\Loader\LoaderInterface;
|
||||||
|
|
||||||
@ -30,8 +26,6 @@ use Symfony\Component\Config\Loader\LoaderInterface;
|
|||||||
*/
|
*/
|
||||||
class WebServiceContext
|
class WebServiceContext
|
||||||
{
|
{
|
||||||
private $converterRepository;
|
|
||||||
|
|
||||||
private $options;
|
private $options;
|
||||||
|
|
||||||
private $serviceDefinition;
|
private $serviceDefinition;
|
||||||
|
@ -90,7 +90,7 @@ class MimeFilter implements SoapRequestFilter, SoapResponseFilter
|
|||||||
|
|
||||||
// TODO
|
// TODO
|
||||||
$headers = $multipart->getHeadersForHttp();
|
$headers = $multipart->getHeadersForHttp();
|
||||||
list($name, $contentType) = explode(': ', $headers[0]);
|
list(, $contentType) = explode(': ', $headers[0]);
|
||||||
|
|
||||||
$request->setContentType($contentType);
|
$request->setContentType($contentType);
|
||||||
}
|
}
|
||||||
|
@ -13,7 +13,6 @@
|
|||||||
namespace BeSimple\SoapClient;
|
namespace BeSimple\SoapClient;
|
||||||
|
|
||||||
use BeSimple\SoapCommon\SoapResponse as CommonSoapResponse;
|
use BeSimple\SoapCommon\SoapResponse as CommonSoapResponse;
|
||||||
use BeSimple\SoapCommon\SoapMessage;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* SoapResponse class for SoapClient. Provides factory function for response object.
|
* SoapResponse class for SoapClient. Provides factory function for response object.
|
||||||
|
@ -14,16 +14,12 @@ namespace BeSimple\SoapClient;
|
|||||||
|
|
||||||
use ass\XmlSecurity\DSig as XmlSecurityDSig;
|
use ass\XmlSecurity\DSig as XmlSecurityDSig;
|
||||||
use ass\XmlSecurity\Enc as XmlSecurityEnc;
|
use ass\XmlSecurity\Enc as XmlSecurityEnc;
|
||||||
use ass\XmlSecurity\Key as XmlSecurityKey;
|
|
||||||
use ass\XmlSecurity\Pem as XmlSecurityPem;
|
|
||||||
|
|
||||||
use BeSimple\SoapCommon\FilterHelper;
|
use BeSimple\SoapCommon\FilterHelper;
|
||||||
use BeSimple\SoapCommon\Helper;
|
use BeSimple\SoapCommon\Helper;
|
||||||
use BeSimple\SoapCommon\SoapRequest as CommonSoapRequest;
|
use BeSimple\SoapCommon\SoapRequest as CommonSoapRequest;
|
||||||
use BeSimple\SoapCommon\SoapRequestFilter;
|
use BeSimple\SoapCommon\SoapRequestFilter;
|
||||||
use BeSimple\SoapCommon\SoapResponse as CommonSoapResponse;
|
use BeSimple\SoapCommon\SoapResponse as CommonSoapResponse;
|
||||||
use BeSimple\SoapCommon\SoapResponseFilter;
|
use BeSimple\SoapCommon\SoapResponseFilter;
|
||||||
use BeSimple\SoapCommon\WsSecurityKey;
|
|
||||||
use BeSimple\SoapCommon\WsSecurityFilterClientServer;
|
use BeSimple\SoapCommon\WsSecurityFilterClientServer;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -214,7 +210,7 @@ class WsSecurityFilter extends WsSecurityFilterClientServer implements SoapReque
|
|||||||
$referenceList = XmlSecurityEnc::createReferenceList($encryptedKey);
|
$referenceList = XmlSecurityEnc::createReferenceList($encryptedKey);
|
||||||
// token reference to encrypted key
|
// token reference to encrypted key
|
||||||
$keyInfo = $this->createKeyInfo($filterHelper, self::TOKEN_REFERENCE_SECURITY_TOKEN, $guid);
|
$keyInfo = $this->createKeyInfo($filterHelper, self::TOKEN_REFERENCE_SECURITY_TOKEN, $guid);
|
||||||
$nodes = $this->createNodeListForEncryption($dom, $security);
|
$nodes = $this->createNodeListForEncryption($dom);
|
||||||
foreach ($nodes as $node) {
|
foreach ($nodes as $node) {
|
||||||
$type = XmlSecurityEnc::ELEMENT;
|
$type = XmlSecurityEnc::ELEMENT;
|
||||||
if ($node->localName == 'Body') {
|
if ($node->localName == 'Body') {
|
||||||
|
@ -14,13 +14,8 @@ namespace BeSimple\SoapClient;
|
|||||||
|
|
||||||
use BeSimple\SoapCommon\FilterHelper;
|
use BeSimple\SoapCommon\FilterHelper;
|
||||||
use BeSimple\SoapCommon\Helper;
|
use BeSimple\SoapCommon\Helper;
|
||||||
use BeSimple\SoapCommon\Mime\MultiPart as MimeMultiPart;
|
|
||||||
use BeSimple\SoapCommon\Mime\Parser as MimeParser;
|
|
||||||
use BeSimple\SoapCommon\Mime\Part as MimePart;
|
|
||||||
use BeSimple\SoapCommon\SoapRequest;
|
use BeSimple\SoapCommon\SoapRequest;
|
||||||
use BeSimple\SoapCommon\SoapRequestFilter;
|
use BeSimple\SoapCommon\SoapRequestFilter;
|
||||||
use BeSimple\SoapCommon\SoapResponse;
|
|
||||||
use BeSimple\SoapCommon\SoapResponseFilter;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* XML MIME filter that fixes the namespace of xmime:contentType attribute.
|
* XML MIME filter that fixes the namespace of xmime:contentType attribute.
|
||||||
|
@ -12,7 +12,6 @@
|
|||||||
|
|
||||||
namespace BeSimple\SoapCommon\Converter;
|
namespace BeSimple\SoapCommon\Converter;
|
||||||
|
|
||||||
use BeSimple\SoapCommon\Helper;
|
|
||||||
use BeSimple\SoapCommon\Mime\Part as MimePart;
|
use BeSimple\SoapCommon\Mime\Part as MimePart;
|
||||||
use BeSimple\SoapCommon\SoapKernel;
|
use BeSimple\SoapCommon\SoapKernel;
|
||||||
use BeSimple\SoapCommon\Converter\SoapKernelAwareInterface;
|
use BeSimple\SoapCommon\Converter\SoapKernelAwareInterface;
|
||||||
|
@ -14,9 +14,6 @@
|
|||||||
namespace BeSimple\SoapCommon;
|
namespace BeSimple\SoapCommon;
|
||||||
|
|
||||||
use BeSimple\SoapCommon\Mime\Part as MimePart;
|
use BeSimple\SoapCommon\Mime\Part as MimePart;
|
||||||
|
|
||||||
use BeSimple\SoapCommon\Converter\MtomTypeConverter;
|
|
||||||
use BeSimple\SoapCommon\Converter\SwaTypeConverter;
|
|
||||||
use BeSimple\SoapCommon\SoapRequest;
|
use BeSimple\SoapCommon\SoapRequest;
|
||||||
use BeSimple\SoapCommon\SoapResponse;
|
use BeSimple\SoapCommon\SoapResponse;
|
||||||
use BeSimple\SoapCommon\SoapRequestFilter;
|
use BeSimple\SoapCommon\SoapRequestFilter;
|
||||||
|
@ -13,8 +13,6 @@
|
|||||||
|
|
||||||
namespace BeSimple\SoapCommon;
|
namespace BeSimple\SoapCommon;
|
||||||
|
|
||||||
use BeSimple\SoapCommon\Mime\Part as MimePart;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Base class for SoapRequest and SoapResponse.
|
* Base class for SoapRequest and SoapResponse.
|
||||||
*
|
*
|
||||||
|
@ -16,13 +16,8 @@ use ass\XmlSecurity\DSig as XmlSecurityDSig;
|
|||||||
use ass\XmlSecurity\Enc as XmlSecurityEnc;
|
use ass\XmlSecurity\Enc as XmlSecurityEnc;
|
||||||
use ass\XmlSecurity\Key as XmlSecurityKey;
|
use ass\XmlSecurity\Key as XmlSecurityKey;
|
||||||
use ass\XmlSecurity\Pem as XmlSecurityPem;
|
use ass\XmlSecurity\Pem as XmlSecurityPem;
|
||||||
|
|
||||||
use BeSimple\SoapCommon\FilterHelper;
|
use BeSimple\SoapCommon\FilterHelper;
|
||||||
use BeSimple\SoapCommon\Helper;
|
use BeSimple\SoapCommon\Helper;
|
||||||
use BeSimple\SoapCommon\SoapRequest as CommonSoapRequest;
|
|
||||||
use BeSimple\SoapCommon\SoapRequestFilter;
|
|
||||||
use BeSimple\SoapCommon\SoapResponse as CommonSoapResponse;
|
|
||||||
use BeSimple\SoapCommon\SoapResponseFilter;
|
|
||||||
use BeSimple\SoapCommon\WsSecurityKey;
|
use BeSimple\SoapCommon\WsSecurityKey;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -247,11 +242,10 @@ abstract class WsSecurityFilterClientServer
|
|||||||
* Create a list of \DOMNodes that should be encrypted.
|
* Create a list of \DOMNodes that should be encrypted.
|
||||||
*
|
*
|
||||||
* @param \DOMDocument $dom DOMDocument to query
|
* @param \DOMDocument $dom DOMDocument to query
|
||||||
* @param \DOMElement $security Security element
|
|
||||||
*
|
*
|
||||||
* @return \DOMNodeList
|
* @return \DOMNodeList
|
||||||
*/
|
*/
|
||||||
protected function createNodeListForEncryption(\DOMDocument $dom, \DOMElement $security)
|
protected function createNodeListForEncryption(\DOMDocument $dom)
|
||||||
{
|
{
|
||||||
$xpath = new \DOMXPath($dom);
|
$xpath = new \DOMXPath($dom);
|
||||||
$xpath->registerNamespace('SOAP-ENV', $dom->documentElement->namespaceURI);
|
$xpath->registerNamespace('SOAP-ENV', $dom->documentElement->namespaceURI);
|
||||||
|
@ -174,7 +174,7 @@ class WsdlHandler
|
|||||||
return true;
|
return true;
|
||||||
// type/* match
|
// type/* match
|
||||||
} else {
|
} else {
|
||||||
list($ctype, $csubtype) = explode('/', $currentMimeType);
|
list($ctype) = explode('/', $currentMimeType);
|
||||||
foreach ($mimeTypes as $mimeType) {
|
foreach ($mimeTypes as $mimeType) {
|
||||||
list($type, $subtype) = explode('/', $mimeType);
|
list($type, $subtype) = explode('/', $mimeType);
|
||||||
if ($subtype == '*' && $type == $ctype) {
|
if ($subtype == '*' && $type == $ctype) {
|
||||||
|
@ -130,7 +130,7 @@ class MimeFilter implements SoapRequestFilter, SoapResponseFilter
|
|||||||
|
|
||||||
// TODO
|
// TODO
|
||||||
$headers = $multipart->getHeadersForHttp();
|
$headers = $multipart->getHeadersForHttp();
|
||||||
list($name, $contentType) = explode(': ', $headers[0]);
|
list(, $contentType) = explode(': ', $headers[0]);
|
||||||
|
|
||||||
$response->setContentType($contentType);
|
$response->setContentType($contentType);
|
||||||
}
|
}
|
||||||
|
@ -14,16 +14,12 @@ namespace BeSimple\SoapServer;
|
|||||||
|
|
||||||
use ass\XmlSecurity\DSig as XmlSecurityDSig;
|
use ass\XmlSecurity\DSig as XmlSecurityDSig;
|
||||||
use ass\XmlSecurity\Enc as XmlSecurityEnc;
|
use ass\XmlSecurity\Enc as XmlSecurityEnc;
|
||||||
use ass\XmlSecurity\Key as XmlSecurityKey;
|
|
||||||
use ass\XmlSecurity\Pem as XmlSecurityPem;
|
|
||||||
|
|
||||||
use BeSimple\SoapCommon\FilterHelper;
|
use BeSimple\SoapCommon\FilterHelper;
|
||||||
use BeSimple\SoapCommon\Helper;
|
use BeSimple\SoapCommon\Helper;
|
||||||
use BeSimple\SoapCommon\SoapRequest as CommonSoapRequest;
|
use BeSimple\SoapCommon\SoapRequest as CommonSoapRequest;
|
||||||
use BeSimple\SoapCommon\SoapRequestFilter;
|
use BeSimple\SoapCommon\SoapRequestFilter;
|
||||||
use BeSimple\SoapCommon\SoapResponse as CommonSoapResponse;
|
use BeSimple\SoapCommon\SoapResponse as CommonSoapResponse;
|
||||||
use BeSimple\SoapCommon\SoapResponseFilter;
|
use BeSimple\SoapCommon\SoapResponseFilter;
|
||||||
use BeSimple\SoapCommon\WsSecurityKey;
|
|
||||||
use BeSimple\SoapCommon\WsSecurityFilterClientServer;
|
use BeSimple\SoapCommon\WsSecurityFilterClientServer;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -230,7 +226,7 @@ class WsSecurityFilter extends WsSecurityFilterClientServer implements SoapReque
|
|||||||
$referenceList = XmlSecurityEnc::createReferenceList($encryptedKey);
|
$referenceList = XmlSecurityEnc::createReferenceList($encryptedKey);
|
||||||
// token reference to encrypted key
|
// token reference to encrypted key
|
||||||
$keyInfo = $this->createKeyInfo($filterHelper, self::TOKEN_REFERENCE_SECURITY_TOKEN, $guid);
|
$keyInfo = $this->createKeyInfo($filterHelper, self::TOKEN_REFERENCE_SECURITY_TOKEN, $guid);
|
||||||
$nodes = $this->createNodeListForEncryption($dom, $security);
|
$nodes = $this->createNodeListForEncryption($dom);
|
||||||
foreach ($nodes as $node) {
|
foreach ($nodes as $node) {
|
||||||
$type = XmlSecurityEnc::ELEMENT;
|
$type = XmlSecurityEnc::ELEMENT;
|
||||||
if ($node->localName == 'Body') {
|
if ($node->localName == 'Body') {
|
||||||
|
@ -14,11 +14,6 @@ namespace BeSimple\SoapServer;
|
|||||||
|
|
||||||
use BeSimple\SoapCommon\FilterHelper;
|
use BeSimple\SoapCommon\FilterHelper;
|
||||||
use BeSimple\SoapCommon\Helper;
|
use BeSimple\SoapCommon\Helper;
|
||||||
use BeSimple\SoapCommon\Mime\MultiPart as MimeMultiPart;
|
|
||||||
use BeSimple\SoapCommon\Mime\Parser as MimeParser;
|
|
||||||
use BeSimple\SoapCommon\Mime\Part as MimePart;
|
|
||||||
use BeSimple\SoapCommon\SoapRequest;
|
|
||||||
use BeSimple\SoapCommon\SoapRequestFilter;
|
|
||||||
use BeSimple\SoapCommon\SoapResponse;
|
use BeSimple\SoapCommon\SoapResponse;
|
||||||
use BeSimple\SoapCommon\SoapResponseFilter;
|
use BeSimple\SoapCommon\SoapResponseFilter;
|
||||||
|
|
||||||
|
@ -14,7 +14,6 @@ namespace BeSimple\SoapWsdl\Dumper;
|
|||||||
|
|
||||||
use BeSimple\SoapCommon\Definition\Definition;
|
use BeSimple\SoapCommon\Definition\Definition;
|
||||||
use BeSimple\SoapCommon\Definition\Method;
|
use BeSimple\SoapCommon\Definition\Method;
|
||||||
use BeSimple\SoapCommon\Definition\Part;
|
|
||||||
use BeSimple\SoapCommon\Definition\Type\ArrayOfType;
|
use BeSimple\SoapCommon\Definition\Type\ArrayOfType;
|
||||||
use BeSimple\SoapCommon\Definition\Type\ComplexType;
|
use BeSimple\SoapCommon\Definition\Type\ComplexType;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user