HTTP Post now has error after upgrade to 1.141.1

Hi,

Just upgraded to 1.141.1 and finding some existing workflows that worked fine are now reporting an error.

The node with the issue is:

{
  "nodes": [
    {
      "parameters": {
        "requestMethod": "POST",
        "url": "https:/XXXXX",
        "responseFormat": "string",
        "jsonParameters": true,
        "options": {
          "bodyContentType": "raw",
          "fullResponse": false
        },
        "bodyParametersJson": "=<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<movements>\n<movement>\n<branchcode>XXXX</branchcode>\n<propertyref>{{$node[\"DataFilter\"].json[\"field_446_raw\"]}}</propertyref>\n<vendorname></vendorname>\n<boardtypeid>1724</boardtypeid>\n<movementtypeid>{{$json[\"movementtypeid\"]}}</movementtypeid>\n<boardstatusid>{{$json[\"boardstatusid\"]}}</boardstatusid>\n<noofboards>{{$node[\"DataFilter\"].json[\"field_841_raw\"]}}</noofboards>\n<houseno>{{$node[\"DataFilter\"].json[\"field_233_raw\"]}}</houseno>\n<address1>{{$node[\"DataFilter\"].json[\"field_3_raw\"]}}</address1>\n<address2></address2>\n<locality></locality>\n<town>{{$node[\"DataFilter\"].json[\"field_230_raw\"]}}</town>\n<county></county>\n<postcode>{{$node[\"DataFilter\"].json[\"field_74_raw\"]}}</postcode>\n<agentnotes>{{$node[\"DataFilter\"].json[\"field_840_raw\"]}}. Requested By {{$node[\"DataFilter\"].json[\"field_368_raw\"]}} via Houzez</agentnotes>\n</movement>\n</movements>"
      },
      "name": "HTTP XXXX Request",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 1,
      "position": [
        1070,
        820
      ]
    }
  ],
  "connections": {}
}
type or paste code here

Is there a known issue with this note, please?

Kind regards

Paul

Hey @paul2000,

What error message are you getting? If you wanted to you can use the older HTTP library by adding N8N_USE_DEPRECATED_REQUEST_LIB=true to your environment variables which may help.

Hey Paul,

Can you share the error message you received? It will help us debug better. I would suggest you check out this post and set the environment variable. Get Cookie After Login - #11 by jan

If you’re using n8n.cloud, you can roll back to v0.138.0, where you should not face the error :slight_smile:

Here is the error message: “data”: " Couldn’t parse the xml provided, please ensure the data you provided was well-formed xml.9005

Hey @paul2000,

A quick fix would be to set the env mentioned here: Get Cookie After Login - #11 by jan

We have replaced the underlying request library and that might be causing this issue. We will further investigate and get back to you :slight_smile:

Thanks @harshil1712

Please try setting N8N_USE_DEPRECATED_REQUEST_LIB=true as @jon did suggest above that we know the problem is related to that and nothing else. Thanks!

Unfortunately @jan even after setting the environment variable as you have shown the issue still continued. I was upgrading from version 0.130.0. Perhaps there was another breaking change? In the meantime, I have used a snapshot to restore to 0.130.0, so I am back working as desired.

Nothing I am aware of. I did just run the workflow (or more node) you did provide above but for me, it does not error in 0.141.0.

If you run that and send a request to something like webhook.site it errors?

@jan The node itself runs fine, the issue was the endpoint that normally returns a success code in version 0.130.0 returns “data”: " Couldn’t parse the xml provided, please ensure the data you provided was well-formed xml.9005 in version 0.141.1

To me, it indicates the xml in the body of the node is being slightly altered in version 0.141.1 as such will not validate by the endpoint. I was not able to work out a test where the node sends the data to an alternative endpoint such I could examine what we being sent and work the difference in the formating.

Just my guess.

Did test and can confirm that that the data does get send different since version 0.139.0 and that setting N8N_USE_DEPRECATED_REQUEST_LIB=true does not fix the issue. We will have a look

Uh actually, just realized that I did test wrong. Setting N8N_USE_DEPRECATED_REQUEST_LIB=true fixes the issue.

1 Like

Found the issue. A better temporary fix is to set the parameter “Headers” to an expression and then set the value {{ {"content-type":"application/xhtml+xml"} }}. That will make it work for now and is actually what it should be set to anyway.

A fix (that it also works without that header) will be released with the next version.

2 Likes

Thanks @jan I will wait for the next version and try again. Thanks again!

Got released with [email protected]

Hey @paul2000,

I hope you’re doing well :slight_smile:
Can you please update to v0.142.0 and test it out? Let us know if you’re still facing the same issue.

Thanks @jan and @harshil1712, I have just updated from 0.130.0 to 0.142.0 and the node works fine now!. Thank you!

1 Like