Re: Problems with SOAP_Fault

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Chris,

    You almost have it.  You just need to return the fault, not the message
of the fault.  What I do is declare a $retVal and place either the results
of my method, or the fault in that and return it.

i.e.

$retVal = 1;

if (!true) {
   $retVal = new SOAP_Fault("Expecting True", "Server", "MyNamespace", 1);
}

return $retVal;

Rob

"Chris Covell" <chris.covell@gmail.com> wrote in message
a0f929830407190139439fbed8@mail.gmail.com">news:a0f929830407190139439fbed8@mail.gmail.com...
> Hello there, Al tells me I am on the right list, so here is my question...
>
> As a bit of background, I am using pear SOAP 0.8RC3 beta under
php-4.3.4-1.1.
>
> I have a soap server process that works fine ! I have agot a client
> that connects to it fine also. I have adopted the technique of using
> the dispatch_map so that a wsdl is created automagically:
>
>                 $this->__dispatch_map['request'] =
>                 array(  'in' => array('input' => 'string'),
>                         'out' => array('return string' => 'string'),
>                 );
>
> As you can see I have defined in and out parameters as strings.
>
> Now, I have a customer connecting to this server using a Java client.
> He has built his client based on my wsdl. He wants me to return errors
> as soap faults. I am doing it like this:
>
>                 $fault = new SOAP_Fault('Does not exist', '99');
>                 return  $fault->message();
>
> The trouble is that he is seeing the SOAP fault data, but it is
> wrapped up in a string, this is what he describes:
>
> "In case of error I expect your service to return something like this:
>
> <http>
>   <soap:fault/>
> </http>
>
> But actually your service is returning something like this:
>
> <http>
>   <soap:return>
>     &lt;soap:fault/gt&;
>   </soap:return>
> </http>
>
> The SOAP Fault is actually "masked" inside a normal result. In my
> opinion you have do make a little change in your WSDL to define the
> possible returned faults."
>
> So my question is:
>
> How do I return a soap fault in the way he describes ? Can I define a
> "fault" out in my dispatch map -> wsdl ?
>
> Hopefully you can help me !
>
> Chris...

-- 
PHP Soap Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [PHP Users]     [Kernel Newbies]     [PHP Database]     [Yosemite]

  Powered by Linux