Exemplo de código em PHP para construir o cabeçalho SOAP HEADER

Segue um exemplo PHP para lhe ajudar a construir o cabeçalho SOAP:

//Geração do header
	
	$client = new soapClient("https://secure.payzen.com.br/vads-ws/v5?wsdl", $options = array(
			'trace'=>1, 
			'exceptions'=> 0, 			
			'encoding' => 'UTF-8',
			'soapaction' => '')
		);	

	//Cálculo dos valores para ser transmitidos no cabeçalho	

	$ns = 'http://v5.ws.vads.lyra.com/Header/';					
	$shopId = "12345678";
	$requestId = gen_uuid();
	$timestamp = gmdate("Y-m-d\TH:i:s\Z");
	$mode = "TEST";
	$authToken = base64_encode(hash_hmac('sha256',$requestId.$timestamp, $key, true));		
				
	//Criação dos cabeçalhos shopId, requestId, timestamp, mode e authToken
		
	$headerShopId = new SOAPHeader($ns, 'shopId', $shopId);
	$headerRequestId = new SOAPHeader($ns, 'requestId', $requestId);
	$headerTimestamp = new SOAPHeader($ns, 'timestamp', $timestamp);
	$headerMode = new SOAPHeader($ns, 'mode', $mode);
	$headerAuthToken = new SOAPHeader($ns, 'authToken', $authToken);
				
	//Acrescentar cabeçalhos no SOAP Header
		
	$headers = array(
		$headerShopId,
		$headerRequestId,
		$headerTimestamp,
		$headerMode,
		$headerAuthToken 
	);
	
$client->__setSoapHeaders($headers);

Exemplos em diversas linguagens de programação são disponíveis na Internet.

  • Em JAVA

http://www.mkyong.com/webservices/jax-ws/jax-ws-soap-handler-in-client-side/

  • Em Visual Basic .NET

https://msdn.microsoft.com/en-fr/library/vstudio/whew6x7f(v=vs.100).aspx

http://forums.asp.net/t/1137408.aspx?Adding+information+to+the+SOAP+Header