Hello,
I am running the following plugin as a console app and I get the following error:
Exception caught - An unexpected error occured. Exception thrown: 'System.ServiceModel.FaultException`1' in Microsoft.Xrm.Sdk.dll
Here is my code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Xrm.Sdk;
using Microsoft.Xrm.Sdk.Client;
using Microsoft.Crm.Sdk.Messages;
using System.Net;
using System.ServiceModel.Description;
using Microsoft.Xrm.Sdk.Query;
namespace Qualco_AddBPWStages
{
class Program
{
static void Main(string[] args)
{
IOrganizationService organizationService = null;
try
{
ClientCredentials clientCredentials = new ClientCredentials();
clientCredentials.UserName.UserName = "###";
clientCredentials.UserName.Password = "###";
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
organizationService = (IOrganizationService)new OrganizationServiceProxy(new Uri("https://..."),
null, clientCredentials, null);
if (organizationService != null)
{
Guid userid = ((WhoAmIResponse)organizationService.Execute(new WhoAmIRequest())).UserId;
if (userid != Guid.Empty)
{
Console.WriteLine("Connected succesfully");
QueryExpression queryOpp = new QueryExpression("opportunity");
queryOpp.ColumnSet = new ColumnSet(new string[] { "name", "opportunityid", "actualclosedate", "actualvalue" });
//queryOpp.Criteria.AddCondition("statuscode", ConditionOperator.Equal, 100000005);
//queryOpp.Criteria.AddCondition("actualvalue", ConditionOperator.ContainValues);
//queryOpp.Criteria.AddCondition("actualclosedate", ConditionOperator.ContainValues);
queryOpp.Criteria.AddCondition("zst_opportunitynumber", ConditionOperator.Equal, "OP-0000841");
EntityCollection collectionOpportunities = organizationService.RetrieveMultiple(queryOpp);
foreach(Entity opport in collectionOpportunities.Entities)
{
Entity oppClose = new Entity("opportunityclose");
oppClose["opportunityid"] = opport.Id;
oppClose["actualend"] = opport.GetAttributeValue("actualclosedate");
oppClose["actualrevenue"] = opport.GetAttributeValue("actualvalue");
WinOpportunityRequest woReq = new WinOpportunityRequest();
woReq.OpportunityClose = oppClose;
woReq.RequestName = "WinOpportunity";
OptionSetValue oStatus = new OptionSetValue();
oStatus.Value = 3;
woReq.Status = oStatus;
organizationService.Execute(woReq);
string name = opport.GetAttributeValue("name");
Console.WriteLine("Opportunity" name "is closed as Won");
}
Console.WriteLine("Plugin completed succesfully");
}
}
else
{
Console.WriteLine("Failed to Established Connection!!!");
}
}
catch (Exception ex)
{
Console.WriteLine("Exception caught - " ex.Message);
}
Console.ReadKey();
}
}
}
Any help would be greately appreciated