Hi, I keep getting this error message when invoking the action from javascript, please advise, I attached the c# code.


[Input("Application Reference")]
[ReferenceTarget("recoserv_application")]
[Default("8B446743-C6C4-E711-A81C-005056B5FEFA", "recoserv_application")]
public InArgument<EntityReference> ApplicationRef { get; set; }
[Input("Amount")]
public InArgument<string> Amount { get; set; }
[Input("AuthCode")]
public InArgument<string> Authcode { get; set; }
[Output("PaymentID")]
[AttributeTarget("recoserv_payment)", "recoserv_paymentid")]
public OutArgument<string> PaymentId { get; set; }
public override void ExecuteCRMWorkFlowActivity(CodeActivityContext executionContext, LocalWorkflowContext crmWorkflowContext)
{
//Create the tracing service
ITracingService tracingService = executionContext.GetExtension<ITracingService>();
//Create the context
IWorkflowContext context = executionContext.GetExtension<IWorkflowContext>();
IOrganizationServiceFactory serviceFactory = executionContext.GetExtension<IOrganizationServiceFactory>();
IOrganizationService service = serviceFactory.CreateOrganizationService(context.UserId);
tracingService.Trace("applicationref: {0}", ApplicationRef.ToString());
tracingService.Trace("amount: {0}", Amount);
tracingService.Trace("authcode: {0}", Authcode);
if (crmWorkflowContext == null)
{
throw new ArgumentNullException("crmWorkflowContext is null");
}
try
{
using (CrmServiceContext csc = new CrmServiceContext(service))
{
var item = (from c in csc.recoserv_paymentSet
where c.recoserv_application.Id == this.ApplicationRef.Get(executionContext).Id
orderby c.CreatedOn descending
select c).FirstOrDefault();
//Entity payment = service.Retrieve("recoserv_payment", item.Id, new ColumnSet(true));
if (item!=null && item.StatusCode.Value ==1 && item.recoserv_actualamount.Value == decimal.Parse(Amount.ToString()))
{
tracingService.Trace("statuscode: {0}", item.StatusCode.Value.ToString());
tracingService.Trace("Payment ID: {0}", this.ApplicationRef.Get(executionContext).Id.ToString());
//update payment status
SetStateRequest request = new SetStateRequest();
request.EntityMoniker = new EntityReference(recoserv_payment.EntityLogicalName, item.Id);
request.State = new OptionSetValue((int)recoserv_paymentState.Active);
request.Status = new OptionSetValue((int)recoserv_payment_StatusCode.Paid); // Paid
SetStateResponse response = (SetStateResponse)service.Execute(request);
//update payment authcode
item.recoserv_authcode = Authcode.ToString();
//payment["recoserv_authcode"] = Authcode;
service.Update(item);
this.PaymentId.Set(executionContext, item.recoserv_paymentId);
}
}
}
catch (FaultException<OrganizationServiceFault> e)
{
tracingService.Trace("Exception: {0}", e.ToString());
tracingService.Trace("Timestamp: {0}", e.Detail.Timestamp);
tracingService.Trace("Code: {0}", e.Detail.ErrorCode);
tracingService.Trace("Message: {0}", e.Detail.Message);
tracingService.Trace("Trace: {0}", e.Detail.TraceText);
throw e;
}
*This post is locked for comments
I have the same question (0)