Bug #40318 [Com]: SOAP_ENC_OBJECT does not encode object properties with namespace

From: Date: Thu, 25 Jun 2020 13:30:20 +0000
Subject: Bug #40318 [Com]: SOAP_ENC_OBJECT does not encode object properties with namespace
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-227658@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=40318&edit=1

 ID:                 40318
 Comment by:         jasminedisouza70 at gmail dot com
 Reported by:        bink at eezi dot net dot au
 Summary:            SOAP_ENC_OBJECT does not encode object properties
                     with namespace
 Status:             Not a bug
 Type:               Bug
 Package:            SOAP related
 Operating System:   Redhat
 PHP Version:        5.2.0
 Assigned To:        dmitry
 Block user comment: N
 Private report:     N

 New Comment:

Optus provides many benefit for unite their networks. If you are an Optus customer then talented
with many benefit like discounted prices on recital tickets, cricket matches, and discounted offers
for shopping and so on. Optus assertion that their network is attain by 98.5% of the total
population in Australia. Optus Customer Service Number in terms of the mobile network is one of the
good you can identify in Australia. The mobile network provided by Optus is capable in bigger cities
and also around 700 towns in Australia. Optus has spend a lot in 4G service to provide good
networks.
https://www.helpdeskaustralia.com/optus-customer-service-number.html


Previous Comments:
------------------------------------------------------------------------
[2007-03-30 09:37:01] dmitry@php.net

Without WSDL file ext/soap cannot know that "val1" element must be namespace qualified and
it cannot guess which namespace to use.

WSDL file may specify the encoding rules for the soap header, but without WSDL we must not add any
namespace.

If you really need namespace qualification, but don't declare SOAP header in WSDL file, you can
add namespaces manually using SoapVar.
Replace header constructor with the following code and you will get that you like (or write proper
WSDL).


class headers {
  function __construct($val1, $val2){
    $this->val1 = new SoapVar($val1, XSD_STRING, NULL, NULL,
                              "val1", "http://url.com/namespace2");
    $this->val2 = new SoapVar($val2, XSD_STRING, NULL, NULL,
                              "val1", "http://url.com/namespace2");
  }
}

------------------------------------------------------------------------
[2007-02-16 02:11:50] bink at eezi dot net dot au

The WSDL shouldn't affect the encoding, unfortunately due to NDA issues, I can't send it
to you...

The error can be replicated with or without wsdl operation, the namespace still isn't set for
object properties when the object is encoded with a namespace.

------------------------------------------------------------------------
[2007-02-15 10:51:03] dmitry@php.net

Pleaseprovide the WSDL file.
I am not able to check your example without it.

------------------------------------------------------------------------
[2007-02-06 00:45:18] bink at eezi dot net dot au

I'm not able to test cvs, this is being used on our development and production servers. If
there is someone else out there with a server running cvs I coule setup a trial on it to see... Just
need shell access on a normal user....

------------------------------------------------------------------------
[2007-02-05 20:38:22] tony2001@php.net

Please try using this CVS snapshot:

  http://snaps.php.net/php5.2-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php5.2-win32-latest.zip



------------------------------------------------------------------------


The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at

    https://bugs.php.net/bug.php?id=40318


--
Edit this bug report at https://bugs.php.net/bug.php?id=40318&edit=1


Thread (18 messages)

« previous php.bugs (#227658) next »