The most common problem that we face while invoking a web service which expects some xml as a string in CDATA from oracle BPM/BPEL.
Like
"<![CDATA[<UnderwriterAssignment><ApplicationID>XXXXXXXX</ApplicationID><Underwriter>XXXX</Underwriter></UnderwriterAssignment>]]>"
The above string has to be passed to the webservice as a string.
The problem here is the engine will convert the < and > to < and > while invoking. But the service may not be coded in such a ways that it accepts like that and the web service invokation will fail.
To resolve this,
Like
"<![CDATA[<UnderwriterAssignment><ApplicationID>XXXXXXXX</ApplicationID><Underwriter>XXXX</Underwriter></UnderwriterAssignment>]]>"
The above string has to be passed to the webservice as a string.
The problem here is the engine will convert the < and > to < and > while invoking. But the service may not be coded in such a ways that it accepts like that and the web service invokation will fail.
To resolve this,
- Prepared (assign) the string that needs to be sent as CDATA.
- someString = "<UnderwriterAssignment><ApplicationID>ATL620007</ApplicationID><Underwriter>satishs</Underwriter></UnderwriterAssignment>"
- On the service call use ora:toCDATA() to convert it into proper CDATA without encoding
- like ora:toCDATA(someString).
This will not encode the string and it will pass as it is.
No comments:
Post a Comment