.NET connection to Cloud - request for assistance

Hi all,

I took a class from an Epicor trainer back in 2017 and it was a great class. After the class, I wrote a small .NET application which I have used to connect to the ERP and download the results of a BAQ into a SQL table. It has worked for 5 years.

Today, after our cloud update, it no longer works. This is where you will tell me I should have tested, etc. - and you aren’t wrong, but we are a small company and my load and duties have changed in the last 5 years, and I didn’t get it done. This is my error and I own it. I would like to recover from this if possible.

Before today, this line of code would pass the build process in VS. Now it does not. I assume the underlying ERP dll that we are using to connect has changed.

using (var svc = Ice.Lib.Framework.WCFServiceSupport.CreateImpl<Ice.Proxy.BO.DynamicQueryImpl>(Session, Epicor.ServiceModel.Channels.ImplBase<Ice.Contracts.DynamicQuerySvcContract>.UriPath))

The build error is:

1>D:\tfs\Epicor MT Console App\Epicor MT Console App\Program.cs(170,146,170,193): error CS0308: The non-generic type ‘ImplBase’ cannot be used with type arguments

Does this resonate for anyone? Any idea what I need to do to recover from this? I apologize if this is the wrong place or a stupid question.

This might help:

I am looking at that and trying to dust off my brain to make this work. Never join management. It’s a trap :slight_smile:

Thanks, I will see if this helps. It looks like a very similar approach to what I was doing.

Check my last two comments in that thread for a way to use dynamic query with slightly different syntax.

Good Luck!

This is a bit of a band-aid since WCF will be gone. You can call the BAQSvc using REST from .NET and “future-proof” yourself and get back to management. :wink:

2 Likes

WCFServiceSupport is just name of the Epicor class, that is with us for a decade. It is helper to work with service proxies,
Internally it does not use WCF anynore since this version, but its rename would be a huge change.

1 Like

Thanks @olga!

I probably shouldn’t have said WCF. I’m thinking of the eventuality of no .NET client and therefore, no local DLLs to work with. If @guruzim is already in the Cloud, calling a BAQ from REST might be less work than fixing what he is doing and then moving to REST in a couple of years or so. Just a thought…

Mark W.

2 Likes

Aaron - Place a call to Tech Support. While we are deprecating support for WCF, we still support it with the 2022.1 Release. With the .NET 6 update, Services accessed via WCF have to be “declared” on the Server before they can be used. That occurs via a database setting that is then used as the AppServer starts.

For the Epicor Cloud Customers, the Cloud Operations team will setup the Service for WCF access but the Support ticket will need to include the Services you are using.

For On-Prem customers, there is a DB Script template included with the release that can be used to register the Services you want to access via WCF.

Now, that said, the registration of the WCF Services is a band-aid. Mark is correct, and we will retire the WCF services in a future release so moving to REST will be a requirement at that time.

1 Like

Thanks for chiming in here @Olga and @Rich