HI David,
I actually started out using classmaps (see beginning of this thread),
but was having problems which prompted me to mail here. Classmaps
seems to be the right way to do this, but something about my class and
my WSDL seems to be causing this not to work. See my last reply to
Michael Rasmussen in this thread for details.
Regards,
Morgan
David wrote:
Hi Morgan,
Morgan Pyne wrote:
Thx. The online documentation isn't terribly clear on all this and
says several of the functions/objects (SoapVar, SoapParam) are for
non-WSDL mode only, so I hadn't tried this. However, I just tried your
suggestion but unfortunately I'm still not getting the correct object
type on the server.
Your example below seems to be geared towards returning an object from
the server rather than passing one to it, so here is what I tried:
- Removed references on both client and server to a classmap
- On the client, changed the method call to pass a SoapParam instead
of directly passing my object i.e.
$client = new SoapClient('http://myurl.com/wsdl' );
$a = new someObj();
$b = new SoapParam($a, 'name_of_comlexType_from_WSDL');
$client->myRemoteMethod( $b );
On the server, the 'myRemoteMethod()' is simply displaying the object
type that it is passed. It is receiving the object as a 'StdClass',
instead of a 'someObj'
Is this the corrrect approach? Do I need to do anything additionally
on the server side?
Did you pass an classmap in the options array in your SoapClient /
SoapServer constructors? This is an associative array which allows the
soap server/client to map schema complexTypes to php classes
Kind regards,
David
--
PHP Soap Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php