Skip to Content
author's profile photo
Former Member

Strange JCO error when running Web Dynpro App

I am developing a new WebDynpro application to be deployed on our SAP

Portal interfacing with a SAP R/3 backend. The application uses

multiple JCo destinations (two for each model) all of which were

configured according the SAP guides (userid/password for metadata and

ticket for model data). The tests work fine for all connections.

However, we get HTTP 500 errors when executing the application. The

main message is : "com.sap.mw.jco.JCO$Exception: (101)

RFC_ERROR_PROGRAM: 'password' missing".

I have not been able to find anything to help and SAP themselves have yet to provide us an explanation.

- I was able to run the application fine in dev and it worked with this error occasionally appeared but now it always appears.

- Our portal is 2004s SP 10

- All of the JCOs are configured properly as per SAP instructions

- modeldata use SSO with user configured in R/3

- metadata use userid/password

- Another prototype Web Dynpro application has the same error.

- All of the Web Dynpro models are Adaptave RFC.

Any ideas would be greatly appreciated.

Add comment
10|10000 characters needed characters exceeded

  • Follow
  • Get RSS Feed

3 Answers

  • Oct 11, 2007 at 05:41 PM

    Hi Dean,

    If I understand your problem, do you have a SSO, your JCO is configured and work fine but when you run your application, it’s show this exception.

    Set the authentication in your application that will resolve your problem.

    Regards,

    Edson Thomaz

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member

      Edson

      Yes the JCO's work fine as tested in Web Dynpro Content Administrator - Maintain JCOs.

      As I indicated only the modeldata JCO is set to SSO (hence whatever id the user logged onto the Portal with is passed to R/3 to verigy they have access to the backend transactions). The metadata JCOs are set to userid/password. We use a single generic id for all metaddata JCOs and these ids are setup with the appropriate permissions.

      Can you expand your comment "Set the authentication in your application that will resolve your problem.". I do not understand what you are referring to.

  • Oct 12, 2007 at 09:45 AM

    Hi Dean,

    Procedure to set authentication on your application:-

    (a) Open your application and click on the "Application Properties" tab

    (b) Click on browse and choose name as "authentication mode" and click on finish

    (c) now run your application , it should work perfectly

    Regards,

    Praveen

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member

      Praveen,

      This has no effect. I checked some documentation and it defines this property as follows:

      "Authentication

      The configuration property Authentication describes a Boolean value, which specifies whether or not a Web Dynpro application requires authentication before the start. If you assigned the value true, the authentication is required when the Web Dynpro application is called. By default, no authentication is required."

      I tried with it both being set to TRUE and FALSE.

      Any additional ideas?

  • author's profile photo
    Former Member
    Oct 12, 2007 at 05:05 PM

    Here is the full exception I am getting.

    com.sap.tc.webdynpro.services.exceptions.TypeNotFoundException: type com.pwc.servicecenter.sapwai.wdmodel.types.Klassenart could not be loaded: com.sap.dictionary.runtime.DdException: failed to create provider: 'password' missing

    at com.sap.tc.webdynpro.services.datatypes.core.DataTypeBroker.getSimpleType(DataTypeBroker.java:250)

    at com.sap.tc.webdynpro.services.datatypes.core.DataTypeBroker.getDataType(DataTypeBroker.java:213)

    at com.sap.tc.webdynpro.progmodel.context.DataAttributeInfo.init(DataAttributeInfo.java:318)

    at com.sap.tc.webdynpro.progmodel.context.NodeInfo.initUnmappedAttributes(NodeInfo.java:687)

    at com.sap.tc.webdynpro.progmodel.context.DataNodeInfo.doInit(DataNodeInfo.java:238)

    at com.sap.tc.webdynpro.progmodel.context.NodeInfo.init(NodeInfo.java:671)

    at com.sap.tc.webdynpro.progmodel.context.NodeInfo.init(NodeInfo.java:674)

    at com.sap.tc.webdynpro.progmodel.context.Context.init(Context.java:40)

    at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:199)

    at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.init(ClientComponent.java:429)

    at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.createComponent(ClientComponent.java:932)

    at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.createComponent(ClientComponent.java:176)

    at com.sap.tc.webdynpro.progmodel.components.ComponentUsage.createComponentInternal(ComponentUsage.java:149)

    at com.sap.tc.webdynpro.progmodel.components.ComponentUsage.createComponent(ComponentUsage.java:116)

    at com.pwc.servicecenter.sapwai.wdcomponents.Z_CLASS_COPY_MAIN.wdDoInit(Z_CLASS_COPY_MAIN.java:97)

    at com.pwc.servicecenter.sapwai.wdcomponents.wdp.InternalZ_CLASS_COPY_MAIN.wdDoInit(InternalZ_CLASS_COPY_MAIN.java:110)

    at com.sap.tc.webdynpro.progmodel.generation.DelegatingComponent.doInit(DelegatingComponent.java:108)

    at com.sap.tc.webdynpro.progmodel.controller.Controller.initController(Controller.java:215)

    at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:200)

    at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.init(ClientComponent.java:429)

    at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.init(ClientApplication.java:362)

    at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.initApplication(ApplicationSession.java:700)

    at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:269)

    at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingPortal(ClientSession.java:772)

    at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:707)

    at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:261)

    at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:154)

    at com.sap.tc.webdynpro.clientserver.session.core.ApplicationHandle.doProcessing(ApplicationHandle.java:73)

    at com.sap.tc.webdynpro.portal.pb.impl.AbstractApplicationProxy.sendDataAndProcessActionInternal(AbstractApplicationProxy.java:860)

    at com.sap.tc.webdynpro.portal.pb.impl.AbstractApplicationProxy.create(AbstractApplicationProxy.java:220)

    at com.sap.portal.pb.PageBuilder.updateApplications(PageBuilder.java:1248)

    at com.sap.portal.pb.PageBuilder.createPage(PageBuilder.java:353)

    at com.sap.portal.pb.PageBuilder.init(PageBuilder.java:551)

    at com.sap.portal.pb.PageBuilder.wdDoInit(PageBuilder.java:190)

    at com.sap.portal.pb.wdp.InternalPageBuilder.wdDoInit(InternalPageBuilder.java:150)

    at com.sap.tc.webdynpro.progmodel.generation.DelegatingComponent.doInit(DelegatingComponent.java:108)

    at com.sap.tc.webdynpro.progmodel.controller.Controller.initController(Controller.java:215)

    at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:200)

    at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.init(ClientComponent.java:429)

    at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.init(ClientApplication.java:362)

    at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.initApplication(ApplicationSession.java:700)

    at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:269)

    at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:752)

    at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:705)

    at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:261)

    at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:154)

    at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62)

    at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:53)

    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:401)

    at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)

    at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387)

    at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:365)

    at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:944)

    at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:266)

    at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)

    at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:160)

    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:100)

    at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)

    Caused by: com.sap.dictionary.runtime.DdException: failed to create provider: 'password' missing

    at com.sap.dictionary.runtime.ProviderFactory.internalGetProvider(ProviderFactory.java:254)

    at com.sap.dictionary.runtime.ProviderFactory.getProvider(ProviderFactory.java:146)

    at com.sap.dictionary.runtime.DdDictionaryPool.getProvider(DdDictionaryPool.java:97)

    at com.sap.dictionary.runtime.DdDictionaryPool.getDictionary(DdDictionaryPool.java:79)

    at com.sap.dictionary.runtime.DdDictionaryPool.getDictionary(DdDictionaryPool.java:48)

    at com.sap.dictionary.runtime.DdBroker.getDataType(DdBroker.java:149)

    at com.sap.dictionary.runtime.DdBroker.getSimpleType(DdBroker.java:170)

    at com.sap.tc.webdynpro.services.datatypes.core.DataTypeBroker.getSimpleType(DataTypeBroker.java:242)

    ... 63 more

    Caused by: java.lang.reflect.InvocationTargetException

    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)

    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)

    at java.lang.reflect.Constructor.newInstance(Constructor.java:274)

    at com.sap.dictionary.runtime.ProviderFactory.internalGetProvider(ProviderFactory.java:229)

    ... 70 more

    Caused by: com.sap.mw.jco.JCO$Exception: (101) RFC_ERROR_PROGRAM: 'password' missing

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

    at com.sap.mw.jco.MiddlewareJRfc$Client.connect(MiddlewareJRfc.java:1015)

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

    at com.sap.dictionary.runtime.mdi.DataProvider.<init>(DataProvider.java:91)

    at com.sap.dictionary.runtime.mdi.DataProvider.<init>(DataProvider.java:123)

    ... 75 more

    Add comment
    10|10000 characters needed characters exceeded