IBM Support

IT25948: CREATE/UPDATE USER ACCOUNTS REST API: ERROR API000452 IF THE USER ID HAS A DOT

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • Attempts to create or update User Accounts using REST APIs
    (Create UserAccount / Update UserAccount) results in errors as
    below when the user ID has a dot (for example, test.user1):
    
    - Error from Rest API Interactive Console (Update operation):
    
    { "errorCode": 400, "errorDescription": "API000175: Could not
    save user account: API000452: User ID not valid. The following
    characters are not valid: ! @ # % ^ * ( ) + ? , < > { } [ ]
    | ; \" '." }
    
    
    - Error from WLP messages.log (Update Operation):
    [7/27/18 16:04:50:534 BRT] 0000007c
    com.ibm.tenx.ws.WebServiceServlet                            E
    GORCR9999E:                 None: API000175: Could not save
    user account: API000452: User ID not valid. The following
    characters are not valid: !  @  #  %  ^  *  (  )  +  ?  ,  <  >
     {  }  [  ]  |  ;  "  '.
    com.ibm.tenx.ws.WebServiceException: API000175: Could not save
    user account: API000452: User ID not valid. The following
    characters are not valid: !  @  #  %  ^  *  (  )  +  ?  ,  <  >
     {  }  [  ]  |  ;  "  '.
     at
    com.ibm.tenx.ws.ui.WebServiceBrowser.execute(WebServiceBrowser.j
    ava:556)
     at
    com.ibm.b2b.api.IntegratorWebServiceBrowser.execute(IntegratorWe
    bServiceBrowser.java:32)
     at
    com.ibm.tenx.ws.WebServiceServlet.processWebServiceRequest(WebSe
    rviceServlet.java:282)
     at
    com.ibm.tenx.ws.WebServiceServlet.service(WebServiceServlet.java
    :178)
     at
    com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWr
    apper.java:1290)
     at
    com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(Ser
    vletWrapper.java:778)
     at
    com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(Ser
    vletWrapper.java:475)
     at
    com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(We
    bAppFilterChain.java:152)
     at
    com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebApp
    FilterChain.java:94)
     at
    com.ibm.b2b.api.swagger.SimpleCORSFilter.doFilter(SimpleCORSFilt
    er.java:23)
     at
    com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(Fi
    lterInstanceWrapper.java:207)
     at
    com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebApp
    FilterChain.java:91)
     at
    com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebA
    ppFilterManager.java:1021)
     at
    com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters
    (WebAppFilterManager.java:1143)
     at
    com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleReques
    t(CacheServletWrapper.java:82)
     at
    com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.
    java:938)
     at
    com.ibm.ws.webcontainer.osgi.DynamicVirtualHost$2.run(DynamicVir
    tualHost.java:278)
     at
    com.ibm.ws.http.dispatcher.internal.channel.HttpDispatcherLink$T
    askWrapper.run(HttpDispatcherLink.java:967)
     at
    com.ibm.ws.http.dispatcher.internal.channel.HttpDispatcherLink.w
    rapHandlerAndExecute(HttpDispatcherLink.java:359)
     at
    com.ibm.ws.http.dispatcher.internal.channel.HttpDispatcherLink.r
    eady(HttpDispatcherLink.java:318)
     at
    com.ibm.ws.http.channel.internal.inbound.HttpInboundLink.handleD
    iscrimination(HttpInboundLink.java:471)
     at
    com.ibm.ws.http.channel.internal.inbound.HttpInboundLink.handleN
    ewRequest(HttpInboundLink.java:405)
     at
    com.ibm.ws.http.channel.internal.inbound.HttpInboundLink.process
    Request(HttpInboundLink.java:285)
     at
    com.ibm.ws.http.channel.internal.inbound.HttpInboundLink.ready(H
    ttpInboundLink.java:256)
     at
    com.ibm.ws.tcpchannel.internal.NewConnectionInitialReadCallback.
    sendToDiscriminators(NewConnectionInitialReadCallback.java:174)
     at
    com.ibm.ws.tcpchannel.internal.NewConnectionInitialReadCallback.
    complete(NewConnectionInitialReadCallback.java:83)
     at
    com.ibm.ws.tcpchannel.internal.WorkQueueManager.requestComplete(
    WorkQueueManager.java:504)
     at
    com.ibm.ws.tcpchannel.internal.WorkQueueManager.attemptIO(WorkQu
    eueManager.java:574)
     at
    com.ibm.ws.tcpchannel.internal.WorkQueueManager.workerRun(WorkQu
    eueManager.java:929)
     at
    com.ibm.ws.tcpchannel.internal.WorkQueueManager$Worker.run(WorkQ
    ueueManager.java:1018)
     at
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExec
    utor.java:1157)
     at
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExe
    cutor.java:627)
     at java.lang.Thread.run(Thread.java:798)
    Caused by: com.ibm.tenx.core.exception.BaseException:
    API000175: Could not save user account: API000452: User ID not
    valid. The following characters are not valid: !  @  #  %  ^  *
     (  )  +  ?  ,  <  >  {  }  [  ]  |  ;  "  '.
     at
    com.ibm.b2b.api.svc.useraccount.impl.UpdateUserAccountServiceImp
    l.update(UpdateUserAccountServiceImpl.java:136)
     at
    com.ibm.b2b.api.svc.useraccount.impl.generated.UpdateUserAccount
    Support.update(UpdateUserAccountSupport.java:62)
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
    Method)
     at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessor
    Impl.java:95)
     at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethod
    AccessorImpl.java:56)
     at java.lang.reflect.Method.invoke(Method.java:620)
     at
    com.ibm.tenx.db.svc.UpdateService.update(UpdateService.java:227)
     at
    com.ibm.tenx.ws.ui.WebServiceBrowser.update(WebServiceBrowser.ja
    va:2292)
     at
    com.ibm.tenx.ws.ui.WebServiceBrowser.doPutOrPatch(WebServiceBrow
    ser.java:964)
     at
    com.ibm.tenx.ws.ui.WebServiceBrowser.executeCRUD(WebServiceBrows
    er.java:612)
     at
    com.ibm.tenx.ws.ui.WebServiceBrowser.execute(WebServiceBrowser.j
    ava:508)
     ... 32 more
    Caused by: com.ibm.tenx.core.exception.ValidationException:
    API000452: User ID not valid. The following characters are not
    valid: !  @  #  %  ^  *  (  )  +  ?  ,  <  >  {  }  [  ]  |  ;
    "  '.
     at
    com.ibm.b2b.api.Utils.UserAccountHelper.persist(UserAccountHelpe
    r.java:106)
     at
    com.ibm.b2b.api.svc.useraccount.impl.UpdateUserAccountServiceImp
    l.update(UpdateUserAccountServiceImpl.java:126)
     ... 42 more
    
    Simulation Steps
    ------------------
    Scenario #1 - Create User Account
    a. Access the REST API Interactive Console and choose Create
    UserAccount API
    b. For the User ID field, enter a value having a dot, for
    instance, test.user1
    c. You will receive an error API000452
    
    Scenario #2 - Update User Account
    a. Access the IBM Sterling B2B Integrator Admin UI (/dashboard)
    and create
    an User account with User ID test.user1. It will be created
    successfully.
    b. Access the REST API Interactive Console and choose Update
    UserAccount API
    c. Select the test.user1 as user ID
    d. Try to update. You will receive error codes API000175 and
    API000452.
    

Local fix

  • STRRTC - 573131
    RFR / RFR
    Circumvention: None
    

Problem summary

  • Users Affected:
    All
    
    Problem Description:
    Attempts to create or update User Accounts using REST APIs
    (Create UserAccount / Update UserAccount) results in an error
    when the user ID has a dot (for example, test.user1).
    
    Platforms Affected:
    All
    

Problem conclusion

  • Resolution Summary:
    
    A code fix is provided.
    
    Delivered In:
    5020603_7
    

Temporary fix

Comments

APAR Information

  • APAR number

    IT25948

  • Reported component name

    STR B2B INTEGRA

  • Reported component ID

    5725D0600

  • Reported release

    526

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2018-08-13

  • Closed date

    2018-10-15

  • Last modified date

    2018-10-16

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    STR B2B INTEGRA

  • Fixed component ID

    5725D0600

Applicable component levels

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SS3JSW","label":"IBM Sterling B2B Integrator"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"5.2.6","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

Document Information

Modified date:
16 October 2018