7 Replies Latest reply: Jul 30, 2013 10:41 AM by Bibhuti Bhusan RSS

    Authentication error using PAPI-WS for BPM Studio 10.3

    752961
      I followed the steps laid out in the material from this thread using SOAP UI:

      PAPI Web Service (PAPI-WS) Example for Oracle BPM Studio


      It seems that BPM Studio does not recognize the default credentials user: "test" and password: "test"

      I receive the following error when I try to make any call:

      <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
      <S:Body>
      <S:Fault xmlns:ns3="http://www.w3.org/2003/05/soap-envelope">
      <faultcode>S:Client</faultcode>
      <faultstring>Participant could not be authenticated. A wrong username or password might have been specified.</faultstring>
      <detail>
      <oens:OperationException xmlns:oens="http://bea.com/albpm/PapiWebService">
      <exceptionName>fuego.papi.webservice.handlers.AuthenticationException</exceptionName>
      <message>Participant could not be authenticated. A wrong username or password might have been specified.</message>
      <technicalInfo>fuego.papi.webservice.handlers.AuthenticationException: Participant could not be authenticated. A wrong username or password might have been specified.
           at fuego.papi.webservice.handlers.AuthenticationHandler.processAuthentication(AuthenticationHandler.java:144)
           at fuego.papi.webservice.handlers.AuthenticationHandler.handleMessage(AuthenticationHandler.java:74)
           at fuego.papi.webservice.handlers.AuthenticationHandler.handleMessage(AuthenticationHandler.java:46)
           at com.sun.xml.ws.handler.HandlerProcessor.callHandleMessage(HandlerProcessor.java:292)
           at com.sun.xml.ws.handler.HandlerProcessor.callHandlersRequest(HandlerProcessor.java:135)
           at com.sun.xml.ws.handler.ServerSOAPHandlerTube.callHandlersOnRequest(ServerSOAPHandlerTube.java:133)
           at com.sun.xml.ws.handler.HandlerTube.processRequest(HandlerTube.java:116)
           at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:595)
           at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:554)
           at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:539)
           at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:436)
           at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:243)
           at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:444)
           at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:244)
           at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:135)
           at com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doGet(WSServletDelegate.java:129)
           at com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doPost(WSServletDelegate.java:160)
           at com.sun.xml.ws.transport.http.servlet.WSServlet.doPost(WSServlet.java:75)
           at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
           at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
           at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
           at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
           at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
           at java.lang.reflect.Method.invoke(Unknown Source)
           at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:243)
           at java.security.AccessController.doPrivileged(Native Method)
           at javax.security.auth.Subject.doAsPrivileged(Unknown Source)
           at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:275)
           at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:161)
           at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:245)
           at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:50)
           at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:156)
           at java.security.AccessController.doPrivileged(Native Method)
           at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:152)
           at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
           at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
           at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
           at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
           at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
           at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
           at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
           at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:667)
           at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
           at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
           at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
           at java.lang.Thread.run(Unknown Source)
      Caused by: fuego.papi.exception.AuthenticationException: Cannot authenticate participant 'test'.
           at fuego.papi.impl.ProcessServiceImpl.authenticatePassport(ProcessServiceImpl.java:297)
           at fuego.papi.webservice.pool.ProcessServiceSessionPoolManager.getSession(ProcessServiceSessionPoolManager.java:185)
           at fuego.papi.webservice.WebServiceManager.getProcessServiceSession(WebServiceManager.java:156)
           at fuego.papi.webservice.handlers.AuthenticationHandler.processAuthentication(AuthenticationHandler.java:141)
           ... 45 more
      Caused by: fuego.directory.AuthenticationException: Login incorrect.
      Detail:Verify that the information provided is correct.
      If you cannot solve the problem, check with your administrator.
      ID [default] PARTICIPANT [test] REASON [Login incorrect.
      Detail:Verify that the information provided is correct.
      If you cannot solve the problem, check with your administrator.
      ID [Project:Test] PARTICIPANT [test] REASON [invalid username or password].
      ].

           at fuego.directory.AuthenticationException.wrap(AuthenticationException.java:104)
           at fuego.directory.project.engine.EmbeddedEngineAuthenticationAccessor.connect(EmbeddedEngineAuthenticationAccessor.java:69)
           at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
           at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
           at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
           at java.lang.reflect.Method.invoke(Unknown Source)
           at fuego.directory.provider.DirectorySessionImpl$AccessorProxy.invoke(DirectorySessionImpl.java:756)
           at $Proxy12.connect(Unknown Source)
           at fuego.directory.provider.DirectorySessionImpl.connect(DirectorySessionImpl.java:250)
           at fuego.directory.provider.Factory.startSession(Factory.java:405)
           at fuego.directory.Directory.startSession(Directory.java:268)
           at fuego.papi.impl.ProcessServiceImpl.authenticatePassport(ProcessServiceImpl.java:287)
           ... 48 more
      Caused by: fuego.directory.AuthenticationException: Login incorrect.
      Detail:Verify that the information provided is correct.
      If you cannot solve the problem, check with your administrator.
      ID [Project:Test] PARTICIPANT [test] REASON [invalid username or password].

           at fuego.directory.project.engine.ProjectFullParticipantsAccessor.fetchHumanParticipant(ProjectFullParticipantsAccessor.java:82)
           at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
           at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
           at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
           at java.lang.reflect.Method.invoke(Unknown Source)
           at fuego.directory.provider.DirectorySessionImpl$AccessorProxy.invoke(DirectorySessionImpl.java:756)
           at $Proxy15.fetchHumanParticipant(Unknown Source)
           at fuego.directory.project.engine.EmbeddedEngineAuthenticationAccessor.connect(EmbeddedEngineAuthenticationAccessor.java:66)
           ... 58 more</technicalInfo>
      </oens:OperationException>
      </detail>
      </S:Fault>
      </S:Body>
      </S:Envelope>





      Like I said above, it seems that BPM Studio does not recognize the default credentials user: "test" and password: "test"


      Is there anyway to change these default credentials?



      Thanks!

      Edited by: user9001687 on Feb 10, 2010 2:14 PM

      Edited by: user9001687 on Feb 10, 2010 2:16 PM
        • 1. Re: Authentication error using PAPI-WS for BPM Studio 10.3
          M Peterson
          Did you create this "test" participant yourself? There really isn't a "default" user name "test".

          HTH,
          Mark
          • 2. Re: Authentication error using PAPI-WS for BPM Studio 10.3
            752961
            Hi Mark,

            Thanks for the reply. I in fact had not setup the necessary participants in the BPM. Dumb move by me.


            Resolution: Use the name of a valid participant for the process currently running in the BPM engine (Participants are created in the Organization folder). If using BPM Studio and the default WS-Security Username Token authentication setting, the name and passwords will be the same (i.e. Name: "Bob Jones", Password: "Bob Jones").
            Also, remember to set WSS-PasswordType to "PasswordText".

            Edited by: user9001687 on Feb 10, 2010 5:07 PM
            • 3. Re: Authentication error using PAPI-WS for BPM Studio 10.3
              user12272414
              Hi,
              I am getting the same error as you've got. Is having a PAPI Client mandatory?
              I just deployed a process as webservice using BPM Studio and had selected the "Requires HTTP Basic Authentication" and "Authentication Type" as "Username Token Profile".
              After that created a soapUI project passing the WSDL for the above deployed process.
              Below is my SOAP request in soapUI
              <soapenv:Envelope
                   xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                   xmlns:pps="http://bea.com/albpm/ProLogisBPM/PPSFTProcess"
                   xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">

              <soapenv:Header>
                   <wsse:Security>
                   <wsse:UsernameToken>
                        <wsse:Username>Paul</wsse:Username>
                        <wsse:Password>Paul</wsse:Password>
                   </wsse:UsernameToken>
              ...
              ...
              I am still getting the same problem. I have not done any bit of coding related to PAPI. So is that where I am missing on? TIA

              Warm regards.
              • 4. Re: Authentication error using PAPI-WS for BPM Studio 10.3
                Daniel Atwood
                In SoapUI's "Request Properties" panel in the lower left hand corner (where you set the Username to "Paul" and the Password to "Paul"), also set the "WSS-Password Type" field to "PasswordText".

                Dan
                • 5. Re: Authentication error using PAPI-WS for BPM Studio 10.3
                  user12272414
                  Thanks so much Dan. I changed as you mentioned and then added WSS-Username Token as while processing BPM process as web service I have used the same opetion. Still I am getting the same error for Authorization Failure.

                  SOAP Requests look like :

                  <soapenv:Envelope xmlns:pps="http://bea.com/albpm/ProLogisBPM/PPSFTProcess" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
                  <soapenv:Header>
                  <wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
                  <wsse:UsernameToken wsu:Id="UsernameToken-2" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
                  <wsse:Username>Paul</wsse:Username>
                  <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">Paul</wsse:Password>
                  <wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">AlmoI4QkO2hp9z10BQGA0A==</wsse:Nonce>
                  <wsu:Created>2010-03-17T15:48:04.843Z</wsu:Created>
                  </wsse:UsernameToken>
                  </wsse:Security>
                  </soapenv:Header>
                  <soapenv:Body>

                  Adter


                  <ns1:stackTrace xmlns:ns1="http://xml.apache.org/axis/">fuego.webservices.security.AuthorizationException: Authorization Failed.
                       at fuego.soaptype.ProcessWebServiceAuthorization.authorize(ProcessWebServiceAuthorization.java:57)
                       at fuego.soaptype.AxisSoapService$HttpBasicAuthentitcationHandler.invoke(AxisSoapService.java:888)
                       at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
                       at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
                       at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
                       at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
                       at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
                       at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
                       at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
                       at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
                       at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
                       at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:453)
                       at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
                       at fuego.soaptype.AxisSoapService.invoke(AxisSoapService.java:357)
                       at fuego.soaptype.AxisSoapService.invoke(AxisSoapService.java:122)
                       at fuego.webservices.HttpSoapListener.process(HttpSoapListener.java:206)
                       at fuego.http.HttpExecution$1.run(HttpExecution.java:71)
                       at fuego.component.Message.process(Message.java:576)
                       at fuego.component.ExecutionThread.processMessage(ExecutionThread.java:780)
                       at fuego.component.ExecutionThread.processBatch(ExecutionThread.java:755)
                       at fuego.component.ExecutionThread.doProcessBatch(ExecutionThread.java:142)
                       at fuego.component.ExecutionThread.doProcessBatch(ExecutionThread.java:134)
                       at fuego.http.HttpExecution$HttpPrincipal.processBatch(HttpExecution.java:190)
                       at fuego.component.ExecutionThread.work(ExecutionThread.java:839)
                       at fuego.component.ExecutionThread.run(ExecutionThread.java:408)
                  Caused by: java.lang.IllegalArgumentException: user: null
                       at fuego.components.WebServiceSessionManager.createSession(WebServiceSessionManager.java:88)
                       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                       at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                       at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                       at java.lang.reflect.Method.invoke(Unknown Source)
                       at fuego.lang.JavaClass.invokeMethod(JavaClass.java:1410)
                       at fuego.lang.JavaObject.invoke(JavaObject.java:227)
                       at fuego.lang.Invokeable.invokeImpl(Invokeable.java:234)
                       at fuego.lang.Invokeable.invokeDynamic(Invokeable.java:188)
                       at fuego.lang.Invokeable.invoke(Invokeable.java:160)
                       at fuego.fengine.FEngineWebServiceExecutor$2.execute(FEngineWebServiceExecutor.java:133)
                       at fuego.server.execution.DefaultEngineExecution$AtomicExecutionTA.runTransaction(DefaultEngineExecution.java:304)
                       at fuego.transaction.TransactionAction.startBaseTransaction(TransactionAction.java:470)
                       at fuego.transaction.TransactionAction.startTransaction(TransactionAction.java:551)
                       at fuego.transaction.TransactionAction.start(TransactionAction.java:212)
                       at fuego.server.execution.DefaultEngineExecution.executeImmediate(DefaultEngineExecution.java:123)
                       at fuego.server.execution.EngineExecution.executeImmediate(EngineExecution.java:66)
                       at fuego.fengine.FEngineWebServiceExecutor$1.run(FEngineWebServiceExecutor.java:65)
                       at fuego.component.Message.process(Message.java:576)
                       at fuego.component.ExecutionThread.processMessage(ExecutionThread.java:780)
                       at fuego.component.ExecutionThread.processBatch(ExecutionThread.java:755)
                       at fuego.component.ExecutionThread.doProcessBatch(ExecutionThread.java:142)
                       at fuego.component.ExecutionThread.doProcessBatch(ExecutionThread.java:134)
                       at fuego.fengine.FEngineProcessBean.processBatch(FEngineProcessBean.java:244)
                       at fuego.fengine.FEngineWebServiceExecutor$WebServiceExecutorPrincipal.processBatch(FEngineWebServiceExecutor.java:168)
                       ... 2 more
                  Caused by: fuego.directory.AuthenticationException: Login incorrect.
                  Detail:Verify that the information provided is correct.
                  If you cannot solve the problem, check with your administrator.
                  ID [default] PARTICIPANT [null] REASON [participant is empty].

                       at fuego.directory.AuthenticationException.error(AuthenticationException.java:50)
                       at fuego.directory.AuthenticationException.participantIdIsWrong(AuthenticationException.java:94)
                       at fuego.components.WebServiceSessionManager$SessionImpl.&lt;init>(WebServiceSessionManager.java:220)
                       at fuego.components.WebServiceSessionManager.createSession(WebServiceSessionManager.java:79)
                       ... 26 more</ns1:stackTrace>

                  Any help or guiding pointer would be deeply appreciated. TIA
                  • 6. Re: Authentication error using PAPI-WS for BPM Studio 10.3
                    678360
                    Via SoapUI, add the header for HTTP Basic Authentication

                    1. Get the user and password in format user:password
                    2. Converto to Base64

                    e.g: czl2:123456 -> Y3psMjoxMjM0NTY=

                    3. Add the header "Authorization" with value "Basic Y3psMjoxMjM0NTY="
                    • 7. Re: Authentication error using PAPI-WS for BPM Studio 10.3
                      Bibhuti Bhusan

                      HI,

                       

                      I did every thing that has been proposed with no luck.

                       

                      The steps followed are as follows

                      1. Activated the PAPI WS in Engine prference
                      2. Took the wsdl hosted and created a soap UI project
                      3. Tring to create a instance of the process by using processCreateInstance()
                      4. Setted the user and password with "WSS-Password Type" field to "PasswordText".
                      5. Tried with Authorization" with value "Basic Y3psMjoxMjM0NTY="
                      6. Nothing seems to be working and the response keep on saying "Participant could not be authenticated. A wrong username or password might have been specified"

                       

                      Any help would be highly appiciated.

                       

                      Thanks

                      Bibhu