PHP Classes

File: README.md

Recommend this page to a friend!
  Classes of WsdlToPhp   WsSecurity   README.md   Download  
File: README.md
Role: Documentation
Content type: text/markdown
Description: Documentation
Class: WsSecurity
Create header to set password for SOAP requests
Author: By
Last change:
Date: 6 years ago
Size: 3,750 bytes
 

Contents

Class file image Download

WsdlToPhp WsSecurity

License Latest Stable Version Build Status PHP 7 ready Scrutinizer Code Quality Code Coverage Total Downloads Dependency Status StyleCI SensioLabsInsight

How to use it

This repository contains multiple classes that may be used indepdently but for now it is easier/better to only use the WsSecurity class.

The WsSecurity class provides a static method that takes the parameters that should suffice to create your Ws-Security Username Authentication header required in your SOAP request.

Concretly, you must include this repository in your project using composer (composer require wsdltophp/wssecurity:dev-master) then use it such as:

use WsdlToPhp\WsSecurity\WsSecurity;

/
 * @var \SoapHeader
 */
$soapHeader = WsSecurity::createWsSecuritySoapHeader('login', 'password', true);
/
 * Send the request
 */
$soapClient = new \SoapClient('wsdl_url');
$soapClient->__setSoapHeaders($soapHeader);
$client->__soapCall('echoVoid', null);

The WsSecurity::createWsSecuritySoapHeader parameters are defined in this order ($username, $password, $passwordDigest = false, $addCreated = 0, $addExpires = 0, $returnSoapHeader = true, $mustunderstand = false, $actor = null, $usernameId = null):

  • $username: your login/username
  • $password: your password
  • $passwordDigest: set it to `true` if your password must be encrypted
  • $addCreated: set it to the time you created this header using the PHP time function for example, otherwise pass 0
  • $addExpires: set it to the number of seconds in which the header will expire, 0 otherwise
  • $returnSoapHeader: set it to false if you want to get the \SoapVar object that is used to create the \SoapHeader object, then you'll have to use to create by yourself the \SoapHeader object
  • $mustunderstand: classic option of the \SoapClient class
  • $actor: classic option of the \SoapClient class
  • $usernameId: the id to attach to the UsernameToken element, optional

Unit tests

You can run the unit tests with the following command at the root directory of this project:

$ phpunit

Feedback

Any feedback is appreciated at contact@wsdltophp.com or by creating an issue on this project.