PHP code example of ibsciss / zend-soap-service-provider
1. Go to this page and download the library: Download ibsciss/zend-soap-service-provider library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
ibsciss / zend-soap-service-provider example snippets
$app = new Application();
$app->register(new ZendSoapServiceProvider());
//client method call
$app['soap.client']->methodCall();
//server handling
$app['soap.server']->handle();
//during registration
$app->register(new ZendSoapServiceProvider(), array(
'soap.instances' => array(
'connection_one',
'connection_two'
)
));
// --- OR ---
$app->register(new ZendSoapServiceProvider());
$app['soap.instances'] = array(
'connection_one',
'connection_two'
);
$app['soap.clients']['connection_one']; //same as $app['soap.client'];
$app['soap.servers']['connection_two'];
//during registration
$app->register(new ZendSoapServiceProvider(), array(
'soap.wsdl' => '<wsdl></wsdl>';
));
// --- OR ---
$app['soap.wsdl'] = '<wsdl></wsdl>';
$app['soap.server']->getWsdl(); //return <wsdl></wsdl>
//during registration
$app->register(new ZendSoapServiceProvider(), array(
'soap.wsdl' => '<wsdl></wsdl>',
'soap.instances' => array(
'connection_one',
'connection_two' => array('wsdl' => '<wsdl>anotherOne</wsdl>')
);
));
// --- OR ---
$app['soap.wsdl'] = '<wsdl></wsdl>';
$app['soap.instances'] = array(
'connection_one'
'connection_two' => array('wsdl' => '<wsdl>anotherOne</wsdl>')
);
//if you provide one wsdl per instance you don't have to specify a global one
$app->register(new ZendSoapServiceProvider(), array(
'soap.instances' => array(
'connection_one' => array('wsdl' => '<wsdl></wsdl>'),
'connection_two' => array('wsdl' => '<wsdl>anotherOne</wsdl>')
);
));
$app['soap.servers']['connection_one']->getWsdl() //return <wsdl></wsdl>
$app['soap.servers']['connection_two']->getWsdl() //return <wsdl>anotherOne</wsdl>
//enable:
$app['soap.server']->setDebugMode(true);
//disable:
$app['soap.server']->setDebugMode(false);
$app['soap.server']->fault(new \Exception('test'));
$app['soap.server']->getException(); //return the Exception instance given as attribute to the fault method.
$app['soap.server']->getSoap()->fault(new \SoapFault('an error occured'));
//global level
$app->register(new ZendSoapServiceProvider());
$app['soap.server.class'] = '\stdClass';
$app['soap.client.class'] = '\stdClass';
$app['soap.client']; //instanceOf stdClass;
$app['soap.server']; //instanceOf stdClass;
//----------------
//you can also override at the instance scope
$app = new Application();
$app->register(new ZendSoapServiceProvider(), array(
'soap.instances' => array(
'connection_one' => array('server.class' => '\stdClass'),
'connection_two' => array('client.class' => '\stdClass')
)
));
$app['soap.clients']['connection_one']; //instanceOf Zend\Soap\Client
$app['soap.servers']['connection_one']; //instanceOf stdClass
$app['soap.clients']['connection_two']; //instanceOf stdClass
$app['soap.servers']['connection_two']; //instanceOf Zend\Soap\Server
$app->register(new ZendSoapServiceProvider(), array(
'soap.version' => SOAP_1_1
));
// ----- OR -----
$app['soap.version'] = SOAP_1_1;
//results :
$app['soap.client']->getSoapVersion(); // SOAP_1_1;
$app['soap.server']->getSoapVersion(); // SOAP_1_1;
// -----------------------
//like others options, you can define it at the instance level :
$app->register(new ZendSoapServiceProvider(), array(
'soap.instances' => array(
'connection_one' => array('version' => SOAP_1_1),
'connection_two' => array('dotNet' => true),
'connection_three'
)
));
$app['soap.clients']['connection_one']->getSoapVersion(); // SOAP_1_1
$app['soap.servers']['connection_one']->getSoapVersion(); // SOAP_1_1
//dotNet use 1.1 by default;
$app['soap.clients']['connection_two']->getSoapVersion(); // SOAP_1_1
$app['soap.servers']['connection_two']->getSoapVersion(); // SOAP_1_2
//default config
$app['soap.clients']['connection_three']->getSoapVersion(); // SOAP_1_2
$app['soap.servers']['connection_three']->getSoapVersion(); // SOAP_1_2
$app['soap.dotNet'] = true;
$app['soap.client'] // instanceOf Zend\Soap\Client\DotNet
//you can also define it at the instance scope
$app->register(new ZendSoapServiceProvider(), array(
'soap.instances' => array(
'connection_one' => array('dotNet' => true),
'connection_two'
)
));
$app['soap.clients']['connection_one']; //instanceOf Zend\Soap\Client\DotNet
$app['soap.clients']['connection_two']; //instanceOf Zend\Soap\Client
$app['soap.instances'] = array(
'connection_two' => array(
'wsdl' => '<wsdl>anotherOne</wsdl>',
'client.class' => '\stdClass',
'server.class' => '\stdClass',
'dotNet' => true,
'client.dotNet.class' => '\stdClass',
'version' => SOAP_1_1
)
);