question

James J Morrison avatar image
James J Morrison asked

Skill works with Service Simulator, but now with Echo

I have built my second skill using a Self-Signed certificate. The testing works just fine when I use the service simulator, but when I try to use the voice interface through the Echo I get the following: The certificate does not have a path to a trusted authority. This happens if you are using a self signed certificate. I know I'm using a self-signed certificate, as I've specified this and it works through the Amazon testing interface. My first skill which was built the same way connives to work with a self signed certificate without issue. Has anyone experienced anything similar? Why does it work with the Service simulator but not with the Echo? If there was a problem with my self signed certificate, wouldn't show up with the service simulator? Thanks in advance for any suggestions or assistance.
alexa skills kitsubmission testing certification
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

James J Morrison avatar image
James J Morrison answered
So now I've upgraded from a self-signed to a valid SSL certificate. That variable has been eliminated. My service is running. I can connect using the Service Simulator and it responds appropriately, but when I try to use it with the Echo, Alexa says, "I am unable to reach the requested skill." However the Alexa history shows that it heard and interpreted the words correctly. I'm stuck, I don't know where to go from here. Why does it work in the Service Simulator but not on the Echo?
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Galactoise avatar image
Galactoise answered
Can you check the access logs of your service and see if you're seeing any inbound traffic at all from an Echo request? That would be my next step if I were in your shoes.
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

James J Morrison avatar image
James J Morrison answered
Great suggestion, I looked over my access logs and did some step by step testing for both my old skill (#1) and the new one which isn't working (#2). Here are the access logs: Skill #1 (Working skill with self-signed certificate): 72.21.217.100 - - [22/Dec/2015:00:21:52 +0000] "POST /api/codeBlue HTTP/1.1" 200 171 "-" "Apache-HttpClient/4.3 (java 1.5)" 72.21.217.114 - - [22/Dec/2015:00:22:52 +0000] "POST /api/codeBlue HTTP/1.1" 200 171 "-" "Apache-HttpClient/UNAVAILABLE (Java/1.8.0_66)" The first entry is for the API call via the Echo, the second is from the Service Simulator, both respond appropriately. Skill #2 (Not working, valid SSL certificate): 72.21.217.100 - - [22/Dec/2015:00:24:01 +0000] "-" 400 0 "-" "-" 72.21.217.100 - - [22/Dec/2015:00:24:01 +0000] "-" 400 0 "-" "-" API call via the Echo, looks like it is getting an empty request. 72.21.217.114 - - [22/Dec/2015:00:24:06 +0000] "POST /voiceRequest HTTP/1.1" 200 145 "-" "Apache-HttpClient/UNAVAILABLE (Java/1.8.0_66)" API call via the Service Simulator which has the correct request info and responds appropriately. Why the empty call from the Echo?
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Galactoise avatar image
Galactoise answered
That is very strange. Are you using a Lambda pass-through, or going directly to your service? If you're calling directly, did you double check the path you have set up in your skill's configuration?
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

James J Morrison avatar image
James J Morrison answered
I am going directly to my service for both Skills. The path is definitely correct. Interestingly, I changed the path in Skill #1 to reference the new service I am trying to get working, and the result was that is passed a blank http request to the server. When I changed the URL back to the original the http request reverted to a properly formed request. In the short term, I have changed my web proxy to route to the port of my new skill. Until I can get this figured out I'm only able to run one skill from my service at a time.
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Galactoise avatar image
Galactoise answered
Wait, are you using something like HAProxy to reroute different paths on :443 to different internal ports? I didn't bring that up before because you didn't mention it (and most people aren't proxying), but your issue sounds a lot like a proxy configuration issue. I'd say double and triple check your proxy settings.
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.