C# Customization Error After Upgrade

What’s the business problem you’re trying to solve? Maybe there are other ways than a BAQ? :person_shrugging:

many thanks for your reply mate, really appreciate that, i have similar code for run dynamic query with multiple parameters, what i meant on my previous post is that the piece of code i uploaded using sub command within the void and class of using WCFServiceSupport that i need to replace as it error out on the new Epicor update, such as “QueryWhereItem” & “DynamicQuery” so what i have done, is just replace it with Tables[0] and it compile - i do not know yet if it going to function as it designed for or not- as i am just trying to fix the fails and it is not my piece of code, another example is this one within the new Guid line

I see that’s an example with DynamicQuery, but what about other Adapters? I want to use OrderAlloc, and everything I try fails. I get the same “cannot be used with type”, but I can’t figure out what to use. I tried using the DynamicQuery example:

Erp.Proxy.BO.OrderAllocImpl = new Erp.Proxy.BO.OrderAllocImpl(oTrans);

But it’s not working for me either: " ‘Erp.Proxy.BO.OrderAllocImpl’ does not contain a constructor that takes 1 arguments"

Thank you for any input.

Looks like:

Erp.Adapters.OrderAllocAdapter OAa = new Erp.Adapters.OrderAllocAdapter(oTrans);

Can somebody please help me fix this error.

DataTable BOReader(string NameSpace, string Where = “”, string Columns = “”)
{ //Ice:BO:UD39 Key1,Key2,Key3,Key4,Number01"
Ice.Proxy.Lib.BOReaderImpl _bor = WCFServiceSupport.CreateImpl<Ice.Proxy.Lib.BOReaderImpl>((Ice.Core.Session)oTrans.Session, Epicor.ServiceModel.Channels.ImplBase<Ice.Contracts.BOReaderSvcContract>.UriPath);
DataSet ds2 = _bor.GetList(NameSpace, Where, Columns); //namespace,whereclause,columns
return ds2.Tables[0];
}

Compiling Custom Code …

----------errors and warnings------------

Error: CS0308 - line 222 (478) - The non-generic type ‘Epicor.ServiceModel.Channels.ImplBase’ cannot be used with type arguments

I had this same error. I thought it was due to a change in the parameters used to call the function I was connecting to Epicor with.

I was advised I should re-write everything to use REST instead of using WCF.

I’m still working on that. Good luck.

But if in Kinetic you still rely on WCF - Epicor did use Core WCF. I assume in web.config there is a flag to turn it on or off

Once the Kinetic upgrade is complete, you must add ‘WCF’ to the URL for each HCM/ERP integration.
Example:
Old: https://serverapp01.epicorsaas.com/SaaS7xx/ERP/BO/EmpBasic.svc
New: https://serverapp01.epicorsaas.com/SaaS7xx/WCF/ERP/BO/EmpBasic.svc

Epicor did use Core WCF.

Yep. Core WCF is a community project. From: CoreWCF 1.0 has been Released - .NET Blog

1 Like

FYI: This will help with the simple syntax to resolve this issue.

Post Kinetic 2022.1.5 upgrade we are getting the same error. I was reviewing the forum and also had Epicor support ticket. Per developer suggestion, we are able to resolve this issue.

Before:

Erp.Proxy.BO.CompanyImpl _c = WCFServiceSupport.CreateImpl<Erp.Proxy.BO.CompanyImpl>((Ice.Core.Session)oTrans.Session, Epicor.ServiceModel.Channels.ImplBase<Erp.Contracts.CompanySvcContract>.UriPath);

After:

Erp.Proxy.BO.CompanyImpl _c = WCFServiceSupport.CreateImpl<Erp.Proxy.BO.CompanyImpl>((Ice.Core.Session)oTrans.Session, Erp.Proxy.BO.CompanyImpl.UriPath);

on F5-Validate code, no compilation error any more and worked for us.

4 Likes

We just installed 2022.1 and it broke all the customizations with WCF. (Previous developer did all this I am just thrown into the water.) When you say to change the URL for each are you saying I need to update it in EVERY customization or is there another instance you are referring to?

I am suppose to be preparing for a Hybrid uplift for this current year and next year I will be redeveloping everything for Kinetic, so the least amount of work would be great. I am just wondering if this is a simple fix of if I should just squash the 2022.1 and move down to 2021.2 instead as I believe everything worked in there ok before I upgraded.

Desperate need of assistance, and I appreciate your reply.

This is my understanding, but if you have a specific one that gives trouble I’d suggest starting a new topic.

I’m diving into the same issue as you right now and I think @MukeshDesai has a very good note on this above. I’ll post whatever works.

From my understanding we were suppose to follow KB0120930 which we are suppose to run a SQL Script. The thing is after we ran the script it did not work still. So I tried to review other options and came across this thread… the strange thing is I just opened a ticket with Epicor Support and they told us that it was actually a bug in the system and that the SQL script to enable to services was also suppose to create the .svc files in the WCF folder but it doesn’t… They told us they were going to create a patch, but waiting for their reply now…

[In other note your example did help out, my problem is that I had a very bad developer in the system before my arrival and literally used several different types of calls using this logic about 18 times in a single customization, I am not mentally prepared to search all the customizations to replace all the instances of this… ]

I will update you on what Epicor says.

** @SteveFossey This may pertain to you as well **

ok, first, thanks for the KB reference.

However going through every customization with errors is pretty much a fact of life doing upgrades. I haven’t solved mine yet but last year did 10.2.100>>10.2.700 with over 200 customizations with other knotty errors. I lived to tell the tale.

In the script from that KB there’s a list of affected services and right away I found that not all the services we have pulled into customizations are included. So that’s one thread to tug on.

Friday is my planning day so I won’t get to it today, but next week I’ll start digging into my UIs and anything I solve I’ll post in the 10.x >> 2022.1 wiki pages.

I suspect there’d be more technical debt than solutions here.

1 Like

Yea the worst part of life, HAHAH. I get it and I don’t mind it honestly but I just would hate to have to put a fix in for temporary use since we will be converting all these customizations to Kinetic in the next year anyways. I rather spend my time working on conversion…