Thanks for the response! I'm not sure if that's what I need as that
seems mostly for callback and I think I have a data structure problem
in the PHP SOAP extension itself (although it's most likely my error =).
To elaborate a little further, I need to make a call to the sever
like the following:
<soap-env:body>
<myDatatype attr="myAttrValue">
<otherContent>
<value>myValue</value>
</otherContent>
</myDataType>
</soap-env:body>
I've redone wsdl2php to provide me with the classes directly from the
WSDL such that it will parse a WSDL so that I can call:
<?
$service = new SOAPSomeServiceDefinedInAWsdl();
$myDataType = new SOAPMyDataType();
$myDataType->otherContent = new SOAPOtherContent();
$myDataType->otherContent->myValue = "myValue";
$service->callSomeMethodOnTheirSoapServer($myDataType);
?>
But this only produces:
<soap-env:body>
<myDatatype>
<otherContent>
<value>myValue</value>
</otherContent>
</myDataType>
</soap-env:body>
MyDataType is missing it's attribute myAttr! The wsdl2php PHP
generator does keep track of attributes defined in the WSDL now
(well, in my version at least), so if there's a way to make the call
properly using those attributes I should be able to do it. I can
tweak it so that it sets defaults on attributes if they are
available, but I'm not sure if that's always going to be reliable.
I assume I'm missing something like call_user_func_array, but I don't
see how that helps exactly... It seems like it's a data structure
problem inherent in the call... ?
Thanks for the help Claus =)
~ Andrew
On May 1, 2007, at 6:27 PM, Claus Jørgensen wrote:
Hey
You have to use call_user_func_array if you wish to call a method
with a dynamical array of parameters.
$service->method() is threated like normal objects in PHP.
2007/5/2, Andrew Ettinger <aettinger@airadvice.com>:
How can I set up attributes? I know I can do:
$result = $service->method(array("param1"=>"value",
"param2"=>"value2"));
But this doesn't set up attributes. Does this have to be done in an
override of the __doRequest method call or something?
--
Sincerely
Claus Jørgensen, Denmark
Mobil: +45 30 13 27 32
http://www.dragons-lair.org