SoapClient: __doRequest doesn't get XML SOAP Request in its $request parameter?

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Florian Laws

    SoapClient: __doRequest doesn't get XML SOAP Request in its $request parameter?


    Hello,

    to work around an interoperabilit y problem with the PHP5 SOAP extension,
    I'd like to modify the generate XML SOAP request.
    (as described in

    )

    To acheive this, I subclass SoapClient and overwrite the __doRequest()
    method. According to the PHP documentation and the article above, the
    $request Parameter of __doRequest() should contain the entire XML SOAP
    Request. However, in my test it only contains the parameter of the SOAP
    call.

    Here is my code:

    ---
    class MySoapClient extends SoapClient
    {

    public function __doRequest($re quest, $location, $action, $version)
    {
    var_dump($reque st);
    // modify XML SOAP request here later
    return parent::__doReq uest($request, $location, $action, $version);
    }
    }

    $wsdl = "http://localhost:8080/geodirectoryws/geodirectoryws? WSDL"
    $soapclient = new MySoapClient($w sdl);
    $soapclient->getIPInfo(arra y("192.168.1.1" );
    ---

    I expect to see the entire XML as output of the var_dump() call, but
    I only get 'string(285) "194.120.109.9" '
    This happens with both PHP 5.0.4 and 5.2.0.

    Am I doing something wrong, or is this a bug in PHP or the PHP documentation?

    Thanks,

    Florian
    "
Working...