Reply
Highlighted
Member
Posts: 2
Registered: ‎08-23-2014

CIM Transction Method Response Problem

Hi,
 
 
We are using CIM Transction method to invoice exist user using windows service.
Its failed to make the transaction and its does't return any error code in following code
 
 
 InsertSIMLog("LOG", "Message: " + ErrorResponse.messages.message[0].text, "Code: " + ErrorResponse.messages.message[0].code);
 
 
Error Message:: object reference not set to an instance

 

 

Thanks

Balaji

Highlighted
Expert
Posts: 4,525
Registered: ‎03-08-2010

Re: CIM Transction Method Response Problem

What is the raw response?

object reference not set to an instance is as generic as anything.

Highlighted
Member
Posts: 2
Registered: ‎08-23-2014

Re: CIM Transction Method Response Problem

[ Edited ]

Can i use this method in windows service ?

 

public static bool CreateTransaction(long profile_id, long payment_profile_id)
{
bool out_bool = false;

createCustomerProfileTransactionRequest request = new createCustomerProfileTransactionRequest();
XmlAPIUtilities.PopulateMerchantAuthentication((ANetApiRequest)request);

profileTransactionType new_trans = new profileTransactionType();

profileTransAuthOnlyType new_item = new profileTransAuthOnlyType();
new_item.customerProfileId = profile_id.ToString();
new_item.customerPaymentProfileId = payment_profile_id.ToString();
new_item.amount = 1.00m;

orderExType order = new orderExType();
order.invoiceNumber = "inv" + (DateTime.Now.Ticks % int.MaxValue).ToString();
order.description = "Example item";
new_item.order = order;

new_trans.Item = new_item;
request.transaction = new_trans;

System.Xml.XmlDocument response_xml = null;
bool bResult = XmlAPIUtilities.PostRequest(request, out response_xml);
object response = null;
createCustomerProfileTransactionResponse api_response = null;

if (bResult) bResult = XmlAPIUtilities.ProcessXmlResponse(response_xml, out response);
if (!(response is createCustomerProfileTransactionResponse))
{
ANetApiResponse ErrorResponse = (ANetApiResponse)response;
Console.WriteLine(String.Format("Created Transaction\n code: {0}\n msg: {1}", ErrorResponse.messages.message[0].code, ErrorResponse.messages.message[0].text));
return out_bool;
}
if (bResult) api_response = (createCustomerProfileTransactionResponse)response;
if (api_response != null)
{
out_bool = true;
Console.WriteLine("Created Transaction " + api_response.directResponse);
Console.WriteLine(String.Format(" code: {0}\n msg: {1}", api_response.messages.message[0].code, api_response.messages.message[0].text));
}
return out_bool;
}

 

 

output: out_bool =false

 

ErrorResponse.messages.message[0].text

above line  am getting object reference not set to an instance.

Highlighted
Expert
Posts: 4,525
Registered: ‎03-08-2010

Re: CIM Transction Method Response Problem

you can't assume ErrorResponse.messages.message[0] object exist.

run a debug and see what response is