cancel
Showing results for 
Search instead for 
Did you mean: 

ERROR. No business object instance found...

Former Member
0 Kudos

Hi,

I worked myself through a tutorial which explains how to user external Services in Composite Applications (I used a connection to an ABAP system via RFC). -> I received the Functions that I needed. (BAPI_USER-GETDETAIL)

I used SAP Logon to verify that my login Data is correct.

After building and deploying my app I switched to the administator view for external Services and set up "Self defined RFC destinations" as explained in that tutorial.

BUT, when I use the service browser to test my operation that I set up in NWDS (getDetailByLastName) I get the following error message when I click on "Excecute Query":


ERROR. No business object instance found

If I use the predefined operation called "findByMultipleParameters" I get another error message...

ERROR. Exception thrown in method findByMultipleParameters. The transaction is marked for rollback.

I should have enogh rights to access the BAPIs, so there must be another problem...

Has anybody an idea???

Greetings

Sascha

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Sascha,

It seems that your system is not configured properly.

You can make next steps to resolve this problem:

- look into the detailed stack trace of this problem in the log file from server0/log/...;

- check availability of ABAP module by SAP GUI.

Regards,

Andrei Smolkin

EPAM Systems

<a href="http://www.netweaverteam.com/">http://www.netweaverteam.com/</a>

Former Member
0 Kudos

Hi Andrei,

tahnk you for that fast answer...

Which log-File do you think I could see the stack trace?

In the folder "..\j2ee\cluster\server0\log\" there are 3 files and some DIRs.

The file "defaultTrace.0.trc" looks interesting, but it's full of trash... do you think it is possible to delete it, so it will be created again?

Regarding your 2nd Point:

I imported those BAPI-Functions via the "Import"-Tool which can be found in the NWDS in the Composite Application View. (Right-Click on External Services -> Import). I entered all the data needed and got access to the SAP-System, so it was possible to choose the BAPI I wanted to have... Which means, that the connection was working!

Sascha

Message was edited by: Sascha Sambale

Former Member
0 Kudos

You can delete this file and reproduse your steps to see stack trace.

In the second point I mean that ABAP module can be unavailable. You can try to execute it with the same parameters.

Regards,

Andrei Smolkin

Message was edited by: Andrei Smolkin

Former Member
0 Kudos

Hi,

looking at the trace log I see the following lines, which might be important:

#1.[...] ##0#0#Info#1#/System/Server#Plain###StructureFactory registered successfully.#
#1.[...] ##0#0#Info#1#/System/Server#Plain###BusinessObjectManager registered successfully.#
#1.[...] ##0#0#Info#1#/System/Server#Plain###EndpointAliasManager registered successfully.#
#1.[...] ##0#0#Info#1#/System/Server#Plain###Additional manager registered successfully.#

But seems to crash with this stack trace:


