cancel
Showing results for 
Search instead for 
Did you mean: 

Authentication Error ? Adaptive webservice model

Former Member
0 Kudos

While trying to use an adaptive webservice model, I'm getting a commun error:

Exception on execution of web service with WSDL URL 'http://srcs00048:50200/UserValidator/Config1?wsdl ' with operation 'validateUser' in interface 'UserValidatorVi_Document'

I have already tested the webservice and It's working fine in webservice navigator when using the correct username and password.

So, I found some workarounds to set the username and password in my controller before I call the execute method:

import javax.xml.rpc.Stub;
import com.sap.tc.webdynpro.model.webservice.api.IWDWSInvocationModifier;
import com.sap.engine.services.webservices.espbase.client.dynamic.DInterfaceInvoker;
...
wdContext.currentXXXXElement().modelObject().wdSetInvocationModifier(
  new IWDWSInvocationModifier() {
    public void doModifyInvocation(final Object port) {
      if ( port instanceof Stub ) {
        final Stub stub = (Stub)port;
        stub._setProperty(Stub.USERNAME_PROPERTY,  "username");
        stub._setProperty(Stub.PASSWORD_PROPERTY, "password");
      } else if (port instanceof DInterfaceInvoker) {
        final DInterfaceInvoker invoker = (DInterfaceInvoker)port;
        invoker.setProperty(Stub.USERNAME_PROPERTY,  "username");
        invoker.setProperty(Stub.PASSWORD_PROPERTY, "password");
      } else
         throw new RuntimeException("This 'clever' hack does not work"); 
    }
    public void doModifyAfterInvocation() {}
  }
);
 

And.... http://wiki.sdn.sap.com/wiki/display/WDJava/ExceptiononExecutionofWeb+Service

Both did not work.....

What am I doing wrong?

Edited by: Vinicius Faleiro on Feb 9, 2010 7:34 PM

Edited by: Vinicius Faleiro on Feb 9, 2010 7:36 PM

Accepted Solutions (1)

Accepted Solutions (1)

siarhei_pisarenka3
Active Contributor
0 Kudos

Hi Vinicius

Check logs and traces for more helpful error message with additional hints. The problem might be not in user authentication, but generic web-service availability by the URL.

BR, Siarhei

Former Member
0 Kudos

Hi Siarhei! Thank you for your reply!

I'm new with Netweaver. Our company is using NW 2004s.

Can you help me how to get these logs? I was abe to get only the stacktraces... I'll post it tomorrow 'cause today I'm out of office (kidney stone!!! what a ****! =( ...)...

Thank you i advance!

Former Member
0 Kudos

Hi... See the trace...

Exception on execution of web service with WSDL URL 'http://srcs00048:50200/UserValidator/Config1?wsdl ' with operation 'validateUser' in interface 'UserValidatorVi_Document' Stack: com.sap.tc.webdynpro.model.webservice.api.WDWSModelExecuteException: Exception on execution of web service with WSDL URL 'http://srcs00048:50200/UserValidator/Config1?wsdl ' with operation 'validateUser' in interface 'UserValidatorVi_Document' at com.sap.tc.webdynpro.model.webservice.model.WSGenericModelClassExecutable.execute(WSGenericModelClassExecutable.java:78) at com.sap.tc.webdynpro.model.webservice.gci.WSTypedModelClassExecutable.execute(WSTypedModelClassExecutable.java:46) at sap.gnt_laboral.UserValidatorCust.executeRequest_ValidateUser(UserValidatorCust.java:148) at sap.gnt_laboral.wdp.InternalUserValidatorCust.executeRequest_ValidateUser(InternalUserValidatorCust.java:160) at sap.gnt_laboral.MinhasAulas.onActionButton_0(MinhasAulas.java:160) at sap.gnt_laboral.wdp.InternalMinhasAulas.wdInvokeEventHandler(InternalMinhasAulas.java:187) 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:420) at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:132) at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:335) at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:143) at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:319) at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:713) at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:666) at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:250) at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:149) 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:386) at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364) at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1039) at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265) at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95) at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175) 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(AccessController.java:207) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172) Caused by: java.lang.reflect.InvocationTargetException: Cannot find the required parameter [username] in request message content. at com.sap.engine.services.webservices.jaxrpc.wsdl2java.soapbinding.MimeHttpBinding.processDocumentFault(MimeHttpBinding.java:927) at com.sap.engine.services.webservices.jaxrpc.wsdl2java.soapbinding.MimeHttpBinding.call(MimeHttpBinding.java:1439) at Config1BindingStub._invoke(Config1BindingStub.java:100) at com.sap.engine.services.webservices.espbase.client.dynamic.impl.DInterfaceInvokerImpl.invokeOperation(DInterfaceInvokerImpl.java:63) at com.sap.tc.webdynpro.model.webservice.model.WSGenericModelClassExecutable.execute(WSGenericModelClassExecutable.java:68) at com.sap.tc.webdynpro.model.webservice.gci.WSTypedModelClassExecutable.execute(WSTypedModelClassExecutable.java:46) at sap.gnt_laboral.UserValidatorCust.executeRequest_ValidateUser(UserValidatorCust.java:148) at sap.gnt_laboral.wdp.InternalUserValidatorCust.executeRequest_ValidateUser(InternalUserValidatorCust.java:160) at sap.gnt_laboral.MinhasAulas.onActionButton_0(MinhasAulas.java:160) at sap.gnt_laboral.wdp.InternalMinhasAulas.wdInvokeEventHandler(InternalMinhasAulas.java:187) 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:420) at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:132) at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:335) at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:143) at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:319) at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:713) at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:666) at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:250) at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:149) 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:386) at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364) at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1039) at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265) at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95) at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175) 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(AccessController.java:207) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172) Caused by: javax.xml.rpc.soap.SOAPFaultException: Cannot find the required parameter [username] in request message content. at com.sap.engine.services.webservices.jaxrpc.wsdl2java.soapbinding.MimeHttpBinding.buildFaultException(MimeHttpBinding.java:737) at com.sap.engine.services.webservices.jaxrpc.wsdl2java.soapbinding.MimeHttpBinding.processDocumentFault(MimeHttpBinding.java:860) at com.sap.engine.services.webservices.jaxrpc.wsdl2java.soapbinding.MimeHttpBinding.call(MimeHttpBinding.java:1439) at Config1BindingStub._invoke(Config1BindingStub.java:100) at com.sap.engine.services.webservices.espbase.client.dynamic.impl.DInterfaceInvokerImpl.invokeOperation(DInterfaceInvokerImpl.java:63) at com.sap.tc.webdynpro.model.webservice.model.WSGenericModelClassExecutable.execute(WSGenericModelClassExecutable.java:68) at com.sap.tc.webdynpro.model.webservice.gci.WSTypedModelClassExecutable.execute(WSTypedModelClassExecutable.java:46) at sap.gnt_laboral.UserValidatorCust.executeRequest_ValidateUser(UserValidatorCust.java:148) at sap.gnt_laboral.wdp.InternalUserValidatorCust.executeRequest_ValidateUser(InternalUserValidatorCust.java:160) at sap.gnt_laboral.MinhasAulas.onActionButton_0(MinhasAulas.java:160) at sap.gnt_laboral.wdp.InternalMinhasAulas.wdInvokeEventHandler(InternalMinhasAulas.java:187) 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:420) at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:132) at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:335) at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:143) at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:319) at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:713) at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:666) at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:250) at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:149) 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:386) at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364) at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1039) at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265) at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95) at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175) 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(AccessController.java:207) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)

