Quantcast
Channel: SCN : Discussion List - SAP Enterprise Portal : Administration and Development
Viewing all articles
Browse latest Browse all 2686

IUWLItemManager.refreshCacheAndGetItems(...) causing jCo exceptions

$
0
0

Dear colleagues,

 

it seems I came across some error in the UWL API. My scenario is: Im currently developing a custom UWL application on a SAP EP 7.4 SP12, which should, among other things, show some information about present substitution's using this method:

 

1.jpg

 

the exact problem is:

 

com.sap.netweaver.bc.uwl.IUWLSubstitutionManager.getAllSubstitutions(uwlContext); is leading to uncaught exceptions for backend systems like:

 

 

SAPCFConnectorManagedConnection.connectWithJCO

[EXCEPTION]

com.sap.mw.jco.JCO$Exception: (101) RFC_ERROR_PROGRAM: Parameter containing a user ID is missing: neither user nor user alias nor external ID nor SSO ticket nor X.509 certificate is specified

at com.sap.mw.jco.MiddlewareJRfc.generateJCoException(MiddlewareJRfc.java:559)

at com.sap.mw.jco.MiddlewareJRfc$Client.initialize(MiddlewareJRfc.java:1071)

at com.sap.mw.jco.JCO$Client.connect(JCO.java:3654)

at com.sapportals.connectors.SAPCFConnector.connection.SAPCFConnectorManagedConnection.connectWithJCO(SAPCFConnectorManagedConnection.java:437)

at com.sapportals.connectors.SAPCFConnector.connection.SAPCFConnectorManagedConnection.establishInitialConnection(SAPCFConnectorManagedConnection.java:211)

at com.sapportals.connectors.SAPCFConnector.connection.SAPCFConnectorManagedConnection.init(SAPCFConnectorManagedConnection.java:188)

at com.sapportals.connectors.SAPCFConnector.connection.SAPCFConnectorManagedConnectionFactory.createManagedConnection(SAPCFConnectorManagedConnectionFactory.java:139)

at com.sap.engine.services.connector.jca.ConnectionHashSet.match(ConnectionHashSet.java:401)

at com.sap.engine.services.connector.jca.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:295)

at com.sap.engine.services.connector.jca.ShareableConnectionManager.allocateConnection(ShareableConnectionManager.java:54)

at com.sapportals.connectors.SAPCFConnector.connection.SAPCFConnectorConnectionFactory.getConnectionEx(SAPCFConnectorConnectionFactory.java:173)

at com.sap.portal.ivs.internalconnector.ConnectionProvider.getConnection(ConnectionProvider.java:401)

at com.sap.portal.ivs.internalconnector.ConnectionProvider.getConnection(ConnectionProvider.java:354)

at com.sap.portal.ivs.internalconnector.ConnectionProvider.getConnection(ConnectionProvider.java:305)

at com.sap.portal.connectivity.destinations.portal.PortalSystemLandscapeSource.getConnectionWithOverridingProps(PortalSystemLandscapeSource.java:120)

at com.sap.portal.connectivity.destinations.impl.DestinationServiceImpl.getConnection(DestinationServiceImpl.java:261)

at com.sap.portal.connectivity.destinations.DestinationsService.getConnection(DestinationsService.java:122)

at com.sap.netweaver.bc.uwl.utils.r3.Transaction.begin(Transaction.java:112)

at com.sap.netweaver.bc.uwl.utils.r3.Transaction.createInput(Transaction.java:217)

at com.sap.netweaver.bc.uwl.core.connect.webflow.WebflowConnector.readInboxInternal(WebflowConnector.java:869)

at com.sap.netweaver.bc.uwl.core.connect.webflow.WebflowConnector.readInbox(WebflowConnector.java:946)

at com.sap.netweaver.bc.uwl.core.connect.webflow.WebflowConnector.retrieveSysItems(WebflowConnector.java:436)

at com.sap.netweaver.bc.uwl.core.connect.webflow.WebflowConnector.getItems(WebflowConnector.java:295)

at com.sap.netweaver.bc.uwl.core.connect.ConnectorThread$1.run(ConnectorThread.java:126)

at com.sap.netweaver.bc.uwl.core.connect.ConnectorThread$1.run(ConnectorThread.java:100)

at java.security.AccessController.doPrivileged(Native Method)

at javax.security.auth.Subject.doAs(Subject.java:335)

at com.sap.netweaver.bc.uwl.core.connect.ConnectorThread.run(ConnectorThread.java:100)

at com.sap.netweaver.bc.uwl.core.ThreadManager$PoolWorker.run(ThreadManager.java:209)

Caused by: RfcException: [null]

message: Parameter containing a user ID is missing: neither user nor user alias nor external ID nor SSO ticket nor X.509 certificate is specified

Return code: RFC_INVALID_PARAMETER(19)

error group: 101

key: RFC_ERROR_PROGRAM

 

at com.sap.mw.rfc.api.RfcOptions.checkLogonData(RfcOptions.java:162)

at com.sap.mw.rfc.api.RfcOptions.checkParameters(RfcOptions.java:345)

at com.sap.mw.jco.MiddlewareJRfc$Client.initialize(MiddlewareJRfc.java:1066)

... 27 more

 

one for each configured backend, internal substistusions from KMC_WF_SUBSTITUTE are coming fine. So it seems only JCo calls of SAP_WAPI_SUBSTITUTES on appropriate is always going down.

 

Let me call some facts I found on this topic:

 

- due appropriate API java doc: https://help.sap.com/javadocs/nwce/ce71/uw/com/sap/netweaver/bc/uwl/IUWLSubstitutionManager.html#getAllSubstitutions(com.sap.netweaver.bc.uwl.UWLContext) this method isnt supposed to throw any exceptions, so you cant catch those. As you can see in the exception stack, the custom software isnt even occuring there

 

- UWL configuration on appropriate portal seems to be complete and correct: we are not facing any issues while using standard UWL iViews e.g., which in fact are doing the same due SAP note 1577579. We are not aware of any specific UWL configuration we would need for prgrammatically access. Auth method for UWL RFC connections is assertion ticket, this is explicit recommended by SAP due my UWL colleagues. Nevertheless, I tryed to change RFC access config to hardcoded user, but of course it didnt helped

 

- of course the substitution list doesnt appear, since the backend access obviously doesnt work, the variable substitutions is containing records with messages like "Problem connecting to the system", one for each backend

 

- I initially opened an OSS call, pointing to such problems, but was told by SAP employees they dont provide any support for API use in custom software at all. I was suggested to ask here instead. I do understand this want help, since nobody from the community can correct SAP proprietary API's. So with my current knowledge stand, this problem is simple a bug and isnt solvable from customer or developer side. But its possible of course the error am I because Im have missed something. If anyone has any clues for a workaround (I didnt found any), all ideas are welcome

 

thank you


Viewing all articles
Browse latest Browse all 2686

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>