php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #39738 __doRequest cannot modify XML..
Submitted: 2006-12-05 01:23 UTC Modified: 2006-12-05 17:47 UTC
From: jfitz at spacelink dot com Assigned: dmitry (profile)
Status: Not a bug Package: SOAP related
PHP Version: 5.2.0 OS: FreeBSD 6.1
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: jfitz at spacelink dot com
New email:
PHP Version: OS:

 

 [2006-12-05 01:23 UTC] jfitz at spacelink dot com
Description:
------------
I am attempting to massage XML before transmission in the __doRequest method of SoapClient.  I have made modifications here but PHP does not seem to be using my modified version.

XML that is sent is not the XML I have modified but rather the XML as it existed prior to my modification.

This is the PHP config.nice.

#! /bin/sh
#
# Created by configure

'./configure' \
'--with-apache=../apache_1.3.37' \
'--enable-track-vars' \
'--with-dom' \
'--with-zlib' \
'--with-gettext' \
'--with-xmlrpc' \
'--with-soap' \
'--enable-soap' \
'--with-openssl' \
"$@"

Reproduce code:
---------------
Code looks, in brief, like this:

ss mySoap extends SoapClient {        
   function __doRequest($request, $location, $saction, $version) {      
  <..modify $request here..>
  return parent::__doRequest($request, $location, $saction, $version);
}

Expected result:
----------------
Expect the transmitted XML to incorporate the edits I made in the __doRequest member.


Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2006-12-05 15:17 UTC] dmitry@php.net
I cannot reproduce the bug.
SoapServer gets modified XML fine.

Please provise full example.

Note that trace returned by __getLastRequest() is stored before call to __doRequest(), so modification inside __doRequest() is not visible through __getLastRequest().
 [2006-12-05 17:47 UTC] jfitz at spacelink dot com
Yes, this bug should be closed.  Modification in __doRequest is OK.  I was mislead by taking output of __getLastRequest to be accurate representation of final transmission to the server.  Unfortunately monitoring server could not easily be accomplished - its not under our control and uses SSL so __getLastRequest is all I had to go on. :(

Perhaps __getLastRequest should be bugged for update in future so its information is stored just prior to transmission?
 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Fri May 09 15:01:27 2025 UTC