Switching companies/endpoints when calling AIF services

Dear All,

public void insertMultiCompany()

{

TruckRegServiceClient client = new TruckRegServiceClient();

string[] message = new string[] { };

AxdTruckReg recordWrapper = new AxdTruckReg();

AxdEntity_Soltius_TruckRegistration TruckRegistrationObj = new AxdEntity_Soltius_TruckRegistration();

AxdEntity_Soltius_TruckRegistration_SO TruckRegistrationSOObj = new AxdEntity_Soltius_TruckRegistration_SO();

TruckRegistrationObj.TrackId = “t2”;

TruckRegistrationObj.TruckNo = “truckNo2”;

TruckRegistrationObj.WeightIn = 700;

TruckRegistrationObj.RegDate = Convert.ToDateTime(“2/27/2014”);

TruckRegistrationObj.RegDateSpecified = true;

TruckRegistrationObj.RegTime = Convert.ToDateTime(“3:58:00 PM”);

TruckRegistrationObj.RegTimeSpecified = true;

string truk = Convert.ToString(1);

AxdEnum_Soltius_TruckTransType truktransType1 = (AxdEnum_Soltius_TruckTransType)Enum.Parse(typeof(AxdEnum_Soltius_TruckTransType), truk);

TruckRegistrationObj.Soltius_TruckTrans = truktransType1;

TruckRegistrationObj.Soltius_TruckTransSpecified = true;

recordWrapper.Soltius_TruckRegistration = new AxdEntity_Soltius_TruckRegistration[1];

recordWrapper.Soltius_TruckRegistration[0] = TruckRegistrationObj;

client.ClientCredentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation;

EntityKey[] keys = new EntityKey[1];

try

{

//SOAP header info

using (new OperationContextScope (client.InnerChannel))

{

SetDestinationEndpoint(“rdd”);

SetSourceEndpointAndUser(“Test”);

keys = client.create(recordWrapper);

}

}

catch (System.ServiceModel.FaultException aex)

{

//TODO add proper error handling

throw aex;

}

finally

{

}

}

private void SetDestinationEndpoint(string nameOfEndpoint)

{

OperationContext.Current.OutgoingMessageHeaders.Add(MessageHeader.CreateHeader(“DestinationEndpoint”, "">http://tempuri.org", nameOfEndpoint));

}

public void SetSourceEndpointAndUser(string sourceEndpointName)

{

string userName = System.Security.Principal.WindowsIdentity.GetCurrent().Name;

var addressHeader = AddressHeader.CreateAddressHeader(“SourceEndpointUser”, "">http://tempuri.org", userName);

var addressBuilder = new EndpointAddressBuilder (

new EndpointAddress (new Uri (“urn:” + sourceEndpointName), addressHeader));

var endpointAddress = addressBuilder.ToEndpointAddress();

OperationContext .Current.OutgoingMessageHeaders.From = endpointAddress;

}

}

Above i mentioned code but i got exception like

AifFault > was Caught

"The creator of this fault did not specify a Reason."

Thanks,

Manikkam.