From users-return-268677-archive-asf-public=cust-asf.ponee.io@tomcat.apache.org Mon Nov 4 18:48:37 2019 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [207.244.88.153]) by mx-eu-01.ponee.io (Postfix) with SMTP id 2B4C5180658 for ; Mon, 4 Nov 2019 19:48:37 +0100 (CET) Received: (qmail 71394 invoked by uid 500); 4 Nov 2019 18:48:33 -0000 Mailing-List: contact users-help@tomcat.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Tomcat Users List" Delivered-To: mailing list users@tomcat.apache.org Received: (qmail 71383 invoked by uid 99); 4 Nov 2019 18:48:33 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 04 Nov 2019 18:48:33 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 60981180F3F for ; Mon, 4 Nov 2019 18:48:32 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 0 X-Spam-Level: X-Spam-Status: No, score=0 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=disabled Authentication-Results: spamd3-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=christopherschultz-net.20150623.gappssmtp.com Received: from mx1-ec2-va.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id zgr-eJqKYIA1 for ; Mon, 4 Nov 2019 18:48:28 +0000 (UTC) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=209.85.219.193; helo=mail-yb1-f193.google.com; envelope-from=chris@christopherschultz.net; receiver= Received: from mail-yb1-f193.google.com (mail-yb1-f193.google.com [209.85.219.193]) by mx1-ec2-va.apache.org (ASF Mail Server at mx1-ec2-va.apache.org) with ESMTPS id 2D227BC57A for ; Mon, 4 Nov 2019 18:48:28 +0000 (UTC) Received: by mail-yb1-f193.google.com with SMTP id e13so1421330ybh.4 for ; Mon, 04 Nov 2019 10:48:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=christopherschultz-net.20150623.gappssmtp.com; s=20150623; h=subject:to:references:from:openpgp:autocrypt:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=jItO2T4XTZ7hzo30kLgbkAeJIIkBfH/G+iG9ZpfUMaQ=; b=05fTRQVQyEnpT5buK62REiStw63lMKzjeWRaq+K0FpO59kR/wSAHWFK4VcoWm/LOWc 3BQkiI82wTLLhs2yFwv3fNBtHqIz3Aj5MEgTvg9lxI5OyLCZJnTme+fxHqIK8of0u5V1 FzI1nNW9BpHL4PHj6GfQ4VwiQ+Cv/CzZn0xSU0mqZ0N+nBjYtSwAJwNUdt0qzXUQR7mO OOtRXaccmmLUTflqGecjnwk5KvCCutvDqoNa1M12nD7LQMKrtGe5UhuUFRfa3k7rhFRt 3uHbQmtbc9V6+e28c1TadbKpZ+VYYEAIZw3a/RiP3YQIs+pcO50acZL/rs67M5/5mzHZ P8FQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:openpgp:autocrypt :message-id:date:user-agent:mime-version:in-reply-to :content-language:content-transfer-encoding; bh=jItO2T4XTZ7hzo30kLgbkAeJIIkBfH/G+iG9ZpfUMaQ=; b=N0Me/3iHkAVrX/zh0JjZ8WAHmfBfaUzDoPXK7696ZJHbSmd222JDX83kHPACeFDhWM X4rWMEz5pHBSMVhgK9yPF5X7tG48/zj6oGSOvQZWZ7Tl7kFoawLuYcEl33jE2HsU3qjt iMrPADICEE1xKNFmryDAArbeJn4QVc2BkpVD4MOxp8VE+Y6Oqkz4QVGcGtvf7n1AmmMV coSFhgxt1jGp3PQTS6/5NdMkL+6LBedc0fFcj6FAgQx1V92BO+0A1jYNQHo2PWPgEcWk QtfLF3VjxyjCtyUQ761d84TD84hjkGaA9teb+uYt2HVBcpvUraAHgGQTUpRXn937ISTg yjDw== X-Gm-Message-State: APjAAAUH7WfCVtLD0Z4dsozYGpfZk3nq2c9+FVvkoAQR0/ryvoKsevMv OvoyAJsepQ2MzOkn/1te38Tvb/HrT0w= X-Google-Smtp-Source: APXvYqy0OTqnFFKiIwqBC4POCxR0gWpBRoEBZ9DL3rzZ69uAsL50CrZtnQ3lU69PdnYUQb6/BPmfbA== X-Received: by 2002:a25:8385:: with SMTP id t5mr23432572ybk.228.1572893307319; Mon, 04 Nov 2019 10:48:27 -0800 (PST) Received: from Christophers-MacBook-Pro-2.local (pool-108-48-175-111.washdc.fios.verizon.net. [108.48.175.111]) by smtp.gmail.com with ESMTPSA id l127sm9391383ywb.21.2019.11.04.10.48.26 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 04 Nov 2019 10:48:26 -0800 (PST) Subject: Re: Unable to establish WebSocket connection on Tomcat Embed (9.0.24) To: users@tomcat.apache.org References: <50214956-7448-cf3d-2045-98fac7eaf2d7@apache.org> From: Christopher Schultz Openpgp: preference=signencrypt Autocrypt: addr=chris@christopherschultz.net; keydata= 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 F/4OLScBfV2JbF93sN0SLw== Message-ID: <110f86fa-777d-627e-4685-494f1f409cf4@christopherschultz.net> Date: Mon, 4 Nov 2019 13:48:25 -0500 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:55.0) Gecko/20100101 Thunderbird/55.0a1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Alex, On 11/4/19 10:09, Alexander Stöcker wrote: > On Mon, Nov 4, 2019 at 2:55 PM Mark Thomas > wrote: >> >> On 04/11/2019 12:59, Alexander Stöcker wrote: >>> My code is basically just: >>> >>> Tomcat tomcat = new Tomcat(); tomcat.getConnector(); >>> tomcat.setPort(8080); >>> >>> Context context = tomcat.addContext("/context", new >>> File(".").getAbsolutePath()); >>> >>> // servlet Tomcat.addServlet(context, "myServlet", new >>> MyServlet()); context.addServletMappingDecoded("/hello", >>> "myServlet"); >>> >>> // websocket >>> context.addApplicationListener(MyWSContextListener.class.getName()); >>> >>> >>> // run >>> tomcat.start(); tomcat.getServer().await(); >>> >>> >>> The WsContextListener is adding an Endpoint when >>> contextInitialized() is called. Setting a Breakpoint shows that >>> the code is actually executed. The Servlet is working but when >>> I'm trying to connect to the endpoint >>> ("ws://localhost:8080/context/endpoint") I get a 404. On Fine >>> debug output I can see, that this exception is thrown, whenever >>> a connection is requested: >> >> You need to configure the default servlet. Otherwise the mapper >> looks at the URI, sees that it doesn't match any known servlets >> and rejects the request with a 404 before the WebSocket filter >> has a chance to handle the request. >> >> Mark >> >> --------------------------------------------------------------------- >> >> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org >> For additional commands, e-mail: users-help@tomcat.apache.org >> > > Indeed, that solved the Problem. I would have never been able to > solve that just from documentation or examples... After some > googling on "default servlet" I found this SO thread which gave me > the solution: > > https://stackoverflow.com/questions/6349472/embedded-tomcat-not-servin g-static-content > > TL;DR: You could either write: > > Wrapper defaultServlet = context.createWrapper(); > defaultServlet.setName("default"); > defaultServlet.setServletClass("org.apache.catalina.servlets.DefaultSe rvlet"); > > defaultServlet.setLoadOnStartup(1); > context.addChild(defaultServlet); > context.addServletMappingDecoded("/", "default"); > > or just > > Tomcat.initWebappDefaults(context); It seems like Tomcat.initDefaultServlet(context) would be a good addition to the API. That would give you only the default servlet but not also e.g. JSPServlet if you didn't need/want it. - -chris -----BEGIN PGP SIGNATURE----- Comment: Using GnuPG with Thunderbird - https://www.enigmail.net/ iQIzBAEBCAAdFiEEMmKgYcQvxMe7tcJcHPApP6U8pFgFAl3AcnkACgkQHPApP6U8 pFhrKw/+NoavjCORgEh69v5s5SN3UIh/ksHkseACOU67TdzmwVhn2RK2UfM/fiMn c62Eqh2wD99rGWyM9vgBUTeZ35ANMdczrnEfCCBw0XUnSdZ/OxLpdhIhtQ1KaefD fAeNicNIs5g5X5e8R7lRCE/teu881jyUxWcNWo1gcHz+S5WPyK4VCG2O3TGful4Z QvpDYvg89eiBx5Gh8qhEk59PglXUbwLZ7UCUG/kl6a+OdfhXQQFErwwphT0SsJTp GdZxyU2JJpE62jKGPvOpdbFBwhfbHvqRQo+TZfsJf2Ur7hdUj3bEwCE9Ue+EgSIC zKkxKxB0gu7ZYvQX+0nt2fucfWMBz+BRfFasqB8gYh9VBNkwD2WxLZnFosgG5wUJ SSZrMkCjmheUgVz7bdpkjeV4IAlWGNGitq2nYb2xfGlpWn4ht3B9+23ZyOXCTFYB gyL+OFO/LHv5CJkgaRVpmXenXYQtW8y3MFb/eqzRy9NpZtHmjtIu8at1O4BTIcDa T5nIYUuuumbKFrTcTHeCryn9bAxQ7xnqpxCqQqo9oRmXzRctD+ISggmSE5eVUVur uhWXzhdTaixU+K4KovYzY0tgCwcTkIFLN2NwTklp1Odb6JjSTfq9gK/RWGQu4/PQ y5Cz+h9o0iTwXJP/ZHeqvL53WbThELkjbiO6ku/k9U9NMnm8UlQ= =em5M -----END PGP SIGNATURE----- --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org For additional commands, e-mail: users-help@tomcat.apache.org