When I right-click on a content node on site 1 and select "Courier" from the menu, I get an erorr in red text in the "Deploy" flyout:
Application Error
System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.ArgumentException: Value cannot be null or whitespace. Parameter name: token at Umbraco.Courier.RepositoryProviders.Webservices.Repository.AuthorizeByToken(String token) at Umbraco.Courier.RepositoryProviders.Webservices.Repository.AuthorizeAndLog(String memberName) at Umbraco.Courier.RepositoryProviders.Webservices.Repository.CloseSession(String sessionKey) --- End of inner exception stack trace ---
Error details
System.Web.Services.Protocols.SoapException: System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.ArgumentException: Value cannot be null or whitespace.
Parameter name: token
at Umbraco.Courier.RepositoryProviders.Webservices.Repository.AuthorizeByToken(String token)
at Umbraco.Courier.RepositoryProviders.Webservices.Repository.AuthorizeAndLog(String memberName)
at Umbraco.Courier.RepositoryProviders.Webservices.Repository.CloseSession(String sessionKey)
--- End of inner exception stack trace ---
at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
at Umbraco.Courier.RepositoryProviders.CourierWebserviceRepositoryProvider.CloseSession(String sessionKey)
at Umbraco.Courier.RepositoryProviders.CourierWebserviceRepositoryProvider.Dispose(Boolean disposing)
at Umbraco.Courier.RepositoryProviders.CourierWebserviceRepositoryProvider.Dispose()
at Umbraco.Courier.Core.Repository.Dispose(Boolean disposing)
at Umbraco.Courier.Core.Repository.Dispose()
at Umbraco.Courier.UI.Dialogs.CommitItem.OnInit(EventArgs e)
at System.Web.UI.Control.InitRecursive(Control namingContainer)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Considering that I have set the token api key in the config, I'm not sure what else to do here.
After taking the conversation with Eric into the private Courier Support ticket system, we got the issue resolved.
I ended up removing the "www" from the live site URL in the courier.config. Also, I followed Eric's suggestion to change it to http rather than https. (My tests indicated that the URL Rewrite rules in the web.config had no effect on anything.)
The important thing: I noticed that I needed to restart the websites in IIS after updating the courier.configs in order for the changes to be properly recognized by all the sites.
Error: System.Web.Services.Protocols.SoapException: Value cannot be null or whitespace. Parameter name: token
I am setting up Courier 3.1.6 for use with an Umbraco 7.10.4 site.
Following the directions in https://our.umbraco.com/documentation/Add-ons/UmbracoCourier/Installing/ I set up the "token" with a 12-character string. I also added the three locations to the courier.config file. I copied the exact same courier.config file to all three sites.
When I right-click on a content node on site 1 and select "Courier" from the menu, I get an erorr in red text in the "Deploy" flyout:
Considering that I have set the token api key in the config, I'm not sure what else to do here.
Hi Heather!
You wouldn't per chance be running the repositories with https right?
When connecting to the different repositories in the courier.config file, the endpoints / domains have to be in http.
That is one the errors I can remember on the top of my head.
Let me know if you have further questions :D
Thanks, Eric.
The live site IS on HTTPS... How do we work around that? There is a rewrite rule to force https in the web.config.
Well courier works in such a way that, the package itself does not need the https domain.
It should like this in the courier.config file:
Courier just wants the http domain and you don't need to worry about rewrite rules, that is all something courier figures out
Well, now I get the error:
That file DOES exist on disk...
Also, all the sites are on the same server box, so access shouldn't be an issue.
You need to use your domain and not the one I posted. The domain I gave you was just an example to show you how the repository should look like :)
I am using my actual domain in the config. I obscured it here for client privacy.
Aaaah but of course!
is there a trailing backslash on the domain?
No trailing backslashes. (C'mon, Eric, give me a LITTLE credit here... ;-) )
After taking the conversation with Eric into the private Courier Support ticket system, we got the issue resolved.
I ended up removing the "www" from the live site URL in the courier.config. Also, I followed Eric's suggestion to change it to http rather than https. (My tests indicated that the URL Rewrite rules in the web.config had no effect on anything.)
The important thing: I noticed that I needed to restart the websites in IIS after updating the courier.configs in order for the changes to be properly recognized by all the sites.
is working on a reply...