hi guys, i have an adf application that will call bpm approval workflow via services.
but i'm not directly call the bpm services. BPM Services will be exposed through OSB and then ADF will call it via OHS.
ADF -> OHS -> OSB -> BPM
if i call it via OHS + OSB, i will get an exception in adf. the exception is javax.xml.ws.WebServiceException: java.lang.RuntimeException: javax.xml.soap.SOAPException: Error parsing envelope: most likely due to an invalid SOAP message.: Unexpected EOF in prolog
if i call it directly from ADF to BPM, then i will not get exception. even it has exception, but my approval still created in the BPM workspace, so the approval process is not failing.
i checked the support (metalink) and i found a similar case, though it was a bpel case not an adf.
Doc ID 1491674.1
it saying :
OSB Business Service is not returning a response causing the 'Unexpected EOF in prolog' in SOA server log.
Since BPEL isn't expecting a 200 (OK) from a one-way call, it is trying to process the response from OSB, ignoring the "content length: 0" header, failing to do so, hence the "Unexpected EOF in prolog" error.
the question is, how i can handle this exception in a better way ?
- just catch the com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog in adf bean ?
- add a dummy message response in OSB after succesfully routing the request from proxy to business service ?
there are 2 solution that i have for now, but i don't know is it a proper way and best practice or not.
anybody who ever has experience with this case / have some thought pls throw some enlightment..
thanks