Reputation: 99
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="microsoft.xrm.client" type="Microsoft.Xrm.Client.Configuration.CrmSection, Microsoft.Xrm.Client"/>
</configSections>
<connectionStrings>
<add name="Medinet" connectionString ="AuthType=Office365;Url=https://medinetdevsandbox.crm11.dynamics.com; Username=victor@******8;Password=*******"/>
</connectionStrings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2"/>
</startup>
<system.serviceModel>
<bindings>
<wsHttpBinding>
<binding name="TransportSecurity">
<security mode="Transport">
<transport clientCredentialType="Basic" />
</security>
</binding>
</wsHttpBinding>
</bindings>
</system.serviceModel>
</configuration>
My error is:
System.ServiceModel.Security.MessageSecurityException: 'An unsecured or incorrectly secured fault was received from the other party. See the inner FaultException for the fault code and detail.' FaultException: Authentication Failure.
My .CS file is the below:
namespace DemoLibrary
{
public partial class Nurses : Form
{
//private static OrganizationService _orgService;
//private static IOrganizationService service;
public Nurses()
{
InitializeComponent();
service();
//GetOrgService();
}
private void nurseRegistrationBtn_Click(object sender, EventArgs e)
{
//var orgContext = new MedinetCRMService(GetOrgService());
var nurse = new new_nurse
{
new_FirstName = firstNameTextBox3.Text.ToString(),
new_Surname = lastNametextBox2.Text.ToString()
};
if (GendercomboBox1.SelectedIndex == 0)
{
nurse.new_Gender = new OptionSetValue(0);
}
else
nurse.new_Gender = new OptionSetValue(1);
new_hospital hospital = new new_hospital();
hospital.new_name = "Birmingham Community Trust";
Guid hospitalId = (Guid)service().Create(hospital);
//orgContext.AddObject(hospital);
//Guid hospitalID = (Guid)hospital.Id;
CrmEntityReference hospitalReference = new CrmEntityReference(hospital.LogicalName, hospitalId);
nurse.new_name = hospitalReference.ToString();
//orgContext.AddObject(nurse);
//orgContext.SaveChanges();
service().Create(nurse);
MessageBox.Show("Successfully added a Nurse to CRM");
}
// public static OrganizationService GetOrgService()
// {
// if (_orgService == null)
// {
// CrmConnection connection = CrmConnection.Parse(ConfigurationManager.ConnectionStrings["Medinet"].ConnectionString);
// //CrmConnection connection = CrmConnection.Parse( "Url=https://medinetdevsandbox.crm11.dynamics.com; Domain=Medinet; Username=; Password=G;");
// _orgService = new OrganizationService(connection);
// }
// return _orgService;
// }
public static IOrganizationService service()
{
//WSHttpBinding b = new WSHttpBinding();
//b.Security.Mode = SecurityMode.Transport;
//b.Security.Transport.ClientCredentialType = HttpClientCredentialType.Basic;
//string connString = "Url=https://medinetdevsandbox.crm11.dynamics.com; Domain=Medinet; Username=victor; Password=;";
CrmConnection connection = new CrmConnection("Medinet");
IOrganizationService service = new OrganizationService(connection);
return service;
}
}
}
I am sure my login details are correct. I have been on this for weeks. Someone with more knowledge please help.
Upvotes: 0
Views: 221
Reputation: 3935
That connection method is deprecated. I would suggest getting the latest Xrm Tooling NuGet package.
Then instantiate an instance of CrmServiceClient, which implements IOrganizationService
, and has a lot of additional methods:
using Microsoft.Xrm.Tooling.Connector;
var svc = new CrmServiceClient(connectionString);
Here's an article about the transition from Xrm.Client to CrmServiceClient.
Upvotes: 1