0
Fixed

Confirm behaviour of Identity Broker Changes EB3 operation

Matthew Clark 7 years ago • updated by anonymous 4 years ago 8

Confirm that the ChangesAvailable interface performs as expected and will work correctly with the current version of Event Broker 3.

Affected Versions:
Fixed by Version:

When attempting to add an IdB Changes operation against an IdB4 instance, the follow error appears when it attempts to retrieve adapters:

An error occured when attempting to execute a function against the agent with the id 324a0b91-75dc-4d13-afd9-b692cf176e31:
System.ServiceModel.ActionNotSupportedException: The message with Action 'http://www.unifysolutions.net/IdentityBroker/IIdentityBrokerEngineNotificationCollector/GetAdapters' 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).

Server stack trace:
at System.ServiceModel.Channels.ServiceChannel.ThrowIfFaultUnderstood(Message reply, MessageFault fault, String action, MessageVersion version, FaultConverter faultConverter)
at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at 0:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at IIdentityBrokerEngineNotificationCollector.GetAdapters()
at Unify.Product.EventBroker.IdentityBrokerAgent.GetAdapters()
at Unify.Product.EventBroker.AgentRequestResponseEngine.IdBAgentGetAdapterNamesRequestAction(IAgent agent, XElement details, Guid agentId)
at Unify.Product.EventBroker.AgentRequestResponseEngine.ExecuteRequest(IAgent agent, XElement details, Guid agentId)
at Unify.Product.EventBroker.AgentEngineRepository.ExecuteAgainstAgent(Guid agentId, XElement details)
at Unify.Product.EventBroker.AgentEngine.ExecuteAgainstAgent(Guid agentId, XElement details)
at Unify.Product.EventBroker.AgentEngineLoggingDecorator.ExecuteAgainstAgent(Guid agentId, XElement details)

It looks like this service has been incorporated into the main collector endpoint, or removed.

Change detection with a direct adapter ID results in the following error:

Operation faulted: Could not find endpoint element with name 'IdentityBroker' and contract 'Unify.Framework.IChangesAvailableAdapter' in the ServiceModel client configuration section. This might be because no configuration file was found for your application, or because no endpoint element matching this name could be found in the client element. - Please see the log viewer for more details.

Event Broker had a direct reference to a "Framework" assembly in Unify.Framework.Adapter.Changes.Interfaces, and is expecting a service contract with its signature.

Raising priority as this is required by the induction project

Matthew, I have hit a few difficulties with getting the to work consistently.

I could get the communication to work between the products, but after the first successful call, it errored with server busy messages.

Could you please take a look?

Thanks.

Also, I didn't add the new assembly to the installer. Could you please take care of that?

Thanks.

Updated endpoint and app.config files appropriately. Tested using Event Broker console successfully. To be confirmed through use of the Event Broker service to ensure the new assembly and configuration has been included correctly.

Closed, confirmed behaviour in regression test.