You have to use SoapVar instead of SoapParam if you want it to do something fancy like using different opening and closing tags. I ran into this using the SOAP API for Zimbra.
SoapParam->__construct
(No version information available, might be only in CVS)
SoapParam->__construct — SoapParam constructor
Parâmetros
- data
-
The data to pass or return. You can pass this parameter directly as PHP value, but in this case it will be named as paramN and the SOAP Service may not understand it.
- name
-
The parameter name.
Exemplos
Exemplo #1 Some examples
<?php
$client = new SoapClient(null,array('location' => "http://localhost/soap.php",
'uri' => "http://test-uri/"));
$client->SomeFunction(new SoapParam($a, "a"),
new SoapParam($b, "b"),
new SoapParam($c, "c"));
?>
User Contributed Notes
SoapParam->__construct
SoapParam->__construct
barryking93 at gmail dot com
05-Dec-2007 08:42
05-Dec-2007 08:42
Jeremy
12-Jul-2007 12:31
12-Jul-2007 12:31
Is there anyway to create a SOAP parameter like:
<a n="something">DATA</a>
If I try to form a param using the following code the resulting request is:
Code: SoapParam("DATA", "a n=\"something\"");
Result: <a n="something">DATA</a n="something">
This is giving me an error from the SOAP server because its expecting a properly formed closing tag without the encapsulated attribute.

SoapHeader->__construct