The WSDL requires the following parameters:
<soapenv:Body>
<cai3:Set>
<cai3:MOId>
<gsm:param1>?</gsm:param1>
</cai3:MOId>
<cai3:MOAttributes>
<gsm:setSubscription a="?">
<gsm:custId>?</gsm:custId>
</gsm:setSubscription>
</cai3:MOAttributes>
</cai3:Set>
</soapenv:Body>
Using this simple SOAP client call:
$params = array(
'MOId' => array
(
'param1' => "test1",
),
'MOAttributes' => array
(
'setSubscription a=123' => array
(
'custId' => '123456'
)
)
);
$client = new SoapClient
($wsdl,
array(
'location' => "http://$ip:8080/services/CAI3G1.2",
'uri' => "http://$ip:8080/services/CAI3G1.2",
'exceptions' => true,
'cache_wsdl' => WSDL_CACHE_NONE,
'connection_timeout' => 5,
'trace' => 1,
'encoding'=>' UTF-8'
));
try {
$response = $client->Set($params);
} catch(Exception $e){
if ($debug) print_r($e);
return $e;
}
this is the following error:
[faultstring] => SOAP-ERROR: Encoding: object has no 'setSubscription' property
it seems like the white space in the XML parameter 'setSubscription a=123'
is not accepted by the WSDL, is there an encoding issue here?
NOTE: if I put the same request on soapUI client, it works fine, here is my SOAPUI request XML:
<soapenv:Body>
<cai3:Set>
<cai3:MOId>
<gsm:param1>test1</gsm:param1>
</cai3:MOId>
<cai3:MOAttributes>
<gsm:setSubscription a="123">
<gsm:custId>123456</gsm:custId>
</gsm:setSubscription>
</cai3:MOAttributes>
</cai3:Set>
</soapenv:Body>