Re: [SOAP] Re: E_ERROR in SoapClient

[email protected] (Paulo Azevedo)
Newsgroups php.soap
Message-ID <[email protected]>
Thanks for your answer.
Your code is complaining about loading the extension, not the WSDL file.

I've tried this code:
$client = new SoapClient( "http://127.0.0.1/nonexiting.wsdl",
    array(
        'exceptions' => true,
        'trace'    => true,
        'cache_wsdl' => WSDL_CACHE_NONE
    )
);

and it gives the error:
PHP Fatal error:  SOAP-ERROR: Parsing WSDL: Couldn't load from '
http://127.0.0.1/nonexiting.wsdl' : failed to load external entity "
http://127.0.0.1/nonexiting.wsdl"

As far as i know the 'exceptions' => true is set by default but it only
works for SoapFault exceptions.

2009/7/31 Richard Quadling <[email protected]>

> 2009/7/31 Richard Quadling <[email protected]>:
> > 2009/7/31 Paulo Azevedo <[email protected]>:
> >> My problem is that SoapClient triggers a E_ERROR ( Fatal Error ) instead
> of
> >> throwing an Exception.
> >> Since E_ERROR cannot be catchable I don't find a way to gracefully
> handly
> >> this problem.
> >>
> >> PHP Fatal error:  SOAP-ERROR: Encoding: object hasn't 'profileData'
> property
> >>
> >>
> >> Is there any way to gracefully catch this error?
> >>
> >> --
> >> -Paulo
> >> http://twitter.com/halufa
> >>
> >
> > You can tell the SoapClient to generate exceptions rather than errors.
> >
> > [1] "The exceptions option is a boolean value defining whether soap
> > errors throw exceptions of type SoapFault."
> >
> > Regards,
> >
> > Richard.
> >
> > [1] http://docs.php.net/manual/en/soapclient.soapclient.php
> > --
> > -----
> > Richard Quadling
> > Zend Certified Engineer :
> http://zend.com/zce.php?c=ZEND002498&r=213474731
> > "Standing on the shoulders of some very clever giants!"
> > ZOPA : http://uk.zopa.com/member/RQuadling
> >
>
> <?php
> try
>        {
>        $client=new SoapClient('
> http://api.rkd.reuters.com/schemas/wsdl/Charts_1_HttpAndRKDToken.wsdl',
> array('exceptions' => True));
>        }
> catch(Exception $exception)
>        {
>        echo $exception;
>        }
> echo 'Finished';
>
>
> outputs ...
>
> SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Unknown required
> WSDL extension 'http://schemas.xmlsoap.org/wsdl/soap/' in
> Z:\soapbad.php:4
> Stack trace:
> #0 Z:\soapbad.php(4): SoapClient->SoapClient('http://api.rkd....', Array)
> #1 {main}Finished
>
>
>
> --
> -----
> Richard Quadling
> Zend Certified Engineer : http://zend.com/zce.php?c=ZEND002498&r=213474731
> "Standing on the shoulders of some very clever giants!"
> ZOPA : http://uk.zopa.com/member/RQuadling
>



-- 
-Paulo
http://twitter.com/halufa
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.