When i run my testservice which invokes a bapi i get the following error in the logging of the console.
[2015-05-11 12:34:37 +0200][Warning][Internal][BELM][Stack size exceeded limit of 10000 calls]
What do i need to change to prevent this from happening ?
The error “Stack size exceeded limit of 10000 calls” means you have a logical error in your model. E.g. if you model a function and the function calls itself (recursive function). And now the stop criteria is wrong and so the recursion never stops (call itself more than 10000 times).
Perhaps you can analyze the model with the interactive debugger to find the problem.
Hi Alfred, i am familiar with a recursive call of a function.
However i copied an example of the education folder an modified it in order to call a bapi.
The model is real simple.
This is something that is hard to find with debug, because it just has 1 step.
I have attached the model i use.
Attached some screenshots.
That is interesting.
Does the service crash with out of memory error?
Please send the E2E Builder project and bridgeserver.log to our support email.
It crashes because the limit is exceeded.
Service then stops.
attached you will find the project and the console log.
I’m Andi from E2E Support.
I had a quick look into your model. It appears to me, that you have created the RFC interface manually and not applied the recommended way to implement SAP RFC interfaces with the RFC WSDL generator.
I recommend that you use this utility. You can download it here and you find also documentation how to use it.
I was also able to reproduce the issue you described and I will forward this to our developers for further investigations. But as said, please try with our RFC WSDL utility. It lets you implement RFC interfaces very fast and reliable with E2E.
meanwhile we had a little closer look into your model, and in deed there is a recursive call of a function.
In the implementation of the SOAP Port operation, on the SAP RFC Adapter you are actually calling the SOAP Port operation again. This recursion call leads to the warning and finally to a service crash.
As already mentioned, we strongly recommend to use the RFC WSDL generator utility to generate the necessary classes and operations for RFC interfaces.
Could it be that i am missing some import options ?
your screen shot is showing the Import options of MagicDraw, usually we dont need these importers in E2E context.
The importer you need in this context is located in the E2E Model Compiler -> Import -> WSDL / XSD. Just use this importer after you have generated the WSDL file with the RFC-WSDL Generator.
For informations about E2E Importer capabilities and usage please refer to our E2E Builder Guide .
i have imported a wsdl of the bapi and my service does not crash anymore.
I also got the result back from the bapi.
great to hear that it’s working now 🙂
Have a nice day,