So, I have a very simple kinetic ui customization going right now where a simple button click calls a function which triggers a method directive. The method directive throws a couple BPM data forms, and so far does nothing else. (Just in the initial testing / debugging stage since I am new to Kinetic customizations).
After I click a button on the first BPM data form, I get this error:
“Incorrect service name. Example: Ice.BO.TipSvc”
Then the second BPM data form does not display in turn as it should. I have tried with only 1 bpm data form and it throws the same error after the button click.
I am not calling or using this library / service at all in my customization, and I suspect it is some issue with the kinetic ui or the server. I am a cloud customer (not by choice), and I suspect this issue might be out of my control with the app server or on Epicor’s end.
Does anyone know what this is or how to remedy it?
The only reference I can find in the REST tech docs from Epicor shows this error as an example of an error but explains nothing and gives no cause / solution for it.
404 is “resource not found”, just like web pages because REST using HTTP. So something in the URL is off: For example, I don’t see a tips1 method, which is the error you’re getting. Try removing the 1 and see what you get.
Thanks for the response. I am not using Tips or TipSvc anywhere in my customization. I think the pop up is saying “Example” and this is just an example. The 404 error in the screen snip is just a part of the page from Epicor REST Tech doc. I am not getting a 404 error on my end or executing any queries.
I am not using an explicit URL anywhere so far. I am just doing a simple function call from a button click in kinetic, all set up from the Kinetic app studio UI designer. The only thing similar that I have used is an API key which is working fine since the function is executing.
It appears to be an issue with the BPM Data Form somehow (though they don’t actually “do” anything and the button values are not even used yet). When I disconnect the BPM Data forms in my method directive, the function executes fine still but no error is thrown (seemingly because no BPM Data form is used).
At some point, you have an event that your button is calling and I imagine that’s where the function name is used. Is it populated? I haven’t hooked up a function to a button event yet but that’s where I’d look.
There are Postman examples here that you should be able to search on. I think in the REST Reference Manual as well.
Yes the button calls the function, and that happens fine with no error.
The function itself creates a new UD39 row with certain keys, which triggers a method directive. In post-processing the method directive deletes the UD39 row, (again works fine no errors), THEN is supposed to show a bpm data form. This works fine, but when I click a button in the BPM data form I get this Invalid Service error. When I disconnect the BPM Data Form from my method directive, no more error.
I guess it’s something Kinetic doesn’t like about calling the BPM data form.
Yes, it appears that the action on the BPMForm isn’t configured or not firing. This rings a bell. Have you search for Kinetic BPMForm? I think there was an issue at one time.
So, I am still stumped on this. I opened the kinetic app preview in browser instead of client so that I could try and get more info on the error. It looks like response parameter “returnObj” is returning null, and the function I’m calling doesn’t return any values so I am confused how I should set this up. Does a function have to return a value? Or if it doesn’t return a value, how do you set up the returnObj in the app studio designer to avoid errors?
Since I first posted this thread, I have done a LOT of research and learned a lot. I set up Postman (love it), and started debugging in chrome instead of the crappy client. I dug in to the error I am getting after I click a button on the BPM Data form, and I see that in fact you were correct about a bad URL. I see that after I click a button in the bpm data form, the REST request uses a similar but bad url which is missing my Function Library-- it goes …/api/v1/{FunctionName}, skipping the function library tag altogether! This is odd because I did not program this, as my only customization was done in kinetic app studio ui designer… I guess at this point I am just wondering how kinetic is messing with and changing the url only after I click the BPM data form button, when the REST request URL is perfectly fine when it first executes.
Just wanted to follow up on this for anyone that might stumble on this thread in the future.
The slide out feature in the new kinetic apps worked wonderfully-- and actually I really like it. The freedom of formatting and field creation, triggers on certain conditions, etc, is all really useful. I set this up and tested it essentially just to learn that feature since I’m new to kinetic app design.
However, since my company is going to still be using the classic version of the form for a while, I ended up just putting my BPM Data Forms on a method directive directly, skipping the function, and rethought the bpm process so that the function is not needed, so I could avoid the REST URL Bug occuring. I am no longer getting any errors and all is working well this way.