Problems with SOAP_Fault

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

 



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