How to create a Web service specific user profile.

4 minute read time.

Evening Readers,

This Blog post is somewhat of a continuation for my previous one about web server testing. This blog will cover how to create a web specific user that doesn’t use a badge. You can do this at any time in the process. A web user is not required to complete the previous blog, but if you have a high volume and high user count, this might help out. Before we start, make sure you have an X3 user that is part of the super administrator group so that you do not have issues creating user, groups, roles, etc…

Our first stop is Roles. You can find this under Administration, Administration, Users.

From the Roles function we are going to create a new role. On the creation screen, its important to create names / descriptions that are meaningful so that it’s easier to remember why they exists. For me I am using WEBSERV for the name and I will continue to do so to make matching easier through the process. You only need to fill out the required fields which are Code, Description, and Security Profile. I use the Administrator profile for the Security Profile.

Go ahead and click save and close out of the function. Next, we are going to go to the Groups function. You can find this right above the Roles function under Administration, Administration, Users.

Here we are going to create a new group. The group we will tie back to the role. We will only fill out the Description, Role, and Endpoints. Note that if you are going to do this for multiple endpoints you would do this process for each endpoint.

Click save to save your filled out information and then exit the function back to main screen. The next function is the User function. This is where we create the user. You will want to head to the same place that we went for Groups and Roles.

You might have a lot of users here in the User function so make sure you label your Web user with a name you can easily find. Go ahead and click “New user” to create a new user. Some key things to remember here; the user has to be set to standard authentication w/password and password never expires. The other fields you have to fill in are Login, Last name, and group. For the group, select the group we made on the previous screen.

once you have all the proper information set, click save and save the information. Head back to the main page.

Our last stop before adding the user to the pool is to create a classic user. The classic user is what allows the web pool to functions, like sales order. To get there, you want to navigate to Setup, User, User.

Make sure your logged into the same endpoint you listed on the Group. After the User function loads, locate the ADMIN user code. We are going to copy the ADMIN user because we want to have web services not restricted by function. If you would like to create a specific user code with specific rights, you may do so, but I am not going to go into detail on user creation and security / restrictions.

 

Here we are going to load the admin user, click into the Code field and delete the code name ADMIN. You want to replace with something you can easily find later. You may also want to update the name.

Next you want to go about halfway down the page to the Login field. In the login field I should say ADMIN also. We are going to change this to the Administration User name we created earlier for web services. I called mine WEBSERV so I would put that there.


once you changed the Code, Name, and Login to match you new web user, click save. You should be prompted with a Duplication popup. Click yes to this popup.

And that’s it. The user setup is done. The last thing we have left to do is to stop the existing pool and assign the new user to it. If you don’t know about the Web services configuration, see my previous blog on how to setup and test Web services (HERE). The configuration for the pools is under Administration, Web services, Classic SOAP pools configuration.

 

Here you would locate your pool you wanted to change out and stop the pool. You can do this by either editing a pool or clicking the three dots next to the row to get the stop option.

OR 

After the pools stop, click edit and edit the one pool you want to change.

Then click save and start/update. If everything went according to plan, the pool should start without any errors.

You can see in my start/update log that it notes the change (user) and updates the channels.

Now that the user is done and added to the pool, you can test out. Check out my earlier blog on setting up web services and testing web services to see how you can easily test web pools (HERE).

 

Until next time…

  • Hi Chris,
    I have created a user for WEB Services as you indicated, but when I make a call to the web service I get the following error: User does not have any badge for product 'Sage X3'.
    Access is restricted to Syracuse Administration.

    If I don't indicate a batche in the ROL configuration, I can't get it to work. Thank you.

  • Thank you so much again, do you mean I have to take the course to get the documents? I got the SageX3SoapWSTester from gitHub and see the tester created BPC in the included documentation. I tried to use the same XML to create BPC but got error as I mentioned. I can create quote/order but could not create/modify BPC. When I use "modify" it says the record not found. I am using Sage provided X3 Demo system downloaded from Sage site. Do you have more advise? I have submitted a case to Sage support site.

  • awesome. We do have documentation on everything you are asking about. It is unfortunately gated behind our courses. There is a specific course Called "X3 - Sage X3 - Expert Workshop: Web Services Use Case Review & Practice"  and mainly covers the following: Web service technology in Sage X3m How to create SOAP Web Service, Play and Practice RESTful Web Services, Creation of complex web services based on classic pages, Creation of sub-program calls (Available stock, Imp./Exp.), and Example of Web Services use from PHP page

  • Thank you for the information. I think I asked right person. I learned X3 long time ago. I try to work on X3 on premises integration and try to read/write X3 BPC, ITM, PRICE etc. and have the questions below. 

    • What is better way using SOAP, or SQL Server database directly?
    • Does X3 on premises have REST web API? I saw Rest web service looks for X3 to communicate to other Rest web service.
    • How to prepare SOAP service XML file for save/modify/delete Object web service, based on GetDescription? Is there any documentation?
  • Hi the message you are receiving is saying that modification of the field BPRSHO (Short Description) and XBPADES (Description) is not possible. I do not know the whole picture but if you are wanting to update an existing record you would have to use the Modify Operation for SOAP function. SOAP can be tricky. It might be best to open a support ticket with your local support group for additional assistance.