What is the URL of WSDL for [quote user="Waldemar Pross"]
Hi guys,
I am evaluating different options on how to integrate our eCommerce with AX.
Currently I am trying to call the CDX Real-time Service directly using a tool called SoapUI. Once I can make it work, I am confident that our ESB software (Java based) will be able to call it too.
(I am aware there are probably other ways like deploying a Retail Server and then trying to call the REST APIs, but currently I am checking this particular option)
So what I have is:
- Enterprise POS (the "old" POS aka simply "Retail POS") connected and working
- A WSDL for the Real-time service (Thanks to Patrick Mouwen for help!)
The POS is talking to AX via HTTPS. I have traced a simple message (inquiring a Gift Card balance) via Fiddler. See below.
The Body part is relatively simple. It invokes a method in the X++ class RetailTransactionService and passes parameters. However, the Header part contains a lot of overhead. All of it looks like standardized info which is not Microsoft/WCF specific.
I was able to load the WSDL into SoapUI and it has generated sample requests. However, sending these requests result in HTTP error 500 (internal server error). And this is something to expect as I am not setting any of these cryptic Header values. The error message is:
The message could not be processed. This is most likely because the action 'schemas.microsoft.com/.../InvokeMethod' is incorrect or because the message contains an invalid or expired security context token or because there is a mismatch between bindings. The security context token would be invalid if the service aborted the channel due to inactivity. To prevent the service from aborting idle sessions prematurely increase the Receive timeout on the service endpoint's binding.
Which points to all the header information around security (and other) not being set.
So I guess my general question is: how easy is it to call the AX Real-time Service from a non-Windows client? Is it just my lack of knowledge of all the WS standards (WS-Addressing, WS-Security) or is it just not a feasible way to integrate a 3rd party eCommerce (using a non-Windows / non-WCF ESB)?

And the more specific question would be: does anybody know how to make this call in SoapUI?
Would it be easier (performance overhead aside) to leverage the "modern" Retail Server APIs?
Any help will be appreciated!
Thanks,
Waldemar
[/quote][quote user="Waldemar Pross"]
Hi guys,
I am evaluating different options on how to integrate our eCommerce with AX.
Currently I am trying to call the CDX Real-time Service directly using a tool called SoapUI. Once I can make it work, I am confident that our ESB software (Java based) will be able to call it too.
(I am aware there are probably other ways like deploying a Retail Server and then trying to call the REST APIs, but currently I am checking this particular option)
So what I have is:
- Enterprise POS (the "old" POS aka simply "Retail POS") connected and working
- A WSDL for the Real-time service (Thanks to Patrick Mouwen for help!)
The POS is talking to AX via HTTPS. I have traced a simple message (inquiring a Gift Card balance) via Fiddler. See below.
The Body part is relatively simple. It invokes a method in the X++ class RetailTransactionService and passes parameters. However, the Header part contains a lot of overhead. All of it looks like standardized info which is not Microsoft/WCF specific.
I was able to load the WSDL into SoapUI and it has generated sample requests. However, sending these requests result in HTTP error 500 (internal server error). And this is something to expect as I am not setting any of these cryptic Header values. The error message is:
The message could not be processed. This is most likely because the action 'schemas.microsoft.com/.../InvokeMethod' is incorrect or because the message contains an invalid or expired security context token or because there is a mismatch between bindings. The security context token would be invalid if the service aborted the channel due to inactivity. To prevent the service from aborting idle sessions prematurely increase the Receive timeout on the service endpoint's binding.
Which points to all the header information around security (and other) not being set.
So I guess my general question is: how easy is it to call the AX Real-time Service from a non-Windows client? Is it just my lack of knowledge of all the WS standards (WS-Addressing, WS-Security) or is it just not a feasible way to integrate a 3rd party eCommerce (using a non-Windows / non-WCF ESB)?

And the more specific question would be: does anybody know how to make this call in SoapUI?
Would it be easier (performance overhead aside) to leverage the "modern" Retail Server APIs?
Any help will be appreciated!
Thanks,
Waldemar
[/quote][quote user="Waldemar Pross"]
Hi guys,
I am evaluating different options on how to integrate our eCommerce with AX.
Currently I am trying to call the CDX Real-time Service directly using a tool called SoapUI. Once I can make it work, I am confident that our ESB software (Java based) will be able to call it too.
(I am aware there are probably other ways like deploying a Retail Server and then trying to call the REST APIs, but currently I am checking this particular option)
So what I have is:
- Enterprise POS (the "old" POS aka simply "Retail POS") connected and working
- A WSDL for the Real-time service (Thanks to Patrick Mouwen for help!)
The POS is talking to AX via HTTPS. I have traced a simple message (inquiring a Gift Card balance) via Fiddler. See below.
The Body part is relatively simple. It invokes a method in the X++ class RetailTransactionService and passes parameters. However, the Header part contains a lot of overhead. All of it looks like standardized info which is not Microsoft/WCF specific.
I was able to load the WSDL into SoapUI and it has generated sample requests. However, sending these requests result in HTTP error 500 (internal server error). And this is something to expect as I am not setting any of these cryptic Header values. The error message is:
The message could not be processed. This is most likely because the action 'schemas.microsoft.com/.../InvokeMethod' is incorrect or because the message contains an invalid or expired security context token or because there is a mismatch between bindings. The security context token would be invalid if the service aborted the channel due to inactivity. To prevent the service from aborting idle sessions prematurely increase the Receive timeout on the service endpoint's binding.
Which points to all the header information around security (and other) not being set.
So I guess my general question is: how easy is it to call the AX Real-time Service from a non-Windows client? Is it just my lack of knowledge of all the WS standards (WS-Addressing, WS-Security) or is it just not a feasible way to integrate a 3rd party eCommerce (using a non-Windows / non-WCF ESB)?

And the more specific question would be: does anybody know how to make this call in SoapUI?
Would it be easier (performance overhead aside) to leverage the "modern" Retail Server APIs?
Any help will be appreciated!
Thanks,
Waldemar
[/quote]?