Search code examples
xmlsoapibm-midrangerpgle

Consume soapWebservice HTTP_URL_POST_STMF_XML. Big XML > 65K


I'm trying to call a "HTTP_URL_POST_STMF_XML", because the soap string that we have it could be bigger than 65500 characters.

My problem is that I don't know how to call it right. Always the call HTTP_URL_POST_STMF_XML return to me "500".

My call is the next one:

rc = HTTP_URL_POST_STMF_XML(
%trim(urlWS)
: %TRIM(filename)
: *NULL
: %paddr(Incoming)
: %addr(Incoming)
: HTTP_TIMEOUT
: HTTP_USERAGENT
: 'text/xml'
: 'actionWS');

also I Tried to use the exercise nº 7 of Scott Klement but I don't know how to use. what I am doing wrong?

In the debug file "/tmp/httpapi_debug.txt" I have this response:

"ç?ËÈ
íËÁÊ  ÅÁ>È ÇÈÈø /øÑ
ä?>ÈÁ>È è`øÁ ÈÁÌÈ Ì_%
ë! & ÄÈÑ?> øÊ?ÄÁËËëÇÑø_Á>È!ÊÀÁÊäÊÁ/ÈÁ
ä?>ÈÁ>È <Á>ÅÈÇ

                                                                        ËÁ>ÀÊ/Ï    Á>ÈÁÊÁÀ                                                    

PARUNIC

8001-255666-P-1-9 Á>ÈÁÊÁÀ çèè&
ñ>ÈÁÊ>/% ëÁÊÎÁÊ áÊÊ?Ê à/ÈÁ ëÍ> àÁÄ å(è
ä?>ÈÁ>È è`øÁ ÈÁÌÈ Ì_% ÄÇ/ÊËÁÈ ÍÈÃ
èÊ/>ËÃÁÊ á>Ä?ÀÑ>Å ÄÇÍ>,ÁÀ

                                                                        ëÁÈáÊÊ?Ê   J    çèè&         ñ>ÈÁÊ>/% ëÁÊÎÁÊ áÊÊ?Ê                    

"

Regards


Solution

  • a 500 is usually an issue with the server, but in this case I wonder if it is a character encoding issue. What is the CCSID of the stream file? WRKLNK and see what the CCSID is. Also, make sure the very first characters are <?xml version="1.0" encoding="utf-8"?> There should be nothing else: not a space, not a carriage return, nothing. You can look at the file in hex with DSPF to see what is in there.