I did the changes you suggested (and restarted the AOS) and it had no effect.
The CallContext was a test which had no effect. Using it or using the default (by using null in the call) gives the same result.
By the request headers do you mean:
axRequest.request = new AxCreditLimitService.DLMCreditLimitAndBalanceRequest();
axRequest.securitySOAPHeader = new AxCreditLimitService.DLMSecuritySOAPHeader();
axRequest.securitySOAPHeader.userName = request.SecuritySOAPHeader.UserName;
axRequest.securitySOAPHeader.password = request.SecuritySOAPHeader.Password;
axRequest.securitySOAPHeader.AnyAttr = request.SecuritySOAPHeader.AnyAttr;
axRequest.request.accLedger = request.request.AccLedger;
axRequest.request.balanceOverdueAgingOption = request.request.BalanceOverdueAgingOption;
axRequest.request.companyCode = request.request.CompanyCode;
axRequest.request.orgCode = request.request.OrgCode;
axRequest.request.overdueAgingPeriod = request.request.OverdueAgingPeriod;
I need to do that because the data types from the IIS hosted service and the AX service are different. I'm simply creating the AX data types and initializing them with the information from the original request. This is needed for the AX service to process the request.
This service is basically a client to the AX service. The third party software is the client for this service.