|
Posted by Matthew on April 23, 2008, 6:20 am
Please log in for more thread options
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:
show/hide quoted text
<portType name="PTClassA"> ... </portType>
<portType name="PTClassB"> ... </portType>
show/hide quoted text
<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) {
show/hide quoted text
[0]=>
string(33) "record_t getFoo(record_t $params)"
show/hide quoted text
[1]=>
string(33) "struct_t getBar(struct_t $params)"
show/hide quoted text
[2]=>
string(38) "record_t getFoo(record_t $params)"
show/hide quoted text
[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
|
<portType name="PTClassB"> ... </portType>