I see similar post to this issue but I can't find an exact match.
Present Design:
After Insert or update trigger calls 1st apex class > Future method 1st class calls 2nd apex class > Method http.send
I want to log the result to a custom object and the first time succeeds but second attempt fails and write you have uncommitted changes.
I believe this issue is the write to the custom object is a DML operation and I need to move this to be outside the callout. However, based on how the design is currently strucutred I am not sure what is the best way to do it.
My limitations I have encountered so far are: Trigger will not fire the first apex class without the @future I can't call one future from another future.
How can I commit the log in a separate transaction given present design and limitations?