#1.5#00300594D2EF00600000001800000C30000407F4EC2D27F3#1134648422640#com.sap.engine.services.ejb#sap.com/caf~mp~mmr~adapter~ear#com.sap.engine.services.ejb#Administrator#516#SAP J2EE Engine JTA Transaction : [c6f26220001]#Sambale45P.siller_DW2_208610850#Guest#f50922106d6211da928c00300594d2ef#ID#(J2EE208610800)ID208610850DB776732215131769504End.fd4263616d6211dab43500300594d2ef##0#0#Error##Java### 
[EXCEPTION]
 {0}#1#com.sap.engine.services.ejb.exceptions.BaseTransactionRolledbackLocalException: Exception thrown in method readMappingRule. The transaction is marked for rollback.
	at com.sap.caf.mp.mmr.ejb.MMServiceRetrievalAdapterCallerLocalLocalObjectImpl0.readMappingRule(MMServiceRetrievalAdapterCallerLocalLocalObjectImpl0.java:570)
	at com.sap.caf.mp.core.data.service.DataServiceBridge.getMappingRuleIds(DataServiceBridge.java:472)
	at com.sap.caf.mp_mmr_bridge.rt.impl.RuntimeHelper.getExternalOperationConfig(RuntimeHelper.java:141)
	at com.sap.caf.mp_mmr_bridge.rt.IRuntimeHelper.getExternalOperationConfig(IRuntimeHelper.java:57)
	at com.sap.caf.rt.bol.da.remote.RemoteDataAccessService.queryWithoutEntityRefs(RemoteDataAccessService.java:784)
	at com.sap.caf.rt.bol.da.remote.RemoteDataAccessService.query(RemoteDataAccessService.java:718)
	at com.sap.user_example.besrv.user.UserServiceBean.findByMultipleParameters(UserServiceBean.java:240)
	at com.sap.user_example.besrv.user.UserServiceBean.getDetailsByName(UserServiceBean.java:202)
	at com.sap.user_example.besrv.user.UserServiceLocalLocalObjectImpl0.getDetailsByName(UserServiceLocalLocalObjectImpl0.java:696)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:324)
	at com.sap.caf.rt.services.serviceaccess.ServiceWrapper.findByDataObject(ServiceWrapper.java:267)
	at com.sap.caf.rt.services.serviceaccess.CAFServiceAccessBeanImpl.findByDataObject(CAFServiceAccessBeanImpl.java:223)
	at com.sap.caf.rt.services.serviceaccess.CAFServiceAccessLocalLocalObjectImpl20.findByDataObject(CAFServiceAccessLocalLocalObjectImpl20.java:747)
	at com.sap.caf.rt.ui.cool.generic.AspectServiceAccess.findBy(AspectServiceAccess.java:269)
	at com.sap.caf.rt.ui.cool.generic.Query.execute(Query.java:218)
	at com.sap.caf.ui.servicebrowser.components.visualizer.controllers.TableViewCC.execute(TableViewCC.java:320)
	at com.sap.caf.ui.servicebrowser.components.visualizer.controllers.wdp.InternalTableViewCC.execute(InternalTableViewCC.java:184)
	at com.sap.caf.ui.servicebrowser.components.visualizer.views.TableViewCV.onActionExcuteQuery(TableViewCV.java:356)
	at com.sap.caf.ui.servicebrowser.components.visualizer.views.wdp.InternalTableViewCV.wdInvokeEventHandler(InternalTableViewCV.java:351)
	at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.invokeEventHandler(DelegatingView.java:87)
	at com.sap.tc.webdynpro.progmodel.controller.Action.fire(Action.java:67)
	at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doHandleActionEvent(WindowPhaseModel.java:417)
	at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:132)
	at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:415)
	at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:101)
	at com.sap.tc.webdynpro.clientserver.cal.ClientManager.doProcessing(ClientManager.java:650)
	at com.sap.tc.webdynpro.clientserver.cal.ClientManager.processRequest(ClientManager.java:155)
	at com.sap.tc.webdynpro.clientserver.session.core.ApplicationHandle.doProcessing(ApplicationHandle.java:105)
	at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:63)
	at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:50)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390)
	at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264)
	at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347)
	at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325)
	at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887)
	at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241)
	at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
	at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)
	at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
	at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
	at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
	at java.security.AccessController.doPrivileged(Native Method)
	at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:95)
	at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:159)
Caused by: java.lang.NullPointerException
	at com.sap.caf.mp.mmr.adapter.MMServiceRetrievalAdapter.readMappingRule(MMServiceRetrievalAdapter.java:232)
	at com.sap.caf.mp.mmr.ejb.MMServiceRetrievalAdapterCallerBean.readMappingRule(MMServiceRetrievalAdapterCallerBean.java:125)
	at com.sap.caf.mp.mmr.ejb.MMServiceRetrievalAdapterCallerLocalLocalObjectImpl0.readMappingRule(MMServiceRetrievalAdapterCallerLocalLocalObjectImpl0.java:553)
	... 48 more
