When using metro with a decoupled endpoint, so we can use the asynchronous functionality of WSRM, the sequenceacknowledgements never arrive at the destination.
The other responses (CreateSequenceResponse, CloseSequenceResponse and TerminateSequenceResponse) do arrive at this endpoint, but the SequenceAcknowledgement is lost.
When looking through the code i found the following:
class: ClientTube , starting from linenumber 145
// TODO P3 we should also take into account addressable clients
final WsmcRuntimeProvider wsmcRuntimeProvider = context.getImplementation(WsmcRuntimeProvider.class);
if (configuration.isMakeConnectionSupportEnabled()) {
assert wsmcRuntimeProvider != null;
When using metro with a decoupled endpoint, so we can use the asynchronous functionality of WSRM, the sequenceacknowledgements never arrive at the destination.
The other responses (CreateSequenceResponse, CloseSequenceResponse and TerminateSequenceResponse) do arrive at this endpoint, but the SequenceAcknowledgement is lost.
When looking through the code i found the following: class: ClientTube , starting from linenumber 145
// TODO P3 we should also take into account addressable clients final WsmcRuntimeProvider wsmcRuntimeProvider = context.getImplementation(WsmcRuntimeProvider.class); if (configuration.isMakeConnectionSupportEnabled()) { assert wsmcRuntimeProvider != null;
this.rmSourceReference = wsmcRuntimeProvider.getWsmcAnonymousEndpointReference(); wsmcRuntimeProvider.registerProtocolMessageHandler(createRmProtocolMessageHandler(rc)); } else { this.rmSourceReference = configuration.getAddressingVersion().anonymousEpr; }
This looks like it means that the source is always anonymous.
For this project the use of MakeConnection is not a possibilty, because we want the users to have as little dependencies as possible.
Is this something which has not been added yet, or do i need to look somewhere else to send the sequenceacknowledgements to a decoupled endpoint?
Environment
Windows 7
Affected Versions
[2.2.1-1]