Calling the getRatePlanDefinition method without the offeringID parameter gives an error.

Document ID : KB000100476
Last Modified Date : 07/06/2018
Show Technical Document Details
Introduction:
According to the documentation, the getRatePlanDefinition web service method does not require the offeringID to be specified:

getRatePlanDefinition Method

Retrieves a Rate Plan definition. A Rate Plan definition is composed of rows of Rate Item objects. If offeringID is not null then each row contains a flag indicating if the row is selected by default and default rows are subscribed to when subscribing to the Rate Plan without specifying Rate Item objects.
Signature
getRatePlanDefinition(String sessionID, String offeringID, String ratePlanID)  
 
Required Parameters
sessionID security handle for calling webservices.[mandatory parameter]
offeringID specifies the ID of the Offering.
ratePlanID specifies the ID of the Rate Plan.[mandatory parameter]
Question:
Calling the getRatePlanDefinition method without specifying the offeringID gives an error:

<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://services.soap.usm.ca.com">
<soapenv:Header/>
<soapenv:Body>
<ser:getRatePlanDefinition soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<sessionID xsi:type="xsd:string">4968e07f-395d-431f-bbaa-67bf693bf4f2</sessionID>
<offeringID xsi:type="xsd:string"></offeringID>
<ratePlanID xsi:type="xsd:string">10017</ratePlanID>
</ser:getRatePlanDefinition>
</soapenv:Body>
</soapenv:Envelope>

The error indicates that the offeringID cannot be found:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<soapenv:Fault>
<faultcode>soapenv:Server.generalException</faultcode>
<faultstring>Offering ID, , not found.</faultstring>
<detail>
<ns1:exceptionName xmlns:ns1="http://xml.apache.org/axis/">com.ca.usm.soap.axisInterfaces.ItemNotFoundException</ns1:exceptionName>
<ns2:hostname xmlns:ns2="http://xml.apache.org/axis/">loast01-A13838</ns2:hostname>
</detail>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>
Answer:
If the offeringID is to be left blank, you must remove the reference to that parameter in the method call. The merthod call should look like this:

<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://services.soap.usm.ca.com">
<soapenv:Header/>
<soapenv:Body>
<ser:getRatePlanDefinition soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<sessionID xsi:type="xsd:string">4968e07f-395d-431f-bbaa-67bf693bf4f2</sessionID>
<ratePlanID xsi:type="xsd:string">10017</ratePlanID>
</ser:getRatePlanDefinition>
</soapenv:Body>
</soapenv:Envelope>

Note that the parameter referring to the offeringID has to be removed completely for ths work.