Hello,
I know i have been asking a lot lately and i am trying to work through the issues that i am having with this change as i get to them. But Alas i am stumped.
I have our new e10 server out on a link that goes straight to our e10 server so that we can make API calls and so that we can make WCF services work as we have reverted to this method because theoretically less changes to the application. I have attached a Pastebin link that goes to a sample piece of code from both before the app broke and currently as i am working on it.
I am getting an error on things after changing out the Links to the new one where it is basically asking " Are you missing an Assembly Reference" This is happening on the CustomerServiceClient, CallContextDataSetType, and CustomerService.GetRowsRequest in the sample piece of code.
also below is the code that goes with the pastebin but it does not look 100% when on here.
Thanks in advance.
– Old E9.05 code–
public static async Task GetCustomer(int id)
{
Logger.LogInformation(“Getting Customer {0} from EPICOR”, id);
EndpointAddress custAddress = new EndpointAddress(“https://tenpttest.mwcloud.co/EpicorWCFServices/CustomerService.svc”);
CustomerService.GetRowsResponse getRowsResp = null;
using (var custClient = new CustomerService.CustomerServiceClient("WSHttpBinding_ICustomerService", custAddress))
{
custClient.ClientCredentials.UserName.UserName = Environment.GetEnvironmentVariable("EPICOR_USERNAME");
custClient.ClientCredentials.UserName.Password = Environment.GetEnvironmentVariable("EPICOR_PASSWORD");
var shortTimeout = new TimeSpan(0, 2, 0);
((WSHttpBinding)custClient.ChannelFactory.Endpoint.Binding).SendTimeout = shortTimeout;
((WSHttpBinding)custClient.ChannelFactory.Endpoint.Binding).ReceiveTimeout = shortTimeout;
((WSHttpBinding)custClient.ChannelFactory.Endpoint.Binding).OpenTimeout = shortTimeout;
((WSHttpBinding)custClient.ChannelFactory.Endpoint.Binding).CloseTimeout = shortTimeout;
CustomerService.CallContextDataSetType callCtxIn = new CustomerService.CallContextDataSetType();
var custNumWhere = String.Format("CustNum='{0}'", id);
CustomerService.GetRowsRequest getRowsReq = new CustomerService.GetRowsRequest("", custNumWhere, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 0, 1, callCtxIn);
getRowsResp = await custClient.GetRowsAsync(getRowsReq);
}
Logger.LogInformation("Got Customer from EPICOR");
– E10 Exposed API/WCF –
public static async Task GetCustomer(int id)
{
Logger.LogInformation(“Getting Customer {0} from EPICOR”, id);
EndpointAddress custAddress = new EndpointAddress(“https://api.xREDACTEDx.com/epicor10test/Erp/BO/Customer.svc?singleWsdl”);
CustomerService.GetRowsResponse getRowsResp = null;
using (var custClient = new CustomerService.CustomerServiceClient("WSHttpBinding_ICustomerService", custAddress))
{
custClient.ClientCredentials.UserName.UserName = Environment.GetEnvironmentVariable("EPICOR_USERNAME");
custClient.ClientCredentials.UserName.Password = Environment.GetEnvironmentVariable("EPICOR_PASSWORD");
var shortTimeout = new TimeSpan(0, 2, 0);
((WSHttpBinding)custClient.ChannelFactory.Endpoint.Binding).SendTimeout = shortTimeout;
((WSHttpBinding)custClient.ChannelFactory.Endpoint.Binding).ReceiveTimeout = shortTimeout;
((WSHttpBinding)custClient.ChannelFactory.Endpoint.Binding).OpenTimeout = shortTimeout;
((WSHttpBinding)custClient.ChannelFactory.Endpoint.Binding).CloseTimeout = shortTimeout;
CustomerService.CallContextDataSetType callCtxIn = new CustomerService.CallContextDataSetType();
var custNumWhere = String.Format("CustNum='{0}'", id);
CustomerService.GetRowsRequest getRowsReq = new CustomerService.GetRowsRequest("", custNumWhere, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 0, 1, callCtxIn);
getRowsResp = await custClient.GetRowsAsync(getRowsReq);
}
Logger.LogInformation("Got Customer from EPICOR");