Sage EM Web Services in V12

SOLVED

Has anybody been successful in evaluating the errors returned from a SOAP web service call in V12?  In previous releases, if the web service failed, a list of messages were returned in the CAdxMessage class.  It appears that this class is now null when using the wsdl provided in Sage EM as a reference in a Visual Studio .net project.  When running the same requests in Postman, it does return errors, but it appears as though the layout of the response XML does not match the class definitions in the wsdl provided from Sage EM.

  • 0

    I'm evaluating V12p15 in a test environment. I read your post and thought I'd see if mine was the same way, and it was. I did some tinkering and now it seems okay, but due to another issue of my own making, I'm not sure what fixed it. I'll throw these out there in no useful order: 

    * The virtual machine that runs the 'classic' web services was off. I turned it on. In my test environment that VM doesn't do anything else that's relevant to X3. (I'm not clear if the classic web services is still required. I don't think so, but I install it anyway.)

    * In Administration > Servers > Hosts, I changed 'Number of web service child processes' from 1 to 2. Using 2 as the base is stated in KB 78736 .

    * In 'Classic SOAP Web Services' I regenerated the web service.

    * I saved my X3 web service and re-published the web service.

    * I stopped and started my web service pool.

    Something must have done it, right?

  • FormerMember
    0 FormerMember in reply to JamesG-ACD

    this not work for me.

    I'm using AOWSIMPORT and if there is a error y don't get messages.  All messages are null.

    Can you help me, please?

  • 0 in reply to JamesG-ACD

    This still isn't working for me, and I tried everything you suggested.  If I use Postman to make a call into a web service on v11, the return messages are each wrapped inside another messages node as a container, and the outer node is tagged to be an array type.  This is reflected properly in the .NET code that is generated by Visual Studio when reading the wsdl.  Now, in v12, there is no outer messages node to hold an array of other messages node, yet the wsdl is no different.  The .NET code generated won't handle the newly-formatted SOAP coming out of v12.  Something changed in v12 with message output.  Is this something Sage will be fixing soon?  It's pretty critical for just about all of our integrations with other systems.

  • 0 in reply to JamesG-ACD

    The CAdxMessage class appears to be populated the first time an error occurs but after that you just get NULL

    Trying to catch the error in EM using "Onerrgo" is tripped and returns error code 0 but seems to reset a flag somewhere in Sage so CAdxMessage is again populated by the true error

  • 0 in reply to JamesG-ACD

    I have the same problem and I could not solve it

  • +1 in reply to daliEss
    verified answer

    Hi, a had similar issue in a V11. When the ws succeeded it returned the status, when it dint succeed the status was also right but the message with the error was not coming so i could not report on the reason why it failed. after debugging with Sage UK Support we found that runtime and syracuse version didn't match. after upgrading syracuse it solved the error. I started to get messages. Please check your components version think that there might be an issue there. also you can set syracuse to throw debug logs if you go to administration - global settings and set the webservices items to debug. logs will be created inside the syracuse component installation path. These will give you an hint, start with the logs starting with W1. 

    Cheers, let me know if it worked for you!

    By the way, if you need an automated healthcheck on your X3 system that you can run remotely without having to go to your user site you may want to take a look at this tool:

    https://x3consulting.com/product/healthcheck/

    It will report your component versions, amongst a lot of other setup items.