I'm creating a managed package which requires a namespace. It has a REST endpoint where it receives data from Twilio. Here's the error message I'm getting (on the Twilio dashboard).
Error - 11235 Certificate Invalid - Domain Mismatch
Twilio tried to validate your SSL certificate but your certificate has a domain name that does not match the domain we requested.
Possible Causes Your Certificate Name or Certificate Alternate Name on your SSL certificate does not match the domain Twilio requested.
Possible Solutions Obtain a SSL certificate with a Certificate Name or Certificate Alternate Name that matches this domain
And the URL it sent the request to is correct:
https://[instance].force.com/services/apexrest/[my namespace prefix]/IncomingData?[params]
I have a class that is a REST endpoint, which requires annotation at the very top of the class:
@RestResource(urlMapping='/IncomingData/*')
According to this reference info,
The URL mapping is relative to https://instance.force.com/services/apexrest/
Since I'll have a namespace, the endpoint will be https://[instance.force].com/services/apexrest/[namespace prefix]/IncomingData/*
I figured I could just use a wildcard for the namespace prefix, like this:
@RestResource(urlMapping='/*/IncomingData/*')
But that's not working. I also had the same error with no wildcard. I ran this with no issue in a namespaced dev org and didn't have to pre-pend the namespace or use a wildcard, and I also didn't need it in the Managed Package Beta. Maybe it's something else.
Questions boil down to these:
- Since I didn't need the wildcard when running in a namespaced dev org and the managed package (beta), do I need it here in the managed package (release)?
- If I don't need the namespace or wildcard in the URLmapping, then what is causing the "domain mismatch", and why hasn't that shown up prior to the managed package?
- Do I need some additional SSL certificate for a managed package?