01: /**
02: * Licensed to the Apache Software Foundation (ASF) under one
03: * or more contributor license agreements. See the NOTICE file
04: * distributed with this work for additional information
05: * regarding copyright ownership. The ASF licenses this file
06: * to you under the Apache License, Version 2.0 (the
07: * "License"); you may not use this file except in compliance
08: * with the License. You may obtain a copy of the License at
09: *
10: * http://www.apache.org/licenses/LICENSE-2.0
11: *
12: * Unless required by applicable law or agreed to in writing,
13: * software distributed under the License is distributed on an
14: * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15: * KIND, either express or implied. See the License for the
16: * specific language governing permissions and limitations
17: * under the License.
18: */package org.apache.cxf.transport;
19:
20: import java.util.Map;
21:
22: import org.apache.cxf.ws.addressing.EndpointReferenceType;
23:
24: /**
25: * A MultiplexDestination is a transport-level endpoint capable of receiving
26: * unsolicited incoming messages from different peers for multiple targets
27: * identified by a unique id.
28: * The disambiguation of targets is handled by higher layers as the target
29: * address is made available as a context property or as a WS-A-To header
30: */
31:
32: public interface MultiplexDestination extends Destination {
33:
34: /**
35: * @return the a reference containing the id that is
36: * associated with this Destination
37: */
38: EndpointReferenceType getAddressWithId(String id);
39:
40: /**
41: * @param contextMap for this invocation. Obtained for example from
42: * JAX-WS WebServiceContext.getMessageContext(). The context will
43: * either contain the WS-A To content and/or some property that
44: * identifies the target address, eg MessageContext.PATH_INFO for
45: * the current invocation
46: * @return the id associated with the current invocation
47: */
48: String getId(Map contextMap);
49: }
|