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