cancel
Showing results for 
Search instead for 
Did you mean: 

Problem when trying to execute web service model in WDPJ application

Former Member
0 Kudos

Hi,

I am working on Netweaver CE 7.2. I have registered a Business Object Data Services web service into the the Service Registry.

In NWDS, I have created a Web Service model based on the WSDL imported from the SR. I imported the Web Service in the controler using the template function and have created an basic view with a button to call the service.

When I try to execute the WSDL operation, I get the following error:

Error 500:
javax.xml.rpc.ServiceException: Configured BindingData 90e45aff-04cf-4495-9a78-95db20badf99 is not compatible with those available in the Webservice clinet framework. Configured BindingData has operation Ping operations, which is not found in the Webservice client framework configuration. 
    at com.sap.esi.esp.service.server.query.discovery.DestinationsHelperImplSoa.createSmartBindingData(DestinationsHelperImplSoa.java:1152)
    at com.sap.esi.esp.service.server.query.discovery.DestinationsHelperImplSoa.selectBindingData(DestinationsHelperImplSoa.java:1059)
    at com.sap.engine.services.webservices.espbase.client.dynamic.GenericServiceFactory.createService_NewInstance(GenericServiceFactory.java:626)
    at com.sap.engine.services.webservices.espbase.client.dynamic.GenericServiceFactory.createService_NewInstance(GenericServiceFactory.java:381)
    at com.sap.engine.services.webservices.espbase.client.dynamic.GenericServiceFactory.createService(GenericServiceFactory.java:327)

Another thing is that when I try to test the Web Service from the WSNavigator, if I select the service from the SR I can successfully test it. But, when I try to search a web service from a Provider System and test it, the registered Web service is found but I cannot test it: I get the following error:

java.lang.NullPointerException: while trying to invoke the method java.util.List.iterator() of an object loaded from field com.sap.engine.services.webservices.espbase.query.WSInterfaceImpl.portTypeWsdls of an object loaded from local variable 'this'

Does anyone have an idea about where the problem may come from ?

Thanks in advance for your help,

Thibault

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Thibault,

There may be some reasons for this error lets take it one by one.

First you need to check the service registry settings are correct please check you have specified correct user name and password while configuring service registry for ESR the user name is esuser and password is eswork123 which is often mistaken as the provider systems(Like ERP,CRM,SCM etc) user name and password which doesn't work.

Second you need to confirm you are passing all the required data in the model object in your case if you have used apply templates some time code is not generated for every required value please test the service using webservice navigator http://<servername>:<port number>/wsnavigator and make sure the set of values by which service works in web service navigator are passed correctly in the init<modelname_requestname>() generated method on your component controllers method.

Please check this and let us know if it is not the case.

Regards

Jeetendra

Former Member
0 Kudos

Hi Choudhary,

Thank you for your quick reply. The service registry has been set up by administrators and I don't know how I can check everything is well configured. But when I create a new Adaptive Web Service Model in NWDS, I chosse Service Registry source for the Web Service (and not Enterprise Service Registry), and it is able to find the web service I published. So I guess everything is fine on this side.

For the source code in the application, the problem is related to the initOperationRequest function, and especially on:

c10.com.testdsws.wd.models.testdsws2model.Request_Ping request_Ping_1 = wdContext.nodeRequest_Ping_1().createAndAddRequest_Ping_1Element().modelObject();

But it is generated code and I cannot change iit since the framework automatically revert changes on code between // $$begin Service Controller7(-1185422363) and // $$end !!

Former Member
0 Kudos

Hi Thibault,

1. just to confirm, while importing the service specially when you choose service registry did it ask for user name and password? if you are able to create model then it seems fine only thing is if that service registry user name and password is not correct in the setting then it will not be able to execute. while importing service creating model it is different from server side configuration its configured in NWDS so its fine on NWDS side but you need to check on server side setting just to confirm it.

2. You should be able to edit the code even it is between $$begin and $$end. Try to edit it it will display warning but you'll be able to edit it. so make the required change there (set all the required object to request object). Let us know if it doesn't works.

Regards

Jeetendra

Former Member
0 Kudos

I have defined SR user credentials in NWDS preferences. When I disable these credentials, I get the popup to authenticate. And my user is working fine.

I don't think I have anything to change into the source code since the request I am trying to make does not take any input parameters. So I am a little bit stuck in here.

I should try to register some other web services to see if there are any differences.

Former Member
0 Kudos

Hi Thibault,

Let me know which service you are trying to consume i shall check it my shelf.

Reagrds

Jeetendra

Former Member
0 Kudos

Hi,

So I've done several tests today, especially with the sample WS sampleTimer. This one works fine.

But I noticed something when I assign a provider to my Web service Group: the icon is not a green icon but a yellow triangle. And when I check the log to see what's going on, I get the following warning:

