Bot Framework SDK for Java로 만든 웹 애플리케이션과 로컬 환경에서 대화하기
자바는 여전히 미리보기 하지만, GitHub에 샘플 가 있었으므로 시험해 보았습니다.
echo-bot 시작
시도한 것은 입력한 메시지를 앵무새 반환하는 '02.echo-bot'입니다. 이 샘플은 Spring Boot에서 구현됩니다.
BotBuilder-Samples를 복제하여 '02.echo-bot' 폴더를 엽니다.
git clone https://github.com/microsoft/BotBuilder-Samples.git
빌드
mvn clean package
실행합니다.
java -jar /target/*.jar
그러면 다음 화면이 표시됩니다.
Emulator 준비
이번에는 로컬 환경에서 시도하기 위해 Emulator를 다운로드합니다.
htps : // 기주 b. 이 m/미 c로소 ft/보 tF 라메를 rk-에무아와 r/레에아세 s/타 g/v4.5.2
실행하면 다음과 같은 화면이 표시됩니다.
화면 왼쪽 하단의 설정(기어 마크 아이콘)을 클릭합니다.
ngrok를 다운로드합니다.
"Path to ngrok"로 다운로드한 ngrok 실행 파일의 경로를 지정합니다.
Emulator 시작 후 나타나는 첫 번째 화면을 다시 열고 'Open Bot' 버튼을 사용하여 Spring Boot 샘플 URL을 설정합니다.
설정은 이상입니다. Emulator에 메시지를 입력하면 앵무새 반환에서 동일한 메시지가 반환됩니다.
빠진 것
처음 로컬 환경에서 실행할 때는 ngrok는 불필요한가라고 (멋대로) 생각하고 있어, 「Path to ngrok」를 비우고 있었습니다. 그리고 Emulator에서 메시지를 입력하면 다음 오류가 발생하여 원인을 잘 모르고 곤란했습니다.
POST 500 directline/conversations/<conversationId>/activities
Spring Boot에서는 다음 로그가 나오고 포트 번호가 다르므로 ngrok에서 터널링하지 않는 것일까? 라고 시도했는데 잘 작동했습니다.
ERROR 11362 --- [ Bot-1] c.m.b.i.AdapterWithErrorHandler : onTurnError
java.util.concurrent.CompletionException: java.net.ConnectException: Failed to connect to localhost/127.0.0.1:62833
at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:331) ~[na:na]
at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:346) ~[na:na]
at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:632) ~[na:na]
at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506) ~[na:na]
at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2088) ~[na:na]
at retrofit2.CompletableFutureCallAdapterFactory$ResponseCallAdapter$2.onFailure(CompletableFutureCallAdapterFactory.java:123) ~[retrofit-2.5.0.jar!/:na]
이하의 문서를 베이스로 진행하고 있었습니다만, ngrok 주위의 설정이 세세하게 나오지 않기 때문에 빠져 버렸습니다.
이것을 Azure의 Bot Service에 배포하고 싶지만 방법을 모르겠습니다 ...라고 생각하면 아래에 썼습니다.
Reference
이 문제에 관하여(Bot Framework SDK for Java로 만든 웹 애플리케이션과 로컬 환경에서 대화하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kikutaro/items/5f12261d42cddba69592
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
git clone https://github.com/microsoft/BotBuilder-Samples.git
mvn clean package
java -jar /target/*.jar
이번에는 로컬 환경에서 시도하기 위해 Emulator를 다운로드합니다.
htps : // 기주 b. 이 m/미 c로소 ft/보 tF 라메를 rk-에무아와 r/레에아세 s/타 g/v4.5.2
실행하면 다음과 같은 화면이 표시됩니다.
화면 왼쪽 하단의 설정(기어 마크 아이콘)을 클릭합니다.
ngrok를 다운로드합니다.
"Path to ngrok"로 다운로드한 ngrok 실행 파일의 경로를 지정합니다.
Emulator 시작 후 나타나는 첫 번째 화면을 다시 열고 'Open Bot' 버튼을 사용하여 Spring Boot 샘플 URL을 설정합니다.
설정은 이상입니다. Emulator에 메시지를 입력하면 앵무새 반환에서 동일한 메시지가 반환됩니다.
빠진 것
처음 로컬 환경에서 실행할 때는 ngrok는 불필요한가라고 (멋대로) 생각하고 있어, 「Path to ngrok」를 비우고 있었습니다. 그리고 Emulator에서 메시지를 입력하면 다음 오류가 발생하여 원인을 잘 모르고 곤란했습니다.
POST 500 directline/conversations/<conversationId>/activities
Spring Boot에서는 다음 로그가 나오고 포트 번호가 다르므로 ngrok에서 터널링하지 않는 것일까? 라고 시도했는데 잘 작동했습니다.
ERROR 11362 --- [ Bot-1] c.m.b.i.AdapterWithErrorHandler : onTurnError
java.util.concurrent.CompletionException: java.net.ConnectException: Failed to connect to localhost/127.0.0.1:62833
at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:331) ~[na:na]
at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:346) ~[na:na]
at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:632) ~[na:na]
at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506) ~[na:na]
at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2088) ~[na:na]
at retrofit2.CompletableFutureCallAdapterFactory$ResponseCallAdapter$2.onFailure(CompletableFutureCallAdapterFactory.java:123) ~[retrofit-2.5.0.jar!/:na]
이하의 문서를 베이스로 진행하고 있었습니다만, ngrok 주위의 설정이 세세하게 나오지 않기 때문에 빠져 버렸습니다.
이것을 Azure의 Bot Service에 배포하고 싶지만 방법을 모르겠습니다 ...라고 생각하면 아래에 썼습니다.
Reference
이 문제에 관하여(Bot Framework SDK for Java로 만든 웹 애플리케이션과 로컬 환경에서 대화하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kikutaro/items/5f12261d42cddba69592
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
POST 500 directline/conversations/<conversationId>/activities
ERROR 11362 --- [ Bot-1] c.m.b.i.AdapterWithErrorHandler : onTurnError
java.util.concurrent.CompletionException: java.net.ConnectException: Failed to connect to localhost/127.0.0.1:62833
at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:331) ~[na:na]
at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:346) ~[na:na]
at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:632) ~[na:na]
at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506) ~[na:na]
at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2088) ~[na:na]
at retrofit2.CompletableFutureCallAdapterFactory$ResponseCallAdapter$2.onFailure(CompletableFutureCallAdapterFactory.java:123) ~[retrofit-2.5.0.jar!/:na]
Reference
이 문제에 관하여(Bot Framework SDK for Java로 만든 웹 애플리케이션과 로컬 환경에서 대화하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kikutaro/items/5f12261d42cddba69592텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)