We have created an AIF document service where we import data in AX2012 FP CU3.
We are importing the data using the file system adapter.
The inbound port has the following settings:
- Only the .create Service operation set
- The processing option "Process request in parallel" set
- The processing option "Validate document XML" set
- In the processing option "Apply value mapping" in the tab "Setup" "Use default" set
The strange thing is that this interface now works since different month, but last week the behavior of the defaulting does no longer work. What happened.
Doing some debugg in VS we discovered that for some unknown reason the following statement no longer works.
In method AxMapPolicy.setAifEndpointActionValueMap() the AifEndpointActionValueMap from the configuration of the Inbound port is passed and with the .data method the buffer will be copied.
See here the code for reference:
private void setAifEndpointActionValueMap(AifEndpointActionValueMap _aifEndpointActionValueMap)
{
;
aifEndpointActionValueMap.data(_aifEndpointActionValueMap);
if (_aifEndpointActionValueMap)
{
recordExist = true;
}
}
The strange thing is that although there is a valid record in buffer _aifEndpointActionValueMap the copy is NOT performed in buffer "aifEndpointActionValueMap".
We tried to create different test classes in order to reproduce the scenario in an isolated test case but in all our test the problem was not reproduceable.
The test we did:
- Do the test with pcode execution (client/server side)
- Do the test in dotNet execution
- Do the test in dotNet execution doing the call via WCF
In all tests the result was the same the buffer fields were successfully copied to the other buffer as expected.
We also tried to replace the .data() method with a buf2buf call, but doing this during AIF import the AOS server crashed.
Has anyone had something similar expierence?
Or are there known issues about the Common.data() method ?
Thanks in advance
Thomas