Configuration of logical ports for [ConnectionOperationsGroup] service group finished with warning. The provider system successfully found the needed service, but its wsdl is without webservice policy. Thus the generated client configuration might not work because of different configurations between service and client (most probable a difference in the security settings). Either assign a provider system with access to wsdl with policy or manually create the client configuration. For more information increase severity of the default trace com.sap.esi.esp.service.server.mass.BatchJobRun to WARNING and reassign the service group.

The problem is that I am working with an extrernal Web Service with no policy. How may I create manually the client configuration. Should I perform this step in NWDS or somewhere on theNetweaver Administrator ? I've been looking around for some documentation on help.sap.com but didn't find anything yet.

Former Member
0 Kudos

Another thing that might be important to tell you is that the Web Service I am trying to execute has 3 operations:

- Logon (which returns a session ID)

- Logout

- Ping (The Ping operation is an empty input message with a ping operation request. The output message is a text string that returns the current Data Services version, which indicates that a connection has been established).

The error message I get when I execute the application :

javax.xml.rpc.ServiceException: Configured BindingData 1abfce10-8aaa-46f6-8596-f307573e2519 is not compatible with those available in the Webservice clinet framework. Configured BindingData has operation Ping operations, which is not found in the Webservice client framework configuration.

In this error message, it tells me that the ping operation is not found in the web service client framework configuration. Does this mean I also have to implement the ping operation ?

I am not sure about what to do...

Former Member
0 Kudos

Hi Thiabault,

Try to define the policy here https://<server>:<port>/webdynpro/resources/sap.com/tclmitsamuimainframe~wd/FloorPlanApp?home=true let us know if it works or not.

Regards

Jeetendra

Former Member
0 Kudos

Thank you Choudhary for your reply. I am not sure about where the link you provided should lead me but I get to the NWA favorites page...

May you give me the name of the application, so I can find it more easily ?

Thanks in advance,

Thibault

Former Member
0 Kudos

Hi Thibault,

