web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Microsoft Dynamics AX (Archived)

CallContext for Custom Service using JSON Endpoint in AX 7

(0) ShareShare
ReportReport
Posted on by 5

Hello,

Is it possible to specify a "CallContext" when calling a custom service at the JSON endpoint in the new Dynamics AX? I'd like to be able to specify the company.

I've tried specifying a "Company" request header and a "CallContext" request header but get a 500 response in both cases.

Thanks in advance.

*This post is locked for comments

I have the same question (0)
  • Suggested answer
    Marcel Ferreira Profile Picture
    Microsoft Employee on at

    Hi mjjoachim,

    If you're working with oData, to select an specific company you have to use something like this:
    http://[baseURI]/data/FleetCustomers?$filter=dataAreaId eq ‘usrt’&cross-company=true

    I believe for a custom service is the same, but I'm not sure.

    https://ax.help.dynamics.com/en/wiki/dynamics-ax-7-services-technical-concepts-guide/


    Can you test and let us know?

    Regards,
    Marcel

  • mjjoachim Profile Picture
    5 on at

    Thank you Marcel, I had not tried that.

    Unfortunately, it does not seem to work. I am using the following service address: usnconeboxax1aos.cloud.onebox.dynamics.com/.../Services[ServiceGroup]/[Service]/insert?$filter=dataAreaId eq 'USP2'&cross-company=true. If the user's default company is USP2 the call works. If the user's default company is not USP2, the call fails because of a referential integrity violation. So I think the call is OK, but using the OData syntax does not seem to be changing the company.

    Thank you though.

  • Mea_ Profile Picture
    60,286 on at

    Hi mjjoachim,

    As far as I know there is no "company" context and it will return you data from user's default company. The only work around I have heared is to use "cross-company=true" query option and than filter by company in your application.

  • mjjoachim Profile Picture
    5 on at

    Hi ievgen,

    It may be that there is no way to switch the company via the JSON endpoint for custom services. However, it is possible to pass a CallContext object for the same custom service via the SOAP endpoint. So it seems like it would be a pretty big oversight to omit it for the JSON endpoint.

    Just to be clear, I'm calling a Dynamics AX custom service, not the OData service.

    If I can't figure this out, I will resort to using the SOAP endpoint or manually switching the company within the service. But I don't think that is a good idea if there is a more standard way to do it.

    Thanks

  • Verified answer
    Mea_ Profile Picture
    60,286 on at

    Hi mjjoachim,

    Yep I probably missed part about JSON and thought that you are talking about OData.

    However, I have not heard about call context with JSON as well, here is a similar question on yammer

    www.yammer.com/dynamicsaxfeedbackprograms

    I don't know if you have access to it or not but solution that is proposed there is to pass company inside of JSON request and  do changecompany in your service manually.  

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Season of Sharing Community Challenge Winners!

Congratulations to our community stars!

Women in Power Builds Momentum

Expanding mentorship, skilling, and AI innovation

Congratulations to the June Top 10 Community Leaders

These are the community rock stars!

Leaderboard > 🔒一 Microsoft Dynamics AX (Archived)

Last 30 days Overall leaderboard

Featured topics

Product updates

Dynamics 365 release plans