Skip to content
This repository has been archived by the owner on Jun 30, 2022. It is now read-only.

Can't invoke cSharp Skill from Typescript Virtual Assistant #2820

Closed
rjgmail88 opened this issue Dec 16, 2019 · 7 comments
Closed

Can't invoke cSharp Skill from Typescript Virtual Assistant #2820

rjgmail88 opened this issue Dec 16, 2019 · 7 comments
Labels
Needs Triage Needs to be triaged for assignment Type: Bug Something isn't working

Comments

@rjgmail88
Copy link

rjgmail88 commented Dec 16, 2019

What project is affected?

TypeScript VA: https://microsoft.github.io/botframework-solutions/virtual-assistant/tutorials/create-assistant/typescript/3-create-project/

ToDo skill cSharp https://github.com/microsoft/botframework-solutions/tree/master/skills/csharp/todoskill

What language is this in?

Typescript and C#

What happens?

I can't connect and trigger csharp skill within TypeScript Virtual assistant. I created a Typescript Virtual assistant using steps mentioned here. and then used cSharp skill from this github repo. When I ran both in localhost and register ToDo skill within skill.json of VA with correct msAppId and Endpoint URL, I get following error in VA.

Note:- I am able to trigger Skills built using TypeScript SDK in my VA. Issues arises only when I try to connect cSharp skill from Microsoft repo.

What are the steps to reproduce this issue?

  1. Build VA project using steps mentioned here
  2. Make sure VA is running properly on localhost.
  3. Clone repo Todo skill.
  4. Make sure Todo skill is running on localhost.
  5. Edit skill.json fille on VA to mentioned an entry for Todo skill.
  6. Type something in emulator that will try to detect Todo skill and will try to forward request to todo skill.

What were you expecting to happen?

I have noticed one thing. The Skills which are workin g with my VA are using httpTransport to connect from VA but, cSharp is using SkillWebSocketBotAdapter.

Does this cause an issue ?
Are there any workarounds ?

Can you share any logs, error output, etc.?

Error log and stack trace is as follows.

**Error**: HTTP error when forwarding activity to the skill: Status Code:404, Message: dialogBot.ts:line #1009 
**message**:"HTTP error when forwarding activity to the skill: Status Code:404, Message: ''"
**stack**:
"Error: HTTP error when forwarding activity to the skill: Status Code:404, Message: ''\n    at SkillHttpTransport.forwardToSkill (..node_modules/botbuilder-skills/lib/http/skillHttpTransport.js:48:19)\n    at process._tickCallback (internal/process/next_tick.js:68:7)"

Any screenshots or additional context?

No.

@rjgmail88 rjgmail88 added Needs Triage Needs to be triaged for assignment Type: Bug Something isn't working labels Dec 16, 2019
@rjgmail88
Copy link
Author

In the documentation it says

the remote invocation nature of the Skills does enable you to invoke C# based Skills from a typescript Bot project.

@Batta32
Copy link
Collaborator

Batta32 commented Dec 16, 2019

Hi @rjgmail88, thanks for reporting the issue!

Currently, the communication between a [TypeScript] Virtual Assistant - [C#] Skill is not working as in TypeScript uses HTTP and C# uses WebSocket, being different the communication's protocols across languages.

Also, the documentation that you attached is outdated. This scenario was available when both were using the same protocol.
@darrenj - should we add these scenarios in the Known Issue document and link into the documentation attached?

We will track this scenario in the issue #2489 as it's one of the Acceptance Criteria.

@rjgmail88
Copy link
Author

@Batta32 , thank you for your prompt responses on this. While we wait on issue #2489, is there any workaround to get this working ?

As in can we make modifications in VA to use WebSocket protocol so then it can be same as cSharp skill ?

@Batta32
Copy link
Collaborator

Batta32 commented Dec 17, 2019

Hi @rjgmail88, botframework-streaming@4.7.0 was published in npmjs 4 days ago. This version includes the WebSocket protocol as you can see in botbuilder-js/master branch.

The modifications to use the WebSocket protocol are mainly in botbuilder-skills library, following the C# implementation. However, this library is being migrated (at least the core functionality) into botbuilder library. So we are analyzing the necessary changes to implement this feature.

Currently, the communication across languages is not available and it would be when those changes are implemented in botbuilder-skills with a new version released.

@rjgmail88
Copy link
Author

Thank you @Batta32 , One last thing. What will be the best way to track this and, get latest update on 'communication across languages'? Should I keep this issue under my radar or issue #2489 that you guys are tracking ?

@Batta32
Copy link
Collaborator

Batta32 commented Dec 17, 2019

@darrenj - should we keep this issue open? We think we should close this one, since this scenario is one of the Acceptance Criteria of #2489.

@lauren-mills
Copy link
Contributor

Closed. Reference #2489 for status.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Needs Triage Needs to be triaged for assignment Type: Bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants