質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

Q&A

0回答

2818閲覧

herokuへのデプロイが成功しているはずなのに、「ページが存在しない」

sa-s-ga

総合スコア4

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

0グッド

0クリップ

投稿2019/12/23 04:02

編集2019/12/24 03:11

質問

LINE Messaging APIを利用しようと考えています。
手始めにオウム返しを、GitHubのサンプルコードを使ってHerokuへデプロイし、試してみました。
最初はうまくいったのですが、やがて、
LINE側のWebhook検証で、
「ボットサーバーから200以外のHTTPステータスコードが返されました」
ばかりが表示されるようになりました。
よくよく調べると、herokuでデプロイが成功しているはずなのに、
そのURLを開くと「存在しない」ことが分かりました。
何が原因でしょうか?

やりたいこと

我が社のLINE内に、いくつかの質問に答えてもらえば、
とある行為の妥当な金額のシミュレーションができるものを作りたい。
Javaの学習などの都合で本格的にLINEbotの仕組みを調べ始めたのは
2019年12月17日からだった。

試したこと

まずeclipse上で、コーディング・コンパイルし、コマンドプロンプト上で動いた。
いざLINEbotを、と思って調べたところ、
全然違っていた。
最初はLINEDeveloperのサイトにも気付かなかったので、
調べるまま、ほぼ環境設定、17日が終わった。

翌18日、
“こういうことは、LINEのサイトにありそうなものだ”
LINEDeveloperを探ってみると、サンプルボットまであった。
「heroku CLI」をインストールして、サンプルのコールバックも見事成功。
ここで遊び心が湧いて、
何を言っても「呼んだ?」と返すものも簡単に作れるだろう、と
コードの「originalMessageText」の箇所を「"呼んだ?"」に書き換え、デプロイ。
そして「返事して!」と書き込んだ。すると、
>「返事して!」
オウム返しのまま。
もう1回デプロイ。
>「返事して!」
もういい。Kitchensinkに進んだ。しかし何度デプロイしても、LINEのWebhook検証で、
「ボットサーバーから200以外のHTTPステータスコードが返されました」
という表示が出る。
ならばもう一度、echoをデプロイしよう。
「ボットサーバーから200以外の~」
あれ?できなくなってる。

帰宅後も調べてみた。
GASからデプロイする方法をやってみた。
それもエラー(エラーコード失念)
さらに調べたところ、callbackのやり方について面白いタッチのサイトを見つけた。
そこには、STSのインストールが書かれていた。

翌19日、STSをインストール。きっちりコードを作り込んで、コマンドプロンプトのコマンドでデプロイ。
あれ?何度やっても実行されないコマンドがある。
調べていると、ngrokのインストールを勧めるサイトに出会う。
ダウンロードそしてダブルクリック。しかしインストールが始まらない。
ついにngrokをインストールできなかった。
そこで再び、LINE Develoerの記載に従って、echoをデプロイ。
Webサイト上のGitHubリポジトリには、「呼んだ?」に書き換わったままのechoがある。
手入力で「originalMessageText」に戻し、デプロイ。
「ボットサーバーから200以外の~」
こうして初回の質問を投稿。
https://teratail.com/questions/230527
その一方で、GitHubのリポジトリを、今までにない名前に設定。
「ボットサーバーから200以外の~」
herokuのアプリネームを、今までにない名前に設定。
「ボットサーバーから200以外の~」
全部作り変えよう。
「ボットサーバーから200以外の~」
もう分からん。LINEに問い合わせをする。

翌20日はLINEの返事を待つ。しかし来なかった。
仕方なく、Kitchensinkのコードの分析だけで終える。

そして23日。LINEからの返事は22日にあった。
「この種の個別の問い合わせには答えられません。
DeveloperのQ&AかCommunityで・・・」
再び自分で調べた。
そして、そもそもURL自体が存在しない可能性に言及したサイトと出会う。
https://<アプリネーム>.herokuapp.comを開いてみた。
「Not Found status=404」
さらに調べた。するとこのteratailの過去の質問で、
「ちゃんとAdminしないとダメ」とある。
そこで、アドレスバーに直接「/admin/」を書き足してみた。
「Not Found status=404」
時間を空けてもう1回。
「Not Found status=404」
コマンドプロンプトから開いてみた。
「Not Found status=404」
意外と、/admin/を除いたもともとのURLが出来上がっていたりして。
「Not Found status=404」
あーもう分からない。
これらのログを取る方法がある。コマンドプロンプトで取れた。
これをteratailに貼って、質問しよう。

ということで今に至ります。

参考事項

ログをとってコピペしました。
個人情報と思われるものは事前に変換しております。

C:\Users\<端末名>>heroku logs --tail --app <アプリネーム> 2019-12-23T03:14:10.501337+00:00 app[api]: Release v1 created by user <メールアドレス> 2019-12-23T03:14:10.501337+00:00 app[api]: Initial release by user <メールアドレス> 2019-12-23T03:14:10.627098+00:00 app[api]: Release v2 created by user <メールアドレス> 2019-12-23T03:14:10.627098+00:00 app[api]: Enable Logplex by user <メールアドレス> 2019-12-23T03:14:11.199386+00:00 app[api]: Release v3 created by user <メールアドレス> 2019-12-23T03:14:11.199386+00:00 app[api]: Set LINE_BOT_CHANNEL_TOKEN, LINE_BOT_CHANNEL_SECRET config vars by user <メールアドレス> 2019-12-23T03:14:12.000000+00:00 app[api]: Build started by user <メールアドレス> 2019-12-23T03:19:33.973988+00:00 app[api]: Release v4 created by user <メールアドレス> 2019-12-23T03:19:33.973988+00:00 app[api]: Deploy by user <メールアドレス> 2019-12-23T03:19:33.993889+00:00 app[api]: Scaled to web@1:Free by user <メールアドレス> 2019-12-23T03:19:39.538186+00:00 heroku[web.1]: Starting process with command `java $JAVA_OPTS -jar sample-spring-boot-echo/build/libs/sample-spring-boot-echo-*.jar --server.port=5593` 2019-12-23T03:19:41.602694+00:00 app[web.1]: Setting JAVA_TOOL_OPTIONS defaults based on dyno size. Custom settings will override them. 2019-12-23T03:19:41.606727+00:00 app[web.1]: Picked up JAVA_TOOL_OPTIONS: -Xmx300m -Xss512k -XX:CICompilerCount=2 -Dfile.encoding=UTF-8 2019-12-23T03:19:44.631344+00:00 app[web.1]: 2019-12-23T03:19:44.631410+00:00 app[web.1]: . ____ _ __ _ _ 2019-12-23T03:19:44.631451+00:00 app[web.1]: /\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ 2019-12-23T03:19:44.632384+00:00 app[web.1]: ( ( )\___ | '_ | '_| | '_ / _` | \ \ \ \ 2019-12-23T03:19:44.632479+00:00 app[web.1]: \/ ___)| |_)| | | | | || (_| | ) ) ) ) 2019-12-23T03:19:44.632571+00:00 app[web.1]: ' |____| .__|_| |_|_| |_\__, | / / / / 2019-12-23T03:19:44.632666+00:00 app[web.1]: =========|_|==============|___/=/_/_/_/ 2019-12-23T03:19:44.634822+00:00 app[web.1]: :: Spring Boot :: (v2.2.1.RELEASE) 2019-12-23T03:19:44.634872+00:00 app[web.1]: 2019-12-23T03:19:44.924998+00:00 app[web.1]: 2019-12-23 03:19:44.918 INFO 4 --- [ main] c.e.bot.spring.echo.EchoApplication : Starting EchoApplication on c501d622-3c72-49b8-99d2-261008b7cbed with PID 4 (/app/sample-spring-boot-echo/build/libs/sample-spring-boot-echo-3.4.0-SNAPSHOT.jar started by u9943 in /app) 2019-12-23T03:19:44.926942+00:00 app[web.1]: 2019-12-23 03:19:44.926 INFO 4 --- [ main] c.e.bot.spring.echo.EchoApplication : No active profile set, falling back to default profiles: default 2019-12-23T03:19:47.566386+00:00 app[web.1]: 2019-12-23 03:19:47.566 INFO 4 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 5593 (http) 2019-12-23T03:19:47.616142+00:00 app[web.1]: 2019-12-23 03:19:47.615 INFO 4 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat] 2019-12-23T03:19:47.616643+00:00 app[web.1]: 2019-12-23 03:19:47.616 INFO 4 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.27] 2019-12-23T03:19:47.805076+00:00 app[web.1]: 2019-12-23 03:19:47.803 INFO 4 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext 2019-12-23T03:19:47.805081+00:00 app[web.1]: 2019-12-23 03:19:47.804 INFO 4 --- [ main] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 2546 ms 2019-12-23T03:19:48.975627+00:00 app[web.1]: 2019-12-23 03:19:48.975 INFO 4 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor' 2019-12-23T03:19:50.634647+00:00 app[web.1]: 2019-12-23 03:19:50.627 INFO 4 --- [ main] c.l.b.s.b.s.LineMessageHandlerSupport : Registered LINE Messaging API event handler: count = 2 2019-12-23T03:19:50.642755+00:00 app[web.1]: 2019-12-23 03:19:50.641 INFO 4 --- [ main] c.l.b.s.b.s.LineMessageHandlerSupport : Mapped "[MessageEvent<TextMessageContent>]" onto public com.linecorp.bot.model.message.Message com.example.bot.spring.echo.EchoApplication.handleTextMessageEvent(com.linecorp.bot.model.event.MessageEvent<com.linecorp.bot.model.event.message.TextMessageContent>) 2019-12-23T03:19:50.643353+00:00 app[web.1]: 2019-12-23 03:19:50.642 INFO 4 --- [ main] c.l.b.s.b.s.LineMessageHandlerSupport : Mapped "[Event]" onto public void com.example.bot.spring.echo.EchoApplication.handleDefaultMessageEvent(com.linecorp.bot.model.event.Event) 2019-12-23T03:19:50.817899+00:00 app[web.1]: 2019-12-23 03:19:50.816 INFO 4 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 5593 (http) with context path '' 2019-12-23T03:19:50.844588+00:00 app[web.1]: 2019-12-23 03:19:50.844 INFO 4 --- [ main] c.e.bot.spring.echo.EchoApplication : Started EchoApplication in 7.252 seconds (JVM running for 9.237) 2019-12-23T03:19:51.333610+00:00 heroku[web.1]: State changed from starting to up 2019-12-23T03:20:06.000000+00:00 app[api]: Build succeeded 2019-12-23T03:20:15.082569+00:00 heroku[router]: at=info method=GET path="/" host=<アプリネーム>.herokuapp.com request_id=8839847a-c566-4761-8ad1-3b4e92142ad0 fwd="153.156.186.18" dyno=web.1 connect=0ms service=164ms status=404 bytes=550 protocol=https 2019-12-23T03:20:14.978131+00:00 app[web.1]: 2019-12-23 03:20:14.977 INFO 4 --- [nio-5593-exec-3] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' 2019-12-23T03:20:14.978357+00:00 app[web.1]: 2019-12-23 03:20:14.978 INFO 4 --- [nio-5593-exec-3] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' 2019-12-23T03:20:14.990506+00:00 app[web.1]: 2019-12-23 03:20:14.990 INFO 4 --- [nio-5593-exec-3] o.s.web.servlet.DispatcherServlet : Completed initialization in 12 ms 2019-12-23T03:20:15.517400+00:00 heroku[router]: at=info method=GET path="/favicon.ico" host=<アプリネーム>.herokuapp.com request_id=3190229d-e5f1-4149-9eac-2b61f21df29f fwd="153.156.186.18" dyno=web.1 connect=0ms service=78ms status=404 bytes=365 protocol=https 2019-12-23T03:21:08.178906+00:00 heroku[router]: at=info method=GET path="/admin/" host=<アプリネーム>.herokuapp.com request_id=52aff71e-d9ef-4da0-83ae-c7e802c38eec fwd="153.156.186.18" dyno=web.1 connect=0ms service=8ms status=404 bytes=550 protocol=https 2019-12-23T03:23:48.847310+00:00 heroku[router]: at=info method=GET path="/admin/" host=<アプリネーム>.herokuapp.com request_id=acfbbe99-9046-4c5f-bc01-18b8ab5dc8ac fwd="153.156.186.18" dyno=web.1 connect=0ms service=18ms status=404 bytes=550 protocol=https 2019-12-23T03:23:54.614020+00:00 heroku[router]: at=info method=GET path="/admin/" host=<アプリネーム>.herokuapp.com request_id=04dd0bc1-9e41-4958-b086-f7be403a94ac fwd="153.156.186.18" dyno=web.1 connect=0ms service=7ms status=404 bytes=550 protocol=https 2019-12-23T03:25:50.185453+00:00 heroku[router]: at=info method=GET path="/" host=<アプリネーム>.herokuapp.com request_id=a828c95c-2e16-4e8d-9376-8dc855de2e31 fwd="153.156.186.18" dyno=web.1 connect=0ms service=12ms status=404 bytes=550 protocol=https

補足

言語の知識はjavaコードが分かる程度です。
端末OSはWindows10です。

追記

丸投げというご意見を頂いたので、2時間かけて経緯を書き、字数オーバーになったため1時間かけて削る作業をしました。
しかし、結局聞きたい「なぜページが存在しないのか」の問と無関係の経緯ですので、丸投げというご批判を浴び続けることに変わりはないと考えます。

イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

CHERRY

2019/12/23 05:47

ちなみに Javaアプリはどのパスにマッピングされているのでしょうか?
sa-s-ga

2019/12/23 07:50

お尋ねありがとうございます。 パスもマッピングもよく分からず、見当違いな回答かもしれませんが、 https://<アプリネーム>.herokuapp.com/ です。
退会済みユーザー

退会済みユーザー

2019/12/23 10:44

あなたが思ってるパスが存在しないだけでは?
CHERRY

2019/12/23 11:22

最初に成功したときのコードと 現在のコードは、同じものですか?
退会済みユーザー

退会済みユーザー

2019/12/23 11:50

いや、そのサイトでいってるURLにアクセスしてないじゃないか 赤文字で書かれてるやつに1度も
sa-s-ga

2019/12/23 18:37

夜が明けたら回答しようと思いましたが、すぐにできないかもしれないですので。 誠に申し訳ございませんが、 https://developers.line.biz/ja/docs/messaging-api/building-sample-bot-with-heroku/にて asahina1979様の言われる「赤文字で書かれているやつ」がどのURLか分かりませんでした。 ちなみにInternetExplorerでの閲覧です。 職場ではGoogleChromeも同時に閲覧していましたが、 「赤文字で書かれている」URLを見た記憶がありません。 夜が明け、職場に行きましたら、GoogleChromeだけでなく必ずMicrosoftEdgeでも閲覧しようと思います。
退会済みユーザー

退会済みユーザー

2019/12/23 20:51

赤文字は github のほう ちなみに受付可能なURLについては両方に書いてる
sa-s-ga

2019/12/24 01:02

もし、asahina1979様の言われる赤文字が示すものが、 https://<アプリネーム>.herokuapp.com/callback であるのでしたら、それでもNotFoundになることを示させていただきます。
sa-s-ga

2019/12/24 09:28

今回の件、みなさまお気遣い誠にありがとうございます。 現状報告です。放置していると日中は、 ・https://<アプリネーム>.herokuapp.com/callback URLを開いたときのステータスコード:405 Webhook検証:「成功」 ・https://<アプリネーム>.herokuapp.com/ URLを開いたときのステータスコード:404 Webhook検証:「成功」 となりました。 ステータスコードは気になりますが、時間が解決するもののかもしれません。 しかし現在は、ともにWebhook検証はエラーです。やはりよく分かりません。 これでもオウム返しが発生するのか、その確認はすぐには取れませんので、もうしばらくお待ちください。
退会済みユーザー

退会済みユーザー

2019/12/24 09:30

405はそのリクエストメソッドを受け付けてない
sa-s-ga

2019/12/26 15:09

皆さまお気遣い誠にありがとうございます。 https://qiita.com/zakisanbaiman/items/e87c4834b28c6d964e54#4-sdk%E6%BA%96%E5%82%99 に、 application-template.ymlファイルの名前をapplication.ymlに変え、チャネルトークン・チャネルシークレットを書き込んで書き換えることが書かれていました。 (https://developers.line.biz/ja/docs/messaging-api/building-sample-bot-with-heroku/  には、kitchensinkのところで初めて記載している内容のような?) 明日これを試してみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問