Production webhook not registered / http 404

A simple WF with a starting webhook
In test mode, I click “Execute WF” at bottom, call the http test-URL with data => OK
Then, I activate the WF on top right, I’m asked to save it, ok, it’s activated (green on top right)
Then I call the http production-URL, I get "“The requested webhook “POST 2/webhook/webhook” is not registered.”
Even having a look to similar questions, I can’t see why this can’t work, maybe a more precise documentation on this topic would be usefull no ? :no_mouth: thanks !

The URL looks wrong 2/webhook/webhook.

It should not start with /2. It should start with /webhook

Hello jan, here are the elements :

tcpdump on my n8n host :
> 8…POST /webhook/2/webhook/webhook HTTP/1.1 …
< HTTP/1.1 404 Not Found
X-Powered-By: Express
{“code”:404,“message”:“The requested webhook “POST 2/webhook/webhook” is not registered.”,"sta…

so n8n reveives the good url when I post data

Is that really the URLs that get displayed on the Webhook-Node?

Here somebody else which had the same problem 1.5 weeks ago:

Plese see the prod url joined
wh
Even in local it fails :

curl -i -X POST -H ‘Content-Type: application/json’ -d ‘{ “counter” : 467 }’ http://127.0.0.1:8002/webhook/2/webhook/webhook

HTTP/1.1 404 Not Found
X-Powered-By: Express
Access-Control-Allow-Origin: http://localhost:8080
Access-Control-Allow-Methods: GET, POST, OPTIONS, PUT, PATCH, DELETE
Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, sessionid
Content-Type: application/json; charset=utf-8
Content-Length: 296
ETag: W/"128-FEKkfFC3rTmt6OuWTCPn2x/4b3I"
Vary: Accept-Encoding
Date: Wed, 26 Aug 2020 13:13:55 GMT
Connection: keep-alive
{"code":404,"message":"The requested webhook \"POST 2/webhook/webhook\" is not registered.","stack":"ResponseError: The requested webhook \"POST 2/webhook/webhook\" is not registered.\n    at ActiveWorkflowRunner.executeWebhook (/usr/lib/node_modules/n8n/dist/src/ActiveWorkflowRunner.js:55:19)"}

Thanks for you reply, I already use 0.76, i try to re-create my node and update to 0.78

Update and re-creation done
New production url :
wh
So indeed no more numbers in it
Test-url OK
Production url KO

curl -H ‘Content-Type: application/json’ -d ‘{ “counter” : 467 }’ http://localhost:8002/webhook/myWebHook
{“code”:404,“message”:“The requested webhook "POST myWebHook" is not registered.”,“stack”:“ResponseError: The requested webhook "POST myWebHook" is not registered.\n at ActiveWorkflowRunner.executeWebhook (/usr/lib/node_modules/n8n/dist/src/ActiveWorkflowRunner.js:55:19)”}#

Hopeless … :expressionless:

Sorry can not understand that and not sure what could be wrong there. If I do exactly the same with the latest version.

  1. Create this node:
  1. Save workflow
  2. Activate workflow
  3. Call curl -H 'Content-Type: application/json' -d '{ "counter" : 467 }' http://localhost:5678/webhook/myWebHook

It works fine for me. Wonder what is different for you.

Thanks jan
Only your webhook : OK
Your webhook + function + http-request : OK

I replace my previous WF, strange behavior (context, etc … ?) and this wrong interpretation of the url with “POST” in it (same thing with wget -d)

Let’s forget it :slightly_smiling_face:

Really happy to hear that it works now.

Have fun!

@jan @minstrel

If I may chime in, I believe the issue is when you have an existing flow created with previous versions (in my case, docker 0.71.0) and you upgrade N8N to a new version.

In essence, you can reproduce the prod hook issue like below (I am using docker, but should apply to other install types):

  • Install old version of N8N (e.g. 0.71.0)
  • Create a simple webhook node/flow (save but don’t activate it yet)
  • Upgrade N8N to a more recent version (e.g. 0.76.0)
  • Now activate the flow, test prod hook and you’ll see the error occur

I believe the resolution is to delete just the webhook node and recreate it.

Thanks a lot @major7x!

It is true that there was some webhook behavior change in a recent version, that should not cause any problems. Is however possible (therefor the “should” in the previous sentence) that in some edge-cases (do not know which) this causes problems anyway. In that cases doing exactly what you said would be the best thing to do.