WSDL Question
| From: | Jonathan Pitcher | Date: | Thu, 29 Nov 2007 20:42:03 +0000 |
| Subject: | WSDL Question | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-265249@lists.php.net to get a copy of this message | ||
For the lasts day I have been fighting with PHP, and WSDL calls to a thrid
party provider.
Here is what the call needs to look like:
<SOAP-ENV:Body>
<ns1:ModifyOrganizationRequest>
<ns1:accountIdentifier>
<ns1:account>root</ns1:account>
</ns1:accountIdentifier>
<ns1:orgID>IperiaTestOrg</ns1:orgID>
<ns1:suspended>false</ns1:suspended>
<ns1:serviceSettingCollection>
<ns1:serviceSetting>
<ns1:type>SUBSCRIBER_DEFINED_TRANSFER_NUMBER</ns1:type>
<ns1:value>6179672983</ns1:value>
</ns1:serviceSetting>
<ns1:serviceSetting>
<ns1:type>TIMEZONE</ns1:type>
<ns1:value>US/CENTRAL</ns1:value>
</ns1:serviceSetting>
</ns1:serviceSettingCollection>
</ns1:ModifyOrganizationRequest>
</SOAP-ENV:Body>
I can generate most of the code in fact I can generate all of it but the
Double service setting.
Here is my relevant PHP code.
$SDT = $portal->get_post('SDT');
$SDT = new SoapVar(array('ns1:type' => 'SUBSCRIBER_DEFINED_TRANSFER_ON',
'ns1:value' => $SDT), SOAP_ENC_OBJECT);
$setting_info = array(array('ns1:serviceSetting' => $SDT));
// Getting Iperia Soap Object ...
$soap_iperia = $portal->load_special_object('soap_iperia');
$find_account_obj->accountIdentifier = new SoapVar(array('ns1:account' =>
'root'), SOAP_ENC_OBJECT);
$find_account_obj->orgID = new SoapVar('IperiaTestOrg', XSD_STRING);
$find_account_obj->suspended = new SoapVar(0, XSD_BOOLEAN);
$find_account_obj->serviceSettingCollection = new SoapVar($setting_info,
SOAP_ENC_OBJECT);
$results = $soap_iperia->modifyOrganization($find_account_obj);
That generates the following xml.
<SOAP-ENV:Body>
<ns1:ModifyOrganizationRequest>
<ns1:accountIdentifier>
<ns1:account>root</ns1:account>
</ns1:accountIdentifier>
<ns1:orgID>IperiaTestOrg</ns1:orgID>
<ns1:suspended>false</ns1:suspended>
<ns1:serviceSettingCollection>
<ns1:serviceSetting>
<ns1:type>SUBSCRIBER_DEFINED_TRANSFER_NUMBER</ns1:type>
<ns1:value>6179672983</ns1:value>
</ns1:serviceSetting>
</ns1:serviceSettingCollection>
</ns1:ModifyOrganizationRequest>
</SOAP-ENV:Body>
The question I have is how do I add in the extra:
<ns1:serviceSetting>
<ns1:type>TIMEZONE</ns1:type>
<ns1:value>US/CENTRAL</ns1:value>
</ns1:serviceSetting>
I have tried a couple ways with no success ...
Any tips would be greatly appreciated.
Jonathan Pitcher