PHP code example of goetas-webservices / soap-client
1. Go to this page and download the library: Download goetas-webservices/soap-client 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/ */
goetas-webservices / soap-client example snippets
// composer auto loader
n container class
// the name was defined by --dest-class=GlobalWeather/Container/SoapClientContainer
// parameter during the generation process
$container = new SoapClientContainer();
// create a JMS serializer instance
$serializer = SoapContainerBuilder::createSerializerBuilderFromContainer($container)->build();
// get the metadata from the container
$metadata = $container->get('goetas_webservices.soap.metadata_reader');
$factory = new ClientFactory($metadata, $serializer);
/**
* @var $client \GlobalWeather\SoapStubs\WeatherSoap
*/
// get the soap client
$client = $factory->getClient('http://www.webservicex.net/weather.asmx?WSDL');
// call the webservice
$result = $client->getWeather(2010, "May", "USA");
// call the webservice with custom headers
$result = $client->getWeather(2010, "May", "USA", Header::asMustUnderstand(new SomeAuth('me', 'pwd')));
// SimpleEnvVarProcessor.php used for the `env(custom_vars:*)` variables resolution
use Symfony\Component\DependencyInjection\EnvVarProcessorInterface;
class SimpleEnvVarProcessor implements EnvVarProcessorInterface
{
private $map = [];
public function __construct(array $map)
{
$this->map = $map;
}
public function getEnv($prefix, $name, \Closure $getEnv)
{
return $this->map[$name];
}
public static function getProvidedTypes()
{
return [];
}
}
// instantiate our variable processor and set the values for our custom variables
$varProcessor = new SimpleEnvVarProcessor([
'ENDPOINT_SERVICE1_PORT1' => 'http://localhost:8080/service'
]);
// create an empty symfony container and set into it the $varProcessor namined as 'custom_vars'
$varContainer = new \Symfony\Component\DependencyInjection\Container();
$varContainer->set('custom_vars', $varProcessor);
// create the soap container and use $varContainer "env()" style variables resolution
$container = new SoapClientContainer();
$container->set('container.env_var_processors_locator', $varContainer);
// now $container can be used as explained in the section "Using the client"
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.