MQ

MQ

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.

 View Only
  • 1.  IBM MQ REST API call not working with LDAP user over 12 char

    Posted Fri July 12, 2024 09:25 AM

    I want to use REST api with LDAP user (MQWEBUSER role) over 12 char UID, I have a filed which is short less than 12 char which is (SN). But it gives below error. 
    I can use same user using JMS application connecting to qmgr and send message on queue, it works.

    curl -k https://9.30.189.149:9443/ibmmq/rest/v2/messaging/qmgr/QLESBD03/queue/Q1/message -X POST -u mquser2mquser2:<password> -H "ibm-mq-rest-csrf-token: value" -H "Content-Type: text/plain;charset=utf-8" --data "Hello World 1"
    {"error": [{
     "msgId": "MQWB0103E",
     "action": "Obtain the necessary authorization to perform the operation and resubmit the request.",
     "completionCode": 2,
     "reasonCode": 2035,
     "type": "rest",
     "message": "MQWB0103E: Not authorized.",
     "explanation": "The authenticated principal is not authorized to perform the requested REST API operation."
    }]}

    This is LDAP setting on mqwebuser.xml file.
    <!-- LDAP registry configuration --> <ldapRegistry id='ldap' host='ldap-service.ibm-ldap.svc' port='389' ignoreCase='false' baseDN='dc=local,dc=io' certificateMapMode='NOT_SUPPORTED' idsFilters='ibm_dir_server' ldapType='Custom' bindDN='cn=admin,dc=local,dc=io' bindPassword='admin'> </ldapRegistry> <idsLdapFilterProperties id="ibm_dir_server" userFilter="(&amp;(|(uid=%v)(cn=%v))(objectclass=inetOrgPerson))" groupFilter="(&amp;(cn=%v)(objectclass=groupOfUniqueNames))" userIdMap="*:sn" groupIdMap="*:cn" groupMemberIdMap="memberOf:member"> </idsLdapFilterProperties>

    Looking for suggestion, how it will work, wondering if I need to change anything in ldap filter above. I tried userIdMap="*:sn" or userIdMap="*:uid" , but it does not work.



    ------------------------------
    Amit Aggarwal
    Markham
    9054132763
    ------------------------------


  • 2.  RE: IBM MQ REST API call not working with LDAP user over 12 char

    Posted Sat July 13, 2024 11:53 PM

    It is not apparent from your problem description whether your queue manager is running using O/S user id based authorization or whether it is using LDAP user id based authorization. Your question seems to focus on the mapping from a long LDAP user to the short name that might be needed if you were using O/S user id based authorization.

    You also say "it does not work" but it is unclear whether you are simply referring to the 2035 reason code or whether you mean the mapping of user ID is not working.

    Could you please provide the following additional information to help us fully understand your situation.

    • What type of authorization your queue manager is using, e.g. your QMGR CONNAUTH object and it's full definition.
    • The authorization failure message from the queue manager AMQERR01.LOG. This will include in it the user ID that was used to check authorization and will show us whether the mapping is taking place correctly.
    • The authorization rules that are in place on the queue manager for Q1 and the above reported user ID and the group it is in.

    Cheers,
    Morag



    ------------------------------
    Morag Hughson
    MQ Technical Education Specialist
    MQGem Software Limited
    Website: https://www.mqgem.com
    ------------------------------



  • 3.  RE: IBM MQ REST API call not working with LDAP user over 12 char

    Posted Thu July 18, 2024 07:18 PM
    Edited by Amit Aggarwal Fri July 19, 2024 10:22 AM

    My users from LDAP (short id or long Id - over 12 char) are able to send message when connecting to QM.
    Issue is only when using long (over 12 char) ids to sent messsags using REST API.

    If I send REST API request with same user who can send message to QM...I am getting this

    curl -k https://9.30.189.149:9443/ibmmq/rest/v2/messaging/qmgr/QLESBD03/queue/QA1/message -X POST -u mquser3mquser3:<pwd> -H "ibm-mq-rest-csrf-token: value" -H "Content-Type: text/plain;charset=utf-8" --data "Hello World mquser3mquser3"
    {"error": [{
      "msgId": "MQWB0103E",
      "action": "Obtain the necessary authorization to perform the operation and resubmit the request.",
      "completionCode": 2,
      "reasonCode": 2035,
      "type": "rest",
      "message": "MQWB0103E: Not authorized.",
      "explanation": "The authenticated principal is not authorized to perform the requested REST API operation."
    }]}


    Here is how QM authinfo is set, as it has concept of SHORTUSR, even user id is over 12 char, QM uses short username, which is working as expected.

    dis AUTHINFO(USE.LDAP)                      AUTHTYPE(IDPWLDAP)
         3 : dis AUTHINFO(USE.LDAP)                      AUTHTYPE(IDPWLDAP)
    AMQ8566I: Display authentication information details.
       AUTHINFO(USE.LDAP)                      AUTHTYPE(IDPWLDAP)
       ADOPTCTX(YES)                           DESCR( )
       CONNAME(ldap-service.ibm-ldap.svc(389))
       CHCKCLNT(REQUIRED)                      CHCKLOCL(OPTIONAL)
       CLASSGRP(groupOfNames)                  CLASSUSR(inetOrgPerson)
       FAILDLAY(1)                             FINDGRP(member)
       BASEDNG(ou=Groups,dc=local,dc=io)       BASEDNU(ou=People,dc=local,dc=io)
       LDAPUSER(cn=admin,dc=local,dc=io)    
       LDAPPWD(********************************)
       SHORTUSR(sn)                            GRPFIELD(cn)
       USRFIELD(cn)                            AUTHORMD(SEARCHGRP)
       NESTGRP(YES)                            SECCOMM(NO)
       ALTDATE(2024-07-18)                     ALTTIME(16.30.52)

    Here is how user looks in ldap, user3 can send message using REST API, but mquser3mquser3, can not, as it's over 12 char.

    dn: uid=user3,ou=People,dc=local,dc=io
    changetype: add
    objectclass: inetOrgPerson
    objectclass: organizationalPerson
    objectclass: person
    objectclass: top
    uid: user3
    displayname: user3
    sn: user3
    cn: user3
    userpassword: pwd
    
    dn: uid=mquser3mquser3,ou=People,dc=local,dc=io
    changetype: add
    objectclass: inetOrgPerson
    objectclass: organizationalPerson
    objectclass: person
    objectclass: top
    uid: mquser3mquser3
    displayname: mquser3mquser3
    sn: mquser30
    cn: mquser3mquser3
    userpassword: pwd
    


    Here my mqwebuser.xml

    <server>
        <featureManager>
                <feature>appSecurity-2.0</feature>
                <feature>ldapRegistry-3.0</feature>
                <feature>basicAuthenticationMQ-1.0</feature>
        </featureManager>
        <enterpriseApplication id="com.ibm.mq.console">
            <application-bnd>
                <security-role name="MQWebAdmin">
                    <group name="cn=mqm,ou=Groups,dc=local,dc=io" />
                </security-role>
                <security-role name="MQWebUser">
                    <special-subject type="ALL_AUTHENTICATED_USERS"/>
                </security-role>
            </application-bnd>
        </enterpriseApplication>
        <enterpriseApplication id="com.ibm.mq.rest">
               <application-bnd>
                <security-role name="MQWebAdmin">
                    <group name="cn=mqm,ou=Groups,dc=local,dc=io" />
                </security-role>
                <security-role name="MQWebUser">
                    <special-subject type="ALL_AUTHENTICATED_USERS"/>
                </security-role>
            </application-bnd>
        </enterpriseApplication>
    
        <!-- LDAP registry configuration                                                -->
        <ldapRegistry id='ldap'
          host='ldap-service.ibm-ldap.svc'
          port='389'
          ignoreCase='true'
          baseDN='dc=local,dc=io'
          certificateMapMode='NOT_SUPPORTED'
          idsFilters='ibm_dir_server'
          ldapType='Custom'
          bindDN='cn=admin,dc=local,dc=io'
          bindPassword='password'>
        </ldapRegistry>
    
        <idsLdapFilterProperties id="ibm_dir_server"
          userFilter="(&amp;(sn=%v)(objectclass=inetOrgPerson))"
          groupFilter="(&amp;(cn=%v)(objectclass=groupOfNames))"
          userIdMap="*:sn"
          groupIdMap="*:cn"
          groupMemberIdMap="groupOfNames:member">
        </idsLdapFilterProperties>
    
        <variable name="httpHost" value="*"/>
        <variable name="mqConsoleRemoteSupportEnabled" value="false"/>
        <variable name="mqConsoleEnableUnsafeInline" value="true"/>
        <variable name="mqRestMessagingEnabled" value="true"/>
    </server>    
    



    ------------------------------
    Amit Aggarwal
    Markham
    9054132763
    ------------------------------



  • 4.  RE: IBM MQ REST API call not working with LDAP user over 12 char

    Posted Thu July 18, 2024 08:10 PM

    Hi Amit,

    If your queue manager is using LDAP authorization, and you expect to passthrough the user ID you supply on the REST call, doesn't it have to be in the form:

    uid=mquser3mquser3,ou=People,dc=local,dc=io

    and not just

    mquser3mquser3

    as you show on your curl command?

    Could you please show us the error message in the queue manager's AMQERR01.LOG so that we can see, from the queue manager's perspective, what user ID made it to the authorisation check.

    Cheers,
    Morag



    ------------------------------
    Morag Hughson
    MQ Technical Education Specialist
    MQGem Software Limited
    Website: https://www.mqgem.com
    ------------------------------



  • 5.  RE: IBM MQ REST API call not working with LDAP user over 12 char

    Posted Fri July 19, 2024 10:20 AM

    Hi Morag,

    There is no error message in QM error log, I enable the REST API trace and I see this logs.
    fyi..I am running MQ on kubernetes installed using helm charts and using custom MQ build.

    [7/19/24 14:01:25:985 GMT] 0000005b MQBasicAuthen >  negotiateValidateandEstablishTrust(HttpServletRequest, HttpServletResponse) Entry  
                                     com.ibm.ws.webcontainer40.srt.SRTServletRequest40@ca20e7da
    [7/19/24 14:01:25:988 GMT] 0000005b MQBasicAuthen 3   Login succeeded for 'uid=mquser3mquser3,ou=People,dc=local,dc=io' UniqueId 'null'
    [7/19/24 14:01:25:988 GMT] 0000005b MQBasicAuthen <  negotiateValidateandEstablishTrust(HttpServletRequest, HttpServletResponse) Exit  
                                     com.ibm.wsspi.security.tai.TAIResult@e2519ff0
    [7/19/24 14:01:25:991 GMT] 0000005b SecurityFilte 1 com.ibm.mq.restapi.filters.SecurityFilter doFilter ENTRY - (@static) com.ibm.ws.webcontainer40.srt.SRTServletRequest40@ca20e7da com.ibm.ws.webcontainer.filter.WebAppFilterChain@c2478617
    [7/19/24 14:01:25:992 GMT] 0000005b SecurityFilte I com.ibm.mq.restapi.filters.SecurityFilter jsonHttpServletRequest DATA - (@dd7a008d) Request body (rbody) (26 characters) - Hello World mquser3mquser3
    [7/19/24 14:01:25:992 GMT] 0000005b SecurityFilte 1 com.ibm.mq.restapi.filters.SecurityFilter initResponse ENTRY - (@static) com.ibm.mq.restapi.filters.SecurityFilter$jsonHttpServletRequest@dd7a008d com.ibm.mq.restapi.filters.SecurityFilter$jsonHttpServletResponse@8e08e0e0
    [7/19/24 14:01:25:993 GMT] 0000005b SecurityFilte 1 com.ibm.mq.restapi.filters.SecurityFilter resetHeaders ENTRY - (@static) com.ibm.mq.restapi.filters.SecurityFilter$jsonHttpServletRequest@dd7a008d com.ibm.mq.restapi.filters.SecurityFilter$jsonHttpServletResponse@8e08e0e0
    [7/19/24 14:01:25:993 GMT] 0000005b SecurityFilte 1 com.ibm.mq.restapi.filters.SecurityFilter resetHeaders EXIT - (@static) null
    [7/19/24 14:01:25:993 GMT] 0000005b SecurityFilte 1 com.ibm.mq.restapi.filters.SecurityFilter initResponse EXIT - (@static) 200
    [7/19/24 14:01:25:997 GMT] 0000005b RequestFilter 1 com.ibm.mq.restapi.cxf.filters.RequestFilterCSRFCheck filter ENTRY - (@955041bf) org.apache.cxf.jaxrs.impl.ContainerRequestContextImpl@49b97dae
    [7/19/24 14:01:25:997 GMT] 0000005b RequestFilter 1 com.ibm.mq.restapi.cxf.filters.RequestFilterCSRFCheck isOptionsMethod ENTRY - (@static)
    [7/19/24 14:01:25:997 GMT] 0000005b RequestFilter 1 com.ibm.mq.restapi.cxf.filters.RequestFilterCSRFCheck isOptionsMethod EXIT - (@955041bf) false
    [7/19/24 14:01:25:997 GMT] 0000005b RequestFilter 1 com.ibm.mq.restapi.cxf.filters.RequestFilterCSRFCheck isPostMethod ENTRY - (@955041bf)
    [7/19/24 14:01:25:997 GMT] 0000005b RequestFilter 1 com.ibm.mq.restapi.cxf.filters.RequestFilterCSRFCheck isPostMethod EXIT - (@955041bf) true
    [7/19/24 14:01:25:997 GMT] 0000005b RequestFilter 1 com.ibm.mq.restapi.cxf.filters.RequestFilterCSRFCheck isLoginURL ENTRY - (@955041bf)
    [7/19/24 14:01:25:998 GMT] 0000005b RequestFilter 1 com.ibm.mq.restapi.cxf.filters.RequestFilterCSRFCheck isVersionURI ENTRY - (@static) v2/messaging/qmgr/QLESBD03/queue/QA1/message login
    [7/19/24 14:01:25:998 GMT] 0000005b RequestFilter 1 com.ibm.mq.restapi.cxf.filters.RequestFilterCSRFCheck isVersionURI EXIT - (@955041bf) false
    [7/19/24 14:01:25:998 GMT] 0000005b RequestFilter 1 com.ibm.mq.restapi.cxf.filters.RequestFilterCSRFCheck isVersionURI ENTRY - (@static) v2/messaging/qmgr/QLESBD03/queue/QA1/message login/
    [7/19/24 14:01:25:998 GMT] 0000005b RequestFilter 1 com.ibm.mq.restapi.cxf.filters.RequestFilterCSRFCheck isVersionURI EXIT - (@955041bf) false
    [7/19/24 14:01:25:998 GMT] 0000005b RequestFilter 1 com.ibm.mq.restapi.cxf.filters.RequestFilterCSRFCheck isLoginURL EXIT - (@955041bf) false
    [7/19/24 14:01:25:998 GMT] 0000005b RequestFilter 1 com.ibm.mq.restapi.cxf.filters.RequestFilterCSRFCheck authenticated ENTRY - (@955041bf) org.apache.cxf.jaxrs.impl.ContainerRequestContextImpl@49b97dae
    [7/19/24 14:01:25:998 GMT] 0000005b RequestFilter 1 com.ibm.mq.restapi.cxf.filters.RequestFilterCSRFCheck validateRequestAuthentication ENTRY - (@955041bf) org.apache.cxf.jaxrs.impl.ContainerRequestContextImpl@49b97dae
    [7/19/24 14:01:25:998 GMT] 0000005b RequestFilter 1 com.ibm.mq.restapi.cxf.filters.RequestFilterCSRFCheck getLtpaCookieName ENTRY - (@static)
    [7/19/24 14:01:25:998 GMT] 0000005b RequestFilter 1 com.ibm.mq.restapi.cxf.filters.RequestFilterCSRFCheck LtpaToken2_1721359942786586701 EXIT - (@33bd564) null
    [7/19/24 14:01:25:998 GMT] 0000005b RequestFilter 1 com.ibm.mq.restapi.cxf.filters.RequestFilterCSRFCheck isLoginURL ENTRY - (@955041bf)
    [7/19/24 14:01:25:998 GMT] 0000005b RequestFilter 1 com.ibm.mq.restapi.cxf.filters.RequestFilterCSRFCheck isVersionURI ENTRY - (@static) v2/messaging/qmgr/QLESBD03/queue/QA1/message login
    [7/19/24 14:01:25:998 GMT] 0000005b RequestFilter 1 com.ibm.mq.restapi.cxf.filters.RequestFilterCSRFCheck isVersionURI EXIT - (@955041bf) false
    [7/19/24 14:01:25:998 GMT] 0000005b RequestFilter 1 com.ibm.mq.restapi.cxf.filters.RequestFilterCSRFCheck isVersionURI ENTRY - (@static) v2/messaging/qmgr/QLESBD03/queue/QA1/message login/
    [7/19/24 14:01:25:998 GMT] 0000005b RequestFilter 1 com.ibm.mq.restapi.cxf.filters.RequestFilterCSRFCheck isVersionURI EXIT - (@955041bf) false
    [7/19/24 14:01:25:998 GMT] 0000005b RequestFilter 1 com.ibm.mq.restapi.cxf.filters.RequestFilterCSRFCheck isLoginURL EXIT - (@955041bf) false
    [7/19/24 14:01:25:999 GMT] 0000005b RequestFilter 1 com.ibm.mq.restapi.cxf.filters.RequestFilterCSRFCheck validateRequestAuthentication EXIT - (@955041bf) true
    [7/19/24 14:01:25:999 GMT] 0000005b RequestFilter 1 com.ibm.mq.restapi.cxf.filters.RequestFilterCSRFCheck authenticated EXIT - (@955041bf) true
    [7/19/24 14:01:25:999 GMT] 0000005b RequestFilter 1 com.ibm.mq.restapi.cxf.filters.RequestFilterCSRFCheck performCSRFChecks ENTRY - (@955041bf) org.apache.cxf.jaxrs.impl.ContainerRequestContextImpl@49b97dae
    [7/19/24 14:01:25:999 GMT] 0000005b RequestFilter 1 com.ibm.mq.restapi.cxf.filters.RequestFilterCSRFCheck needCSRFCheck ENTRY - (@955041bf) org.apache.cxf.jaxrs.impl.ContainerRequestContextImpl@49b97dae
    [7/19/24 14:01:25:999 GMT] 0000005b RequestFilter 1 com.ibm.mq.restapi.cxf.filters.RequestFilterCSRFCheck needCSRFCheck EXIT - (@955041bf) true
    [7/19/24 14:01:25:999 GMT] 0000005b RequestFilter 1 com.ibm.mq.restapi.cxf.filters.RequestFilterCSRFCheck isCSRFTokenValid ENTRY - (@955041bf) org.apache.cxf.jaxrs.impl.ContainerRequestContextImpl@49b97dae
    [7/19/24 14:01:25:999 GMT] 0000005b RequestFilter 1 com.ibm.mq.restapi.cxf.filters.RequestFilterCSRFCheck isCSRFTokenValid EXIT - (@955041bf) true
    [7/19/24 14:01:25:999 GMT] 0000005b RequestFilter 1 com.ibm.mq.restapi.cxf.filters.RequestFilterCSRFCheck performCSRFChecks EXIT - (@955041bf) null
    [7/19/24 14:01:25:999 GMT] 0000005b RequestFilter 1 com.ibm.mq.restapi.cxf.filters.RequestFilterCSRFCheck filter EXIT - (@955041bf) null
    [7/19/24 14:01:25:999 GMT] 0000005b RequestFilter 1 com.ibm.mq.restapi.cxf.filters.RequestFilterLocaleExtractor filter ENTRY - (@1d21a0f0) org.apache.cxf.jaxrs.impl.ContainerRequestContextImpl@49b97dae
    [7/19/24 14:01:26:000 GMT] 0000005b RequestFilter I com.ibm.mq.restapi.cxf.filters.RequestFilterLocaleExtractor filter DATA - (@static) acceptableLocales are [*]
    [7/19/24 14:01:26:054 GMT] 0000005b RequestFilter I com.ibm.mq.restapi.cxf.filters.RequestFilterLocaleExtractor filter DATA - (@static) setting en_US in KOAThreadLocal
    [7/19/24 14:01:26:055 GMT] 0000005b RequestFilter 1 com.ibm.mq.restapi.cxf.filters.RequestFilterLocaleExtractor filter EXIT - (@1d21a0f0) 1
    [7/19/24 14:01:26:055 GMT] 0000005b RequestFilter 1 com.ibm.mq.restapi.cxf.filters.RequestFilterRestRequestTimeout filter ENTRY - (@295d2428) org.apache.cxf.jaxrs.impl.ContainerRequestContextImpl@49b97dae
    [7/19/24 14:01:26:055 GMT] 0000005b RequestFilter 1 com.ibm.mq.restapi.cxf.filters.RequestFilterRestRequestTimeout filter EXIT - (@295d2428) null
    [7/19/24 14:01:26:056 GMT] 0000005b RequestFilter 1 com.ibm.mq.restapi.cxf.filters.RequestFilterGETBody filter ENTRY - (@static) org.apache.cxf.jaxrs.impl.ContainerRequestContextImpl@49b97dae
    [7/19/24 14:01:26:056 GMT] 0000005b RequestFilter 1 com.ibm.mq.restapi.cxf.filters.RequestFilterGETBody filter EXIT - (@static) null
    [7/19/24 14:01:26:059 GMT] 0000005b MQQueueMsgRes 1 com.ibm.mq.rest.v1.resource.MQQueueMsgResource sendPostMethod ENTRY - (@static) {1} {2} {3} {4} {5} 
                                     QLESBD03
                                     QA1
                                     org.apache.cxf.jaxrs.impl.UriInfoImpl@59f8aaf9
                                     org.apache.cxf.jaxrs.impl.HttpHeadersImpl@df4da56b
                                     org.apache.cxf.jaxrs.impl.SecurityContextImpl@c262ddc0
    [7/19/24 14:01:26:059 GMT] 0000005b MQQueueMsgLis 1 com.ibm.mq.rest.v2.resource.MQQueueMsgListResourceV2 getMessagingService ENTRY - (@static) PUT
    [7/19/24 14:01:26:060 GMT] 0000005b MQQueueMsgLis 1 com.ibm.mq.rest.v2.resource.MQQueueMsgListResourceV2 getMessagingService EXIT - (@static) com.ibm.mq.restapi.util.MessagingServiceV2@c03d1657
    [7/19/24 14:01:26:061 GMT] 0000005b MessagingServ 1 com.ibm.mq.restapi.util.MessagingService checkMessagingEnabled ENTRY - (@static)
    [7/19/24 14:01:26:061 GMT] 0000005b MessagingServ 1 com.ibm.mq.restapi.util.MessagingService checkMessagingEnabled EXIT - (@static) null
    [7/19/24 14:01:26:061 GMT] 0000005b MessagingServ 1 com.ibm.mq.restapi.util.MessagingService checkJMSCompliantMessage ENTRY - (@static) org.apache.cxf.jaxrs.impl.HttpHeadersImpl@df4da56b
    [7/19/24 14:01:26:061 GMT] 0000005b MessagingServ 1 com.ibm.mq.restapi.util.MessagingServiceV1 validateJMSCompliantMessage ENTRY - (@static) org.apache.cxf.jaxrs.impl.HttpHeadersImpl@df4da56b
    [7/19/24 14:01:26:061 GMT] 0000005b MessagingServ 1 com.ibm.mq.restapi.util.MessagingServiceV1 validateJMSCompliantMessage EXIT - (@static) null
    [7/19/24 14:01:26:061 GMT] 0000005b MessagingServ 1 com.ibm.mq.restapi.util.MessagingService checkJMSCompliantMessage EXIT - (@static) null
    [7/19/24 14:01:26:061 GMT] 0000005b MessagingServ 1 com.ibm.mq.restapi.util.MessagingService checkSecurityContext ENTRY - (@static) org.apache.cxf.jaxrs.impl.SecurityContextImpl@c262ddc0
    [7/19/24 14:01:26:061 GMT] 0000005b MessagingServ 1 com.ibm.mq.restapi.util.MessagingService lookupWebUserContextAdoption ENTRY - (@static)
    [7/19/24 14:01:26:061 GMT] 0000005b MessagingServ 1 com.ibm.mq.restapi.util.MessagingService lookupWebUserContextAdoption DATA - (@static) Refreshed 'mqRestMessagingAdoptWebUserContext' property (true)
    [7/19/24 14:01:26:061 GMT] 0000005b MessagingServ 1 com.ibm.mq.restapi.util.MessagingService lookupWebUserContextAdoption EXIT - (@static) true
    [7/19/24 14:01:26:062 GMT] 0000005b MessagingPool 1 com.ibm.mq.restapi.util.MessagingPoolManager setAdoptWebUserContext ENTRY - (@f93cc29)
    [7/19/24 14:01:26:062 GMT] 0000005b MessagingPool 1 com.ibm.mq.restapi.util.MessagingPoolManager setAdoptWebUserContext EXIT - (@f93cc29) null
    [7/19/24 14:01:26:062 GMT] 0000005b ExceptionFact 1 com.ibm.mq.restapi.util.ExceptionFactory checkSecurityContext THROW - (@static) com.ibm.mq.restapi.util.RESTAPIException: MQWB0103E: Not authorized.
    	at com.ibm.mq.restapi.util.ExceptionFactory.notAuthorized(ExceptionFactory.java:715)
    	at com.ibm.mq.restapi.util.MessagingService.checkSecurityContext(MessagingService.java:1020)
    	at com.ibm.mq.rest.v1.resource.MQQueueMsgResource.sendPostMethod(MQQueueMsgResource.java:491)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:90)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
    	at java.lang.reflect.Method.invoke(Method.java:508)
    	at com.ibm.ws.jaxrs20.server.LibertyJaxRsServerFactoryBean.performInvocation(LibertyJaxRsServerFactoryBean.java:649)
    	at com.ibm.ws.jaxrs20.server.LibertyJaxRsInvoker.performInvocation(LibertyJaxRsInvoker.java:161)
    	at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:101)
    


    ------------------------------
    Amit Aggarwal
    Markham
    9054132763
    ------------------------------



  • 6.  RE: IBM MQ REST API call not working with LDAP user over 12 char

    Posted Tue July 16, 2024 12:18 PM
    Edited by om prakash Tue July 16, 2024 12:19 PM

    The error is from the REST API server; is the group mapped correctly in webserver.xml?

    Did any error showup on the queue manager side for user `mquser2mquser2`



    ------------------------------
    om prakash
    ------------------------------