Sorry for providing insufficient information the application is Authentication and Single Sign-On (http://<server>:<port>/nwa/auth) please try if it helps.

Reagdrs

Jeetendra

Former Member
0 Kudos

Hi Thibault

Did you get the solution for that exception..? I am facing the similar issue and did refreshed the cache but no luck yet. please let me know if you found the solution.

-

Thanks,

Akshay

Former Member
0 Kudos

No,

The full log record for the exception is still:

500 Internal Server Error is returned for HTTP request [http://s010app12:50000/webdynpro/resources/com.c10/testwsds/LogonApp]: 
  component [dispatcher], 
  web module [webdynpro/resources/com.c10/testwsds], 
  application [com.c10/testwsds], 
  DC name [com.c10/testwsds], 
  CSN component[], 
  problem categorization [], 
  internal categorization [-468199851]. 
 
[EXCEPTION]
 com.sap.tc.webdynpro.services.exceptions.WDRuntimeException: Exception was thrown in preprocessing phase of application session 09df2c1b69a011e086cf00000048feea. The causing exception is nested. RID=09de8a3c69a011e0a1ab00000048feea 
at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doPreprocessing(ApplicationSession.java:640) 
at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:335) 
at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:315) 
at com.sap.tc.webdynpro.serverimpl.core.AbstractDispatcherServlet.doContent(AbstractDispatcherServlet.java:87) 
at com.sap.tc.webdynpro.serverimpl.wdc.DispatcherServlet.doContent(DispatcherServlet.java:76) 
at com.sap.tc.webdynpro.serverimpl.core.AbstractDispatcherServlet.doGet(AbstractDispatcherServlet.java:55) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:734) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) 
at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:152) 
at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:38) 
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:400) 
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:203) 
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:438) 
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:427) 
at com.sap.engine.services.servlets_jsp.filters.DSRWebContainerFilter.process(DSRWebContainerFilter.java:38) 
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78) 
at com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:80) 
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78) 
at com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:268) 
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78) 
at com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:81) 
at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9) 
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78) 
at com.sap.engine.services.httpserver.filters.ResponseLogWriter.process(ResponseLogWriter.java:60) 
at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9) 
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78) 
at com.sap.engine.services.httpserver.filters.DefineHostFilter.process(DefineHostFilter.java:27) 
at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12) 
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78) 
at com.sap.engine.services.httpserver.filters.MonitoringFilter.process(MonitoringFilter.java:29) 
at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12) 
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78) 
at com.sap.engine.services.httpserver.filters.MemoryStatisticFilter.process(MemoryStatisticFilter.java:54) 
at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12) 
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78) 
at com.sap.engine.services.httpserver.filters.DSRHttpFilter.process(DSRHttpFilter.java:42) 
at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12) 
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78) 
at com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:447) 
at com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.process(Processor.java:264) 
at com.sap.engine.services.httpserver.server.rcm.RequestProcessorThread.run(RequestProcessorThread.java:56) 
at com.sap.engine.core.thread.execution.Executable.run(Executable.java:122) 
at com.sap.engine.core.thread.execution.Executable.run(Executable.java:101) 
at com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:328) 
Caused by: com.sap.tc.webdynpro.services.exceptions.ApplicationFaultException: wdDoInit: exception thrown in this user coding area 
at com.sap.tc.webdynpro.progmodel.generation.DelegatingComponent.doInit(DelegatingComponent.java:164) 
at com.sap.tc.webdynpro.progmodel.controller.Controller.initController(Controller.java:227) 
at com.sap.tc.webdynpro.progmodel.components.Component.initController(Component.java:258) 
at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:206) 
at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.init(ClientApplication.java:603) 
at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.doPreprocessing(ClientApplication.java:1475) 
at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doPreprocessing(ApplicationSession.java:637) 
... 43 more 
Caused by: com.sap.tc.webdynpro.model.webservice.exception.WSModelRuntimeException: Exception on creation of service metadata for web service mass config parameters service reference ID 'b38c8d65-1eb9-40a3-aae7-ffd97f5ccf0d 5319e00d-91b6-4634-aa97-649795704aac 409a9347-d67f-4d33-be48-4b8a79e9130f 1df4431b-9468-4f2c-9ec7-7db9bbee970e ce7b21b4-fa6e-43a6-8577-415d4df4afd4' and application name 'com.c10/testwsds'. Check mass configuration has been done properly. 
at com.sap.tc.webdynpro.model.webservice.metadata.WSModelInfo.getOrCreateWsrService(WSModelInfo.java:555) 
at com.sap.tc.webdynpro.model.webservice.metadata.WSModelInfo.readOperationsFromWSDL(WSModelInfo.java:466) 
at com.sap.tc.webdynpro.model.webservice.metadata.WSModelInfo.importMetadataInternal(WSModelInfo.java:433) 
at com.sap.tc.webdynpro.model.webservice.metadata.WSModelInfo.importMetadata(WSModelInfo.java:406) 
at com.sap.tc.webdynpro.model.webservice.metadata.WSModelInfo.getOrCreateModelInfo(WSModelInfo.java:341) 
at com.sap.tc.webdynpro.model.webservice.metadata.WSModelInfo.getOrCreateModelInfo(WSModelInfo.java:314) 
at com.sap.tc.webdynpro.model.webservice.gci.WSTypedModel.<init>(WSTypedModel.java:93) 
at c10.com.testwsds.wd.models.testwsdsmodel.TestWSDSModel.<init>(TestWSDSModel.java:309) 
at c10.com.testwsds.wd.comp.testwsdscomp.TestWSDSComp.createAndMapModelInstance(TestWSDSComp.java:257) 
at c10.com.testwsds.wd.comp.testwsdscomp.TestWSDSComp.initRequest_Logon(TestWSDSComp.java:275) 
at c10.com.testwsds.wd.comp.testwsdscomp.TestWSDSComp.wdDoInit(TestWSDSComp.java:114) 
at c10.com.testwsds.wd.comp.testwsdscomp.wdp.InternalTestWSDSComp.wdDoInit(InternalTestWSDSComp.java:141) 
at com.sap.tc.webdynpro.progmodel.generation.DelegatingComponent.doInit(DelegatingComponent.java:161) 
... 49 more 
Caused by: javax.xml.rpc.ServiceException: Configured BindingData b38c8d65-1eb9-40a3-aae7-ffd97f5ccf0d is not compatible with those available in the Webservice clinet framework. Configured BindingData has operation Ping operations, which is not found in the Webservice client framework configuration. 
at com.sap.esi.esp.service.server.query.discovery.DestinationsHelperImplSoa.createSmartBindingData(DestinationsHelperImplSoa.java:1152) 
at com.sap.esi.esp.service.server.query.discovery.DestinationsHelperImplSoa.selectBindingData(DestinationsHelperImplSoa.java:1059) 
at com.sap.engine.services.webservices.espbase.client.dynamic.GenericServiceFactory.createService_NewInstance(GenericServiceFactory.java:386) 
at com.sap.engine.services.webservices.espbase.client.dynamic.GenericServiceFactory.createService(GenericServiceFactory.java:327) 
at com.sap.engine.services.webservices.espbase.client.dynamic.GenericServiceFactory.createService(GenericServiceFactory.java:288) 
at com.sap.tc.webdynpro.model.webservice.metadata.WSModelInfo.getOrCreateWsrService(WSModelInfo.java:547) 
... 61 more

No luke trying to configure the policy in htp://<server>:<port>/nwa/auth

Former Member
0 Kudos

Solution is SAP note 1464027, but unfortunatelly, the patch level 2 is not available for download. Only patch level 12 is available for CE 7.2 SP3, and this patch broke our portal. The patch has the following information: "Remove security policy domain from login session when applic, note 1543590", and note 1543590 says: "The requested SAP Note is either in reworking or is released internally only" !!

We also found SAP note 1475664 which may resolve the problem, but unfortunately, we are yet anable to see if it is working or not. We are now trying to upgrade to SP4.

Former Member
0 Kudos

SP4 fixed the problem, but then we had to apply a new patch to make the web service work.