return custAccount;
}
}
//Response class
[DataContractAttribute]
class CustomerResponse
{
boolean success;
str errorMessage;
CustAccount custAccount;
[DataMember("ErrorMessage")]
public str parmErrorMessage(str _value = errorMessage)
{
if (!prmIsDefault(_value))
{
errorMessage = _value;
}
return errorMessage;
}
[DataMember("Success")]
public Boolean parmSuccess(Boolean _value = success)
{
if (!prmIsDefault(_value))
{
success = _value;
}
return success;
}
[DataMember("CustAccount")]
public CustAccount parmCustAccount(CustAccount _custAccount = custAccount)
{
custAccount = _custAccount;
return custAccount;
}
}
//Here is the service class
class NewMultipleCustomerService
{
[AifCollectionTypeAttribute('_customers', Types::Class, classStr(CustomerRequest)),
AifCollectionTypeAttribute('return', Types::Class, classStr(CustomerResponse))
]
public List createMultipleCustomer (List _customers)
{
List response = new List(Types::Class);
ListEnumerator custEnum;
CustomerRequest reqContract;
if(_customers)
{
custEnum = _customers.getEnumerator();
if(custEnum)
{
while (custEnum.moveNext())
{
//The below line gives error if assigned directly to the contract variable
//reqContract = custEnum.current();
reqContract.parmCustPaymTerm(custEnum.current());
response.addEnd(this.createSingleCustomer(reqContract));
}
}
}
return response;
}
public CustomerResponse createSingleCustomer(CustomerRequest _request)
{
var response = new CustomerResponse();
Name name = _request.parmName();
CustPaymTermId custPaymTerm = _request.parmCustPaymTerm();
CustGroupId custGroup = _request.parmCustGroup();
CustCurrencyCode custCurrency = _request.parmCustCurrency();
CustClassificationId custClassification = _request.parmCustClassification();
CustCreditRating custCreditRating = _request.parmCustCreditRating();
InventSiteId custInventSite = _request.parmInventSiteId();
InventLocationId custInventLocation = _request.parmInventLocationId();
CustTable custTable;
NumberSeq numberSeq;
custTable.initValue();
try
{
numberSeq = NumberSeq::newGetNum(CustParameters::numRefCustAccount());
custTable.AccountNum = numberSeq.num();
custTable.PaymTermId = custPaymTerm;
custTable.CustGroup = custGroup;
custTable.Currency = custCurrency;
custTable.CustClassificationId = custClassification;
custTable.CreditRating = custCreditRating;
custTable.InventSiteId = custInventSite;
custTable.InventLocation = custInventLocation;
custTable.insert(DirPartyType::Organization, name);
if(custTable.AccountNum)
{
response.parmCustAccount(custTable.AccountNum);
response.parmSuccess(true);
}
}
catch (Exception::CLRError)
{
System.Exception interopException = CLRInterop::getLastException();
response.parmSuccess(false);
response.parmErrorMessage(interopException.ToString());
}
return response;
}
}
and here how am I passing the list to the body of a postman post request.
But still I am getting the error. Please correct me anywhere if I am wrong.