Calling SOAP Services without Pre-Emptive Authentication

SOLVED

We are working with a 3rd party to integrate with X3 V12.  The 3rd party is not able to use basic authentication with pre-emptive authentication, which is required to call X3 SOAP web services.  Does anybody know a way around this, so pre-emptive authentication is not required to call X3 web services?

  • 0

    Hello Denise,

    I have not tried using the web service component in recent years but you can try it, it should work.

    After installing go to the console in the web servers tab and add the component to the solution, Select the folders to publish, Create the pool and you are good to go after publishing in GESAWE.

    You can also test the web service by using internet explorer and accessing http://<server>:28880/root (by default). Here you can also view the WSDL link which should be something like http://<server>:28880/adxwsvc/services/CAdxObjectXml?wsdl

    (there is a port for SSL)

    EDIT: Removed suggested answer*, Since like Mike Shaw said, it does not work after PU9

    Regards

  • 0 in reply to RobertoMSNascimento

    FYI,  This comment relates to the "Classic" web services, which are no longer used in X3 since PU9

  • 0 in reply to Mike Shaw

    Mike, this is in V12, and the classic web services are still used.  The SOAP services for sales order creation, etc are still used in V12.  Other than using the import template option, this is the only way to create a sales order and other classic functiona via web services.  The REST services don't allow create or update for most of these functions.

  • 0 in reply to RobertoMSNascimento

    Hi Robert, I am using the SOAP web services, but it requires pre-emptive authorization, which isn't something our 3rd party can use.  I was looking for a way around this.

  • 0 in reply to Denise Hartman

    Hi Denise,

    Yes I understood. I was suggesting using the classic webservice component but like Mike Shaw said, it does not work after PU9. You can add it to the solution and configure a pool, but the result when calling a webservice is: 

    can't execute the soap request, please use syracuse soap web-service
    
  • +1 in reply to Denise Hartman
    verified answer

    Hello Denise, Sorry if I was not clear.  I meant that the SOAP pools are managed via the Syracuse layer (administration section of the X3 front end) from PU9 onwards.  Prior to that, there was a seperate Web Server which was used, which is what Roberto was refering to, access via http://localhosst:28880 URL

  • 0 in reply to Mike Shaw

    Okay, that makes sense.  Sorry for the misunderstanding.  

  • 0 in reply to Denise Hartman

    Hello Denise,

    What authentication methods are available from your application, for example, could you use OAuth2 rather than Basic ?

    If you can only use basic authentication, what method  does your application normally use to send SOAP requests, as any other solution would depend on the software being used to create the request.    A crude possibility would be to dump the SOAP request body to a text file, then use a wrapper script to send the request to X3, adding the required authentication header

    Mike

  • 0
    SUGGESTED

    Hello,

    Like Mike Shaw said, the normal web server component that comes with the ISO does not work. It exists for VT terminals.

    But, if there is absolutely no other way around the 3rd party and the requests come from a secured network, it is possible to install the old web server (Safe X3 V1 - For example, version 134) in a V12 solution (just tested in V12U19).
    Note the following:
    -It is a deprecated version so it has no support from Sage
    -May have security issues
    -May stop functioning after future engine updates
    -The password is the classic user password, so you have to set/change the WS user password through the functions PASSE or ANUPAS.
    -It bypasses syracuse altogether