Re: [SOAP] WS-Security and SOAP

[email protected] (Jeffery Fernandez)
Newsgroups php.soap
Message-ID <[email protected]>
Russell Jones wrote:
> Thanks for the tip - I am actually running SOAPui which has been very 
> helpful. The problem is that I dont know how to see what PHP is 
> sending. I feel like I am setting everything up correctly, but then I 
> get these meaningless-to-my-newbie-self messages. I wish there were a 
> way to just do something like echo $soapClient->rawxml; that would 
> just print out exactly what you are about to send the SOAP service, 
> just like I can click on the raw XML tab on SOAPui... Then I could 
> compare the two.
>
> Im about to get to the point though where Im just gonna have to pay 
> someone to figure out the authentication part, project is getting too 
> delayed on this one bug. 
>

do the following to debug the input and output:

try {

$client = new SoapClient("http://WSDL_URL", array("trace" => true, "exceptions" => true, 'soap_version' => SOAP_1_1));


        // Do your SOAP call here

	echo("<br />REQUEST :<br />" . htmlspecialchars($client->__getLastRequest()) . "<br />");
	echo("<br />RESPONSE:<br />" .htmlspecialchars($client->__getLastResponse()) . "<br />");

}
catch (SoapFault $ex)
{
	echo "Error:<br />" . nl2br($ex->faultcode) . '<br /><br />Error Details:<br />'. nl2br($ex->faultstring) . '<br />';
	
	echo("<br />REQUEST :<br />" . htmlspecialchars($client->__getLastRequest()) . "<br />");
	echo("<br />RESPONSE:<br />" .htmlspecialchars($client->__getLastResponse()) . "<br />");	
}


Please CC the mailing list in your responses.

cheers,
Jeffery

>  
> Russell Jones
> CTO Virante, Inc.
> [email protected] <mailto:[email protected]>
> 919-459-1035
>
>
> On Tue, Jun 16, 2009 at 9:40 PM, Jeffery Fernandez <[email protected] 
> <mailto:[email protected]>> wrote:
>
>     Russell Jones wrote:
>
>         I am running into a persistent issue trying to
>         authenticate/consume a SOAP
>         service. I am pretty new to this, especially WS-Security...
>
>         I am sending the following WS-Security header as I can tell,
>         but I am
>         getting the response "Not enough message parts were received
>         for the
>         operation", which seems to me about the most useless
>         fault/error response I
>         have ever received :) I am using the WSSecurity.class.php found on
>         phpclasses.org <http://phpclasses.org> to help with the
>         WS-Security
>
>         Anyway, there are a couple of questions that could help...
>
>         1. Is there a way to see the raw SOAP call that was sent?
>         envelope, headers,
>         body and all? That way I could compare it with what I know to
>         be a correct
>         call.
>          
>
>     Search for a tool called SoapUI. It will help you analyse the raw
>     soap data.
>
>     cheers,
>     Jeffery
>
>         2. Is there anything obvious that I am missing, or not so obvious?
>         3. How over my head am I?
>
>         THANKS!!!
>
>         /// HEADER SENT ///
>
>         <wsse:Security SOAP-ENV:mustUnderstand="1" xmlns:wsse="
>         http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd
>         ">
>         <wsse:UsernameToken wsu:Id="UsernameToken-6482120" xmlns:wsu="
>         http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd
>         ">
>         <wsse:Username>***</wsse:Username>
>         <wsse:Password Type="
>         http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText
>         ">****</wsse:Password>
>         <wsse:Nonce>GDZAIHA=</wsse:Nonce>
>         <wsu:Created xmlns:wsu="
>         http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd
>         ">2009-06-16T15:26:25Z</wsu:Created>
>         </wsse:UsernameToken>
>         </wsse:Security>
>         <customerId
>         xmlns="http://echo.ws.smi.fsecure.com">***</customerId>
>
>         ///
>
>         Fatal error: Uncaught SoapFault exception: [soap:Client] Not
>         enough message
>         parts were received for the operation. in
>         /var/www/html/soap/WSSecurity.class.php:70 Stack trace:
>
>         #0 /var/www/html/soap/WSSecurity.class.php(70):
>         SoapClient->__soapCall('sendEcho', Array, NULL,
>         Object(SoapHeader))
>         #1 /var/www/html/soap/echo.php(26):
>         WSSoapClient->__soapCall('sendEcho',
>         Array)
>         #2 /var/www/html/soap/soap-client.php(7):
>         include('/var/www/html/s...')
>         #3 {main} thrown in /var/www/html/soap/WSSecurity.class.php on
>         line 70
>
>
>
>         Russell Jones
>         CTO Virante, Inc.
>         [email protected] <mailto:[email protected]>
>         919-459-1035
>
>          
>
>
>
>     -- 
>     Internet Vision Technologies
>     Level 1, 520 Dorset Road
>     Croydon South
>     Victoria 3136
>     Phone: +61 3 9723 9399
>
>
>     -- 
>     PHP Soap Mailing List (http://www.php.net/)
>     To unsubscribe, visit: http://www.php.net/unsub.php
>
>


-- 
Internet Vision Technologies
Level 1, 520 Dorset Road
Croydon South
Victoria 3136
Phone: +61 3 9723 9399
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.