Frank van Puffelen's AppData Inspector lets you browse App Data using a command-line tool.
It comes with a XML configuration file that defines the WCF service client endpoint. For a Tridion 2011 setup this looks like:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<!-- removed for brevity -->
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://localhost/webservices/CoreService.svc/basicHttp_2010"
binding="basicHttpBinding" bindingConfiguration="basicHttp_2010"
contract="Tridion.ICoreService2010" name="basicHttp_2010" />
</client>
</system.serviceModel>
</configuration>
In Tridion 2013, I understand the endpoints were updated. Rather than an endpoint address with http://localhost/webservices/CoreService.svc
, we now reference a specific version as in: http://localhost/webservices/CoreService2011.svc
The documentation describes the endpoints, but I'm not sure on attributes like contract
.
Trying the following:
<endpoint address="http://localhost/webservices/CoreService2011.svc/basicHttp"
binding="basicHttpBinding" bindingConfiguration="basicHttp_2010"
contract="Tridion.ICoreService2010" name="basicHttp_2010" />
</client>
Gives the following error:
Unhandled Exception: System.ServiceModel.ActionNotSupportedException: The message with Action 'http://www.sdltridion.com/ContentManager/CoreService/2010/ICoreSe rvice2010/ReadAllApplicationData' cannot be processed at the receiver, due to a ContractFilter mismatch at the EndpointDispatcher. This may be because of either a contract mismatch (mismatched Actions between sender and receiver) or a binding/security mismatch between the sender and the receiver. Check that sender and receiver have the same contract and the same binding (including security requirements, e.g. Message, Transport, None).
Can we use the AppData inspector on a 2013 setup by updating AppData.exe.config
?
Edit:
Using the following:
<endpoint address="http://localhost/webservices/CoreService2011.svc/basicHttp_2010"
binding="basicHttpBinding" bindingConfiguration="basicHttp_2010"
contract="Tridion.ICoreService2010" name="basicHttp_2010" />
</client>
Gives:
Unhandled Exception: System.ServiceModel.EndpointNotFoundException: There was no endpoint listening at http://localhost/webservices/CoreService2011.svc/basicHttp_2010 that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details. ---> System .Net.WebException: The remote server returned an error: (404) Not Found. at System.Net.HttpWebRequest.GetResponse() at System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpC hannelRequest.WaitForReply(TimeSpan timeout) --- End of inner exception stack trace ---
Update: based on Rick's explanation, to make the AppData Companion work for Tridion 2011 SP1 and later, we need to update the Service Reference and code.
So this endpoint (with code and service changes) works:
<endpoint address="http://train1/webservices/CoreService2011.svc/basicHttp"
binding="basicHttpBinding" bindingConfiguration="basicHttp1"
contract="Tridion.ICoreService" name="basicHttp1" />
I added the updated project and .exe. to SDL Community and placed the updated project in the TridionWorld repository.
CoreService.svc
in the folder for the webservices IIS Web Application (justCoreService2011.svc
,CoreService2012.svc
,CoreService2013.svc
, andImportExportService2013.svc
). Maybe SDL Tridion 2013 (SP1) does not ship with the vanillaCoreService.svc
anymore? I don't think basicHttp_2010 applies for CoreService2011.svc--I added the error from trying it to my answer.CoreService.svc
was deprecated (and in which Tridion version).