Error 'not registered to run'

瀏覽次數:315 次
跳到第一則未讀訊息

sue

未讀,
2015年3月26日 上午8:20:412015/3/26
收件者:Ensemble-in...@googlegroups.com
Hi,
 
I have a business operation wich gives the following error when we try to execute it.
 
ERROR <Ens>ErrBusinessDispatchNameNotRegistered: Business dispatch name 'CaMISGetUniversalNo' is not registered to run
 
Any one know what it means and how I can fix it?
 
The version in the test namespace works  fine.
 
Thanks
 
Sue

Crístofer Mateos Vicente

未讀,
2015年4月1日 上午11:34:092015/4/1
收件者:Ensemble-in...@googlegroups.com
Hi,

I have just had the exact same problem. In my case, I had changed the name of the BS in the production and, since then, this error started to appear. I solved it by changing the name of the BS component with the exact same of the service class. For example, if the class is services.test.CaMISGetUniversalNo, you cannot use just CaMISGetUniversalNo as the name of the BS in your production, it must be services.test.CaMISGetUniversalNo.

I don't know the reason why this happens... It would be nice if anyone could explain it a little.

Regards,

David Blake

未讀,
2015年4月1日 上午11:38:222015/4/1
收件者:Ensemble-in...@googlegroups.com

Hi Sue

 

This error occurs when the host name specified in a call does not exist. In your case, and this is quite common, the call would have been specifying the classname and not the host name.

 

So you will have a CallRequest method somewhere which now specifies the classname which is why changing the host name to the classname worked. If you would like to change the name of your host back, you will need to find the call and change the name to be that of the host.

 

Hope this helps

 

Dave

--
You received this message because you are subscribed to the Google Groups "InterSystems: Ensemble in Healthcare Community" group.
To post to this group, send email to Ensemble-in...@googlegroups.com
To unsubscribe from this group, send email to Ensemble-in-Healt...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/Ensemble-in-Healthcare?hl=en
---
You received this message because you are subscribed to the Google Groups "InterSystems: Ensemble in Healthcare" group.
To unsubscribe from this group and stop receiving emails from it, send an email to Ensemble-in-Healt...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Crístofer Mateos Vicente

未讀,
2015年4月1日 上午11:39:472015/4/1
收件者:Ensemble-in...@googlegroups.com
Another option that has worked for me is invoking the service using the inboundAdapter port, instead of the CSPGateway one.

Example:

http://localhost:75552/csp/namespace/services.test.CaMISGetUniversalNo.cls (does not work)

Dale du Preez

未讀,
2015年4月1日 上午11:41:142015/4/1
收件者:Ensemble-in...@googlegroups.com
As a further note on this, the reason this occurs is because a number of settings are defined at the production level, so Ensemble needs to know which settings to apply to your business service, and not only the class name.

In recent versions we support having multiple services that use the same class but different settings, in which case which business service you call can make a big difference to the way the request is handled and processed.

I hope that helps to shed some light on why there is this extra layer between the class and what Ensemble allows you to call.

Dale

Crístofer Mateos Vicente

未讀,
2015年4月1日 上午11:42:142015/4/1
收件者:Ensemble-in...@googlegroups.com
By 75552 I meant 57772, just for the record :P

David Blake

未讀,
2015年4月1日 中午12:01:132015/4/1
收件者:Ensemble-in...@googlegroups.com

Sue

 

Small correction. Now that I’ve re-read it, I see it was a service name that you have the issue with.

 

In that case, are you invoking it somewhere with CreateBusinessService()? It will perform the same check; I.e. that the dispatch name has an associated host.

 

On a technical level, it checks that ^Ens.Runtime(“DispatchName”,<dispatch name>) exists and uses the data from this node as the config name for the call.

 

Dave

 

From: Ensemble-in...@googlegroups.com [mailto:Ensemble-in...@googlegroups.com] On Behalf Of Crístofer Mateos Vicente
Sent: 01 April 2015 16:40
To: Ensemble-in...@googlegroups.com
Subject: [InterSystems-EnsHlth] Re: Error 'not registered to run'

 

Another option that has worked for me is invoking the service using the inboundAdapter port, instead of the CSPGateway one.

--

sue

未讀,
2015年4月2日 清晨6:16:492015/4/2
收件者:Ensemble-in...@googlegroups.com
Hi Everyone,
 
Thanks for the responses,
 
We found an typo in the BPL which called the BO and we hope that will fix it. Unfortunately the process has not had to call the BO since we made the change so I cannot say for certain that it is fixed yet. However it sounds a similar issue to the ones you have mentioned with the name.
 
Regards
Sue

To post to this group, send email to Ensemble-i...@googlegroups.com
To unsubscribe from this group, send email to Ensemble-in-Healthcare-unsub...@googlegroups.com


For more options, visit this group at http://groups.google.com/group/Ensemble-in-Healthcare?hl=en
---
You received this message because you are subscribed to the Google Groups "InterSystems: Ensemble in Healthcare" group.

To unsubscribe from this group and stop receiving emails from it, send an email to Ensemble-in-Healthcare+unsub...@googlegroups.com.

Conor B

未讀,
2017年6月22日 上午10:53:042017/6/22
收件者:InterSystems: Ensemble in Healthcare
I have gotten that error many times when developing new code. Restarting the production does not fix the issue but for some reason restarting the individual component causes this error to disappear.

Conor B

未讀,
2017年9月21日 上午11:14:572017/9/21
收件者:InterSystems: Ensemble in Healthcare
I came across this error again today and it was because a target in a routing rule did not exist.

<send transform=".DTL.Outbound.ADT.A02" target="ToNoWhere"></send>

Seems like the error can occur it different ways ...
回覆所有人
回覆作者
轉寄
0 則新訊息