Could be. Maybe when a BSFN is invoked via BSSV lpBhvrCom isn't filled out with what ever info is needed by jdeErrorGetNextDDItemNameInfoEx and jdeErrorGetNextDDItemNameInfoEx crashes.
Did some digging and it appears that error messages are handled completed different with BSSV.
http://docs.oracle.com/cd/E24705_01/doc.91/e24219/create_bssv.htm#EOTME00032
the errors from the BSFN must exist elsewhere for the E1MessageList object to be able to access them :/
This makes things very difficult...
So I changed the below in JP555555
from
callF4211BeginDocWrapper(context, connection, internalVO);
to
messages = callF4211BeginDocWrapper(context, connection, internalVO);
and commented out the jdeErrorGetNextDDItemNameInfoEx code in the bsfn.
now the response from the BSSV includes the E1 error messages similar to what object browser displays.
Here is what the response xml looks like
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header />
<env:Body>
<env:Fault>
<faultcode>env:Server</faultcode>
<faultstring>
CAUSE . . . . The number in the sold to field is not found in the address book.
RESOLUTION. . Enter a valid sold to address number on the ticket.
CAUSE . . . . The number in the ship to field is not found in the address book.
RESOLUTION. . Enter a valid ship to address number on the ticket.
</faultstring>
<detail>
<orac:BusinessServiceExceptionElement xmlns: orac="http://oracle.e1.bssv.JP555555/">
<orac:message>
CAUSE . . . . The number in the sold to field is not found in the address book.
RESOLUTION. . Enter a valid sold to address number on the ticket.
CAUSE . . . . The number in the ship to field is not found in the address book.
RESOLUTION. . Enter a valid ship to address number on the ticket.
</orac:message>
<orac:requestID>some ip address:51016:1418244910698:0</orac:requestID>
</orac:BusinessServiceExceptionElement>
</detail>
</env:Fault>
</env:Body>
</env:Envelope>
I'm assuming jdeErrorGetNextDDItemNameInfoEx hits a null pointer....