Ir al contenido principal

Creating a User to Consume X3 Web Services


When consuming X3 web services from another platform, such as .net, an X3 user and password must be used to make the web services call.  If the admin user in X3 is set up to call web services, the password by default is blank.  This means the user in the X3 web service call is admin, and the password is blank.  This may cause several issues or concerns as far as security goes.  First of all, you may want to use a user other than the admin user to make the web services calls.  Second, you will likely want to use a password other than blank.
If you have created a new user in X3, and defined it as a web services user, and attempt to use that newly created user and password combination to call the web service, you will likely find that the call fails.  The reason is, the web service is making the call at the folder level, and the user/password defined when the user was created is not the user/password combination the web services layer is using to validate the user.

Creating the User

Here are the steps to create a new user to use in the consumption of web services in X3.
  1. Create a user as you normally would in X3. This is done from Administration > UsersX3 web services creating user
  2. In my example, I created a user named websvc with a password of websvc. Login
  3.  Next, go to Setup > Users, and create the user as an X3 user.Creating user
  4.  In my example, I created an X3 user of WEB1, and attached it to the WEBSVC login. Remember that the checkbox next to “Web services connection” needs to be check to enable this user as a web services user.X3 Web Services Connection

Consuming the Web Service from an External Application

At first thought, you may think you can now access the web services from a .net program using this same user and password that is used to log into X3.  However, if you try to consume the X3 web services using the user websvc / websvc, the authentication will fail.  The web services call will return a message indicating the password is incorrect.
External Application
If you change the password in your web services call to blank, the web service will successfully connect, however, you probably don’t want to use a blank password.

Resolution

  1. Return to the X3 session, making sure you are logged in as your web services user (websvc in my example).
  2. Go to Usage > Password Change.Resolution
  3. You will be asked to enter the “Former password”, along with a new password. By default, when a user is created, the “Former password” will be blank.  Leave the “Former password” blank, and enter a new value for the “New Password”.  In my case, I made the new password “password”. Changing this password will not affect the password that is used to log into X3.
Password Change     4. Now return to the .net program, and use the newly entered value from above for your password, which in my case, was “password”. The web service authentication will now work.

Summary

When attempting to consume X3 web services from an external application, you will want to provide a secure method of accessing X3.  This will likely require creating a user used exclusively for web services, and providing a secure password to use to consume those web services.  The information above provides detailed steps on how to successfully create a user with a secure password to consume the web services.

Entradas populares de este blog

SAGE X3 SILENT IMPORT (IMPORTSIL) WITH ERROR CATCHING

FUENTE ORIGINAL: https://pluginx3.com/en/blog/post/sage-x3-silent-import-importsil-with-error-catching.html You already know how to manually generate a CSV file in order to import it threw a template in Sage X3. But If you wonder how to catch detailed errors after a silent import here is the solution. Sometimes you need to catch the incoming errors in order to alert the end-user regarding an issue. Closed period, wrong date etc …. Unfortunalty the standard Sage X3 silent import function doesn’t natively show the detailed errors during the import process. Call IMPORTSIL([M:IMP2]MODIMP,[M:IMP2]NOMIMP) From GIMPOBJ And the standard function ERR_IMPORT will only show the overall status of the importation and not the detailed errors. IMPORTSIL function is pushing all the log data into a tracefile in order to avoid any popup on end-user screen. So you have a log file available in order to search for errors in it. Sage X3 runtime is using the same principals standards as any shell for log...

Valores de fstat

Fstat fstat  is a numeric status that is returned upon execution of a database operation, a sequential file operation, or a lock instruction. Syntax fstat Examples # MYTABLE is a table with a key called KEY1, that has a unique component called KEYVAL # Create a record in the table MYTABLE with they key value 1 if it doesn't exist Local File MYTABLE [MYT] Read [MYT]KEY1=1 If fstat [MYT]KEYVAL=1 : Write [MYT] If fstat MSG="The key was created in the mean time" Else MSG="Key created" Endif Else MSG="Key already exists" Endif Details fstat  is always set to '0' if the operation is successfully completed, and has a non-null value if there is an error: In a sequential read ( Getseq  and  Rdseq ),  fstat  is set to '1' at the end of the file. On  Lock ,  fstat  is set to '1' if the lock could not be performed. For a database operation ( Read ,  Look ,  Readlock ,  For ,  Write ,  ...

How To Add a Custom Selector for the Screen Field

Fuente original del artículo:   https://www.rklesolutions.com/blog/how-to-add-a-custom-selector-for-the-screen-field January 5, 2022 By RKL Team Leave a Comment There may be times when you want to add a pop-up window to select a field for a screen. Sometimes this can be handled automatically if the field is a standard X3 object field (i.e. when selecting a product with a type of ITM from the ITMMASTER table). There may be other times where a standard look-up is not available, and some custom code is required to do the selection window. We'll show you how to add a custom selector of your choosing to the screen field. ADD SELECT ON SCREEN FIELD The first step is to add the appropriate code to the field on the screen in Sage X3: Go to  Development > Script Dictionary > Screens Select Your Screen Select the field to have the lookup for  by moving your cursor to it on the screen. The field should show with a blue background. Select a type of "Selection" , and an  ac...