WSDL / SOAP function namespaces

Hi - apologies in advance if this is the wrong list for the following
php/soap related question; would appreciate a pointer to the right
group.

The quick way to phrase my question is - is the SOAP function
namespace flattened?

In other words, I have a single WSDL file with something like the
following:

<portType name="PTClassA"> ... </portType>
<portType name="PTClassB"> ... </portType>

<binding name='BindingA' type='tns:PTClassA">
<operation name="getFoo"> ... </operation>
<operation name="getBar"> ... </operation>
</binding>
<binding name='BindingB' type='tns:PTClassB">
<operation name="getFoo"> ... </operation>
<operation name="getBar"> ... </operation>
</binding>

The point is that the namespaces for each are different, but the
function names (getFoo, getBar) are the same. Is this allowed? On
the client and server side, I have getFoo/getBar inside their
respective ClassA / ClassB namespaces, but the output from
__getFunctions on the client side is simply:

array(4) {
[0]=>
string(33) "record_t getFoo(record_t $params)"
[1]=>
string(33) "struct_t getBar(struct_t $params)"
[2]=>
string(38) "record_t getFoo(record_t $params)"
[3]=>
string(38) "struct_t getBar(struct_t $params)"
}

which means the correct function references are being loaded, but it
looks like the classnames (the first getFoo / getBar are in class
ClassA, the second pair in class ClassB) are not retained. I seem to
have no way to tell the SoapClient to call ClassB::getFoo.

I would appreciate any pointers on this; worst-case scenario I have to
assume a flat namespace and have unique function names for everything,
which is not ideal ...

tia,
matt
matthew [ Mi, 23 April 2008 12:20 ] [ ID #1948711 ]
PHP » comp.lang.php » WSDL / SOAP function namespaces

Vorheriges Thema: how to count logged users in php
Nächstes Thema: open source my ERP