Hi,
I wrote a very simple WS app using the 10.5 CWS API (the one that doesn't have documentation, BTW). The only thing new for me is using CWS in 10.5 instead of les-services from 10.0. Anyway, in this app, I have a method to retrieve the appropriate root node for my request (i.e. if I pass in a path that starts with Enterprise, I want the Enterprise WS root node, but if it's 'Categories', I want the category WS).
private long GetRootNode(string name)
{
// first check if we have it in the cache
long retVal = GetNodeFromCache(name);
if (retVal != -1)
return retVal;
string rootType = "PersonalWS"; // Default to personal WS and assume that this element is a user name.
if (name.Equals("Enterprise") )
rootType = "EnterpriseWS";
else if (name.Equals("Categories") )
rootType = "CategoriesWS";
try
{
GetRootNodeRequest req = new GetRootNodeRequest(GetOTAuth(), rootType);
GetRootNodeResponse resp = GetDocManClient().GetRootNode(req);
retVal = resp.GetRootNodeResult.ID;
}
catch(Exception e)
{
Log(String.Format("Exception caught while getting root node {0}: {1}", name, e.Message));
}
return retVal;
}
This method, when called throws the following exception:
The message with Action 'urn:DocMan.service.livelink.opentext.com/GetRootNode' 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 anyone explain what is the root cause of this exception? In my VS environment, I created the service ref the way it was demonstrated in the getting started guide, and when I last attempted this in 10.0, this worked fine. In fact, in 10.0, I could even change the endpoint to reflect the actual CS host (in this simple example, the service ref was generated from the server I'm trying to connect to which is local).
Thanks in advance
-Hugh Ferguson