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>