Lesson learned, the batch program was written by someone else and the commarea of the batch was less than the cics program was returning.
My co-worker had a commarea of 108, just enough to pass the copybook info, my CICS program had a LINKAGE SECTION commarea of 2750 cause I reused code from another EXCI/INVOKE WEBSERVICE program. I believe this is why it abended on the return but the data was there, I filled out the 108 bytes correctly but it couldn't handle the extra 2642 bytes being shoved in his WS commarea