Former Member
0 Kudos

Help me!!! Please!

Former Member
0 Kudos

Pls!!! Somebody help me....

Former Member
0 Kudos

Now I could see that my problem is not about authentication. I built a new webservice without any need of authentication for testing...

So I tested it at webservices navigator and it is working fine, and also it is not asking any user or password.

Then, I created another controller in my webdynpro and using the template tool, I mapped the model with my context. So now I have a method like this in my controller:


public void executeRequest_ValidateGntUser( )
  {
    IWDMessageManager manager = wdComponentAPI.getMessageManager();
    try
    {
      wdContext.currentRequest_ValidateGntUserElement().modelObject().execute();
      wdContext.nodeResponse().invalidate();
      wdContext.nodeValidateGntUserResponse().invalidate();
    }
    catch(Exception e)
    {
	     StringWriter sw = new StringWriter();
		 e.printStackTrace(new PrintWriter(sw));						 
						 
         manager.reportException(e.getMessage() + "  " + sw.toString(), false);
      	  
    }

After this, I created a view called loggin and mapped with the context. So now I have avaiable the Request_ValidateUser_Gnt Node. I used the template tool and created a form.

Then, I have manually created the nodes like this:



public void wdDoInit()
  {
    Gnt_user_auth model = new Gnt_user_auth();
    wdContext.nodeRequest_ValidateGntUser().bind(new Request_ValidateGntUser(model));
    wdContext.nodeRequest_ValidateGntUser().nodeValidateGntUser().bind(new ValidateGntUser(model));
    wdContext.nodeRequest_ValidateGntUser().nodeResponse().bind(new Response_ValidateGntUser(model));

  }

Then, I created a view for the result. I used the same logic that I used at loggin view (Using template) but for the Reponse node.

After this, I created a firePLug and a button at Loggin view. So, before firing this plug, I called this method:

wdThis.wdGetGnt_user_authCustController().executeRequest_ValidateGntUser()

Anyway, I could see that this problem is not about authentication because it is still the same problem. The only thing I was able to see is that in my stacktrace there is a line that says: Caused by: java.lang.reflect.InvocationTargetException: Cannot find the required parameter [username] in request message content. at

This username parameter is needed at my webservice implementation. Problably it was not found in my request.

Does anyone have any idea?

Edited by: Vinicius Faleiro on Feb 15, 2010 8:00 PM

Edited by: Vinicius Faleiro on Feb 15, 2010 8:00 PM

Edited by: Vinicius Faleiro on Feb 15, 2010 8:01 PM

siarhei_pisarenka3
Active Contributor
0 Kudos

Hi

Try to remove the code below and execute the service without it. I think the code causes the problem with parameter "username".

if ( port instanceof Stub ) {
        final Stub stub = (Stub)port;
        stub._setProperty(Stub.USERNAME_PROPERTY,  "username");
        stub._setProperty(Stub.PASSWORD_PROPERTY, "password");
      } else if (port instanceof DInterfaceInvoker) {
        final DInterfaceInvoker invoker = (DInterfaceInvoker)port;
        invoker.setProperty(Stub.USERNAME_PROPERTY,  "username");
        invoker.setProperty(Stub.PASSWORD_PROPERTY, "password");
      }

BR, Siarhei

Former Member
0 Kudos

Siarhei ,

After creating the new test webservice, I removed this code. I'm not using it anymore since there is no need to authenticate.

Answers (0)