I’m trying to send XML data to a Business Connector 4.6 using HTTP POST to a flow service that only has a documentToRecord step. The call is working ok (I get a 200 response from BC) but the service is not decoding the XML data. Using a HTTP sniffer I can see what I am sending (and looks ok…):
Is the documentToRecord step is not parsing the XML?
Did you provided the necessary inputs as expected like (node,recordName(fully qualified recordname),makeArrays=false (if the xml has complex arrays then set this to true and fill the Arrays param) and the output will be boundNode(map this to a recordReference which is the actual xml structure that you are trying to parse).
For debugging put a savePipelineToFile and later restore it and step thru the flow.
I’ve added a savePipelineToFile to the flow, and I have found that the node variable is empty. So it seems that BC is not receiving the data correctly.
I am sending the data from a Java program using a HttpURLConnection to make the connection and then sending the XML using a PrintWriter connected to the output stream.
I am not so familiar to BC/IS environment,and i think there is nothing need to configure for http process,but the way you are http posing the XML with content-type:“text/xml” will definetly work and you should see the node object with value and downstream parsing will work.
For testing purpose you can do is try using (pub.client.http) service and do the same process which you are doing using Java stub and make sure http post works internally in your BC.
It’s solved!
The problem was that I was sending special chars (Like in Almacén) with an UTF-8 encoding. I changed the encoding to “ISO-8859-1”, and now it’s working.
I found the error when I tested the flow in the Business Connector Developer, and using Test->Send XML File. It showed a XML malformed error.