Re: SOAP client connecting to .net webservice

From: Date: Tue, 28 Aug 2007 13:43:34 +0000
Subject: Re: SOAP client connecting to .net webservice
References: 1 2 3  Groups: php.soap 
Request: Send a blank email to php-soap+get-2617@lists.php.net to get a copy of this message
Hello list! It seems I got my soap webservice client up and running with header authentication. Thank you all for the support. It leaves me with one question: Allthough the .net server doesn't have any problem with it, there is a mismatch in the namespace my php request: xmlns:ns1="http://www.itworks.nl/" the definition with the .net server: xmlns:itw="http://www.itworks.nl/" I would like to know if it is possible to give the alias "itw" to the namespace so it is replacing the default ns1 notation. Is it possible? <?php error_reporting(E_ALL); $ini = ini_set("soap.wsdl_cache_enabled","0"); //set up the service client using WSDL echo "Connecting to server using WSDL\n"; $client = new SoapClient("http://10.0.0.56:81/wssoilution/wsSoilution.asmx?WSDL", array('trace' => 1)); //var_dump($client->__getFunctions()); //var_dump($client->__getTypes()); $x["Username"]="milo"; $x["PasswordHash"]="111"; $x["Database"]="?"; //$x = new SoapVar($x, SOAP_ENC_OBJECT, "AuthenticationHeader", "http://www.itworks.nl/"); $header=new SoapHeader('http://www.itworks.nl/','AuthenticationHeader',$x); $client->__setSoapHeaders(array($header)); echo "SoapHeaders set sucessfully\n"; $params2 = array('yourName'=> 'T.Estuser'); try { //$result2 = $client->__soapCall('Hello',$params2, NULL,$header, $output_headers); $result = $client->Hello($params2); echo("REQUEST :\n" . $client->__getLastRequest() . "\n\n"); echo("RESPONSE:\n" .$client->__getLastResponse() . "\n\n"); } catch (SoapFault $exception) { echo $client->__getLastRequest(); echo $exception; } ?> Milo van der Linden schreef:
Thanks all, this seems to work. However I am stuck with trying to get authentication that is in the header now. What I want to see very desperatly is the content of the SoapClient in XML BEFORE it is sent, is this possible? Ammarmar schreef:
Dnia 27-08-2007 o 21:32:21 Milo van der Linden <milo@3dsite.nl> napisał(a):
$x=new SoapVar($x,SOAP_ENC_OBJECT); $y["AuthenticationHeader"]=$x; $y=new SoapVar($y,SOAP_ENC_OBJECT); I cannot figure out how to set the namespace parameters!
You can specify the namespace (and type name) in SoapVar constructor, e.g: $x = new SoapVar($x, SOAP_ENC_OBJECT, "AuthenticationHeader", "http://www.itworks.nl/"); see manual: http://php.net/manual/en/function.soap-soapvar-construct.php


« previous php.soap (#2617) next »