java.lang.NullPointerException
	at com.sap.caf.mp.mmr.adapter.MMServiceRetrievalAdapter.readMappingRule(MMServiceRetrievalAdapter.java:232)
	at com.sap.caf.mp.mmr.ejb.MMServiceRetrievalAdapterCallerBean.readMappingRule(MMServiceRetrievalAdapterCallerBean.java:125)
	at com.sap.caf.mp.mmr.ejb.MMServiceRetrievalAdapterCallerLocalLocalObjectImpl0.readMappingRule(MMServiceRetrievalAdapterCallerLocalLocalObjectImpl0.java:553)
	at com.sap.caf.mp.core.data.service.DataServiceBridge.getMappingRuleIds(DataServiceBridge.java:472)
	at com.sap.caf.mp_mmr_bridge.rt.impl.RuntimeHelper.getExternalOperationConfig(RuntimeHelper.java:141)
	at com.sap.caf.mp_mmr_bridge.rt.IRuntimeHelper.getExternalOperationConfig(IRuntimeHelper.java:57)
	at com.sap.caf.rt.bol.da.remote.RemoteDataAccessService.queryWithoutEntityRefs(RemoteDataAccessService.java:784)
	at com.sap.caf.rt.bol.da.remote.RemoteDataAccessService.query(RemoteDataAccessService.java:718)
	at com.sap.user_example.besrv.user.UserServiceBean.findByMultipleParameters(UserServiceBean.java:240)
	at com.sap.user_example.besrv.user.UserServiceBean.getDetailsByName(UserServiceBean.java:202)
	at com.sap.user_example.besrv.user.UserServiceLocalLocalObjectImpl0.getDetailsByName(UserServiceLocalLocalObjectImpl0.java:696)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:324)
	at com.sap.caf.rt.services.serviceaccess.ServiceWrapper.findByDataObject(ServiceWrapper.java:267)
	at com.sap.caf.rt.services.serviceaccess.CAFServiceAccessBeanImpl.findByDataObject(CAFServiceAccessBeanImpl.java:223)
	at com.sap.caf.rt.services.serviceaccess.CAFServiceAccessLocalLocalObjectImpl20.findByDataObject(CAFServiceAccessLocalLocalObjectImpl20.java:747)
	at com.sap.caf.rt.ui.cool.generic.AspectServiceAccess.findBy(AspectServiceAccess.java:269)
	at com.sap.caf.rt.ui.cool.generic.Query.execute(Query.java:218)
	at com.sap.caf.ui.servicebrowser.components.visualizer.controllers.TableViewCC.execute(TableViewCC.java:320)
	at com.sap.caf.ui.servicebrowser.components.visualizer.controllers.wdp.InternalTableViewCC.execute(InternalTableViewCC.java:184)
	at com.sap.caf.ui.servicebrowser.components.visualizer.views.TableViewCV.onActionExcuteQuery(TableViewCV.java:356)
	at com.sap.caf.ui.servicebrowser.components.visualizer.views.wdp.InternalTableViewCV.wdInvokeEventHandler(InternalTableViewCV.java:351)
	at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.invokeEventHandler(DelegatingView.java:87)
	at com.sap.tc.webdynpro.progmodel.controller.Action.fire(Action.java:67)
	at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doHandleActionEvent(WindowPhaseModel.java:417)
	at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:132)
	at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:415)
	at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:101)
	at com.sap.tc.webdynpro.clientserver.cal.ClientManager.doProcessing(ClientManager.java:650)
	at com.sap.tc.webdynpro.clientserver.cal.ClientManager.processRequest(ClientManager.java:155)
	at com.sap.tc.webdynpro.clientserver.session.core.ApplicationHandle.doProcessing(ApplicationHandle.java:105)
	at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:63)
	at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:50)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390)
	at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264)
	at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347)
	at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325)
	at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887)
	at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241)
	at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
	at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)
	at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
	at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
	at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
	at java.security.AccessController.doPrivileged(Native Method)
	at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:95)
	at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:159)

So what is going wrong...?

Former Member
0 Kudos

Hi,

Yes this log related to your problem.

From it I can say, for sure, that problem in the mapping between your business entity and external service. You can try to recreate it through the configuration application for external services mentioned by you earlier.

Did you create this mapping before through the configuration application or you create it in the CAF Designer ? In any case you can try to create mapping using this application.

Andrei Smolkin

EPAM Systems

<a href="http://www.netweaverteam.com/">http://www.NetWeaverTeam.com/</a>

Message was edited by: Andrei Smolkin

deepa_prabhu
Participant
0 Kudos

Hi,

Have you created an user mapping with your system and external system? I guess that should solve the problem.

Try creating the mapping again.

Please get back to me if you have doubts in creating the user mapping.

Regards

Deepa

Former Member
0 Kudos

Hi Deepa,

I'm really new to SAP (R3, Netweaver,...)... Could you give me a short guide where I can map my users?

As explained before I conntected my system with my user account on our SAP-System. (with client ID, username, PW, language,...) So NWDS got the access to the BAPI list of our SAP-System. So I picked the BAPI "BAPI_USER_GETDETAL". And the connection was created.

So my connection setup was working!!!

So why do I need that user mapping then when I want to test my external service?

Greets

Sascha

Message was edited by: Sascha Sambale

deepa_prabhu
Participant
0 Kudos

Hi Sascha,

You have to map your users against R3 users using User mapping in Portal. For this first you have to goto

portal -> System configuration -> System Landscape and

in the portal content view right click -> create a new system -> R/3 System. After creating the system, open the objet and give some important properties like "connector"

where you need to give your client id,etc and etc.Then select property "DQE parameters"(not sure but will start with DQE),enter your R/3 user id and password. Similarly

select "User Management properties" and select "admin" or "user" or "admin+user" depending on whom you want to map.Create a System alias for this newly created R/3 System.You can do this using the combo at the top of system landscape editor. Thats it and ur system is ready.

Test the connection from portal itself.

Now jumping into user mapping, goto portal->user administration -> user mapping. Select a user whom u r going to use in ur application -> click edit and map him to your system.For mapping , to your right you will find a combo displaying a list of systems. Select ur R/3 system which u created, and give user/pwd information and "Save".

And yeap!!! u r done with User Mapping.

Test your application now!!!!!! It works!! Isnt it?

For further assistance, refer to this link.

http://help.sap.com/saphelp_nw04/helpdata/en/02/04b03f93fd6d3fe10000000a114084/frameset.htm

Hope this helps.

Please reward points for helpful answers.

Thanks and regards

Deepa

Former Member
0 Kudos

Hi Deepa,

thanks for that really great tutorial!!!!!!

I will test the external service 2-3 days after New Year's Eve. A great thing to begin the new year.

If it works, you'll get get more points.

Greets,

Sascha

Message was edited by: Sascha Sambale

Former Member
0 Kudos

Ok... I didn't stand to try it BEFORE 2006.

I created a System using a Template for a dedicated webserver. I entered all data except the SNC fields in connector, Distributed Query Engine (username and pw? -> J2EE_ADMIN?) and I created my System alias.

Then I clicked on Connection Tests:

Here's what it says when I click on "Connection Test for Connectors"...

Test Details:

The test consists of the following steps:

1. Retrieve the default alias of the system

2. Check the connection to the backend application using the connector defined in this system object

Results

  • Retrieval of default alias successful

  • <b>Connection failed. Make sure user mapping is set correctly and all connection properties are correct</b>.

What could be wrong??? My connector data should be right...

Sascha

deepa_prabhu
Participant
0 Kudos

Hi Sascha,

Nice that you tried!!!!

>>Results

>>* Retrieval of default alias successful

>>* Connection failed. Make sure user mapping is set >>correctly and all connection properties are correct.

>>What could be wrong??? My connector data should be >>right...

Yes, you r right.I guess two possible reasons for your connection failure.

a) connection data should be wrong somewhere. Check the user name and password you have specied in DQE.Check whether it is the same as your user name and password for

getting authenticated to your webservice?

Apart from this check other parameters also again..

b) Have you set the user mapping for the system before

testing the connection? If not please set the user mapping for the system and try. Even in user mapping test whether the user name and password you have given is the same as web service is using to authenticate.

Hope this helps.

Please reward points if my suggestion helped you.

Thanks and regards

Deepa

Former Member
0 Kudos

This is getting worser and worser... I tried everysthing know, but I'm still getting that error message...

Which Template should I use?

  • SAP system using connection string?

  • SAP system using dedicated application server?

  • SAP system with load balancing?

If I use the first one, they want a connection String from me in those "Connector" settings? How does it look like?

I used the second one... I entered the following data:

Application Host: <the host where the external WAS runs>

Gateway Host: <the host where the external WAS runs>

Gateway Service: <name of the gw-service>

Logical System Name: ??? What should be here?

Remote Host Type: 3

SAP Client: 100

SAP System ID: Our System ID

SAP System Number: 00

Server Port: 3200

SystemType: SAP_R3

Could this data be right?

And under DQE, I entered the login data of my user in the external SAP-System. I did use that data for user mapping, also.

If you tell me how to set up that connection string thing, that would be cool...

Hope you can help me,

Sascha

deepa_prabhu
Participant
0 Kudos

Hi Sascha,

While trying to connect to external R/3 system,

it is okay if you give the following parameters alone.

Application Host:<Your R/3 Host name>

Remote Host Type:

SAP Client: 100(Verify the user u mentioned have access for this client)

SAP System ID: ur System ID

SAP System Number: 00

Server Port: 3200 (Verify the port)

SystemType: SAP_R3

Try connecting using SAP logon pad(GUI), whether the credentials u have given is correct. For this try login to

logon pad with the same information u gave for creating a system. I guess Gateway Host, Gateway service and Logical system name are preferred parameters and not mandatory, because I have tried connecting even without these 3 parameters.

Hope this helps you.

Please reward points for helpful answers.

Thanks and regards

Deepa

Former Member
0 Kudos

Hi,

where can I see, which port is used for the connection to the SAP System? Cause I took that 3200 from an older enterprise-internal guide. Don't know if this is still correct...!?

My Logon via SAP GUI works with the settings for the client ID, SID, USERNAME, PASSWORD. So that data MUST be right.

I'm becoming desperate.

Sascha

deepa_prabhu
Participant
0 Kudos

Hi Sascha,

Can u telnet and see with this port, if you can connect

to the server through that port. Can you try 3201 or 3208?

Please contact your R/3 system administrator and get the port id. Along with this u can also refer your other params like gateway,host and gateway service as u have mentioned previously that u r not sure about that.

Then do a telnet and verify whether the connection is succeeding through the port?

I think there is no firewall issue as u r able to login through logon pad.So try getting the port id.

That should solve your problem.

I think, you will award points for my effort.

Thanks and regards

Deepa

Former Member
0 Kudos

Mmmhhh... the Port ID is right... as it is: sapdp00 (SAP Dispatcher 00 -> Port ID: 3200).

I even don't think that this is a domain- or firewall problem, because it was possible to log in via SAP Logon GUI.

My User Mapping must be right, also.

My connection data is right. (hosts & ports)

Why do I have to face this before christmas and before New Year's Eve??? It's grim.

Sascha

Answers (0)