cxf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Glynn, Eoghan" <eoghan.gl...@iona.com>
Subject RE: svn commit: r442984 [1/2] - in /incubator/cxf/trunk: api/src/main/java/org/apache/cxf/service/model/ api/src/main/java/org/apache/cxf/ws/addressing/ rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/ rt/ws/addr/src/test/java/org/apache/cxf/ws/ rt/
Date Wed, 13 Sep 2006 13:50:48 GMT

I used the wrong log file for this, the description should have read:

Non-SOAP WS-A logic.

> -----Original Message-----
> From: eglynn@apache.org [mailto:eglynn@apache.org] 
> Sent: 13 September 2006 14:44
> To: cxf-commits@incubator.apache.org
> Subject: svn commit: r442984 [1/2] - in /incubator/cxf/trunk: 
> api/src/main/java/org/apache/cxf/service/model/ 
> api/src/main/java/org/apache/cxf/ws/addressing/ 
> rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/ 
> rt/ws/addr/src/test/java/org/apache/cxf/ws/ rt/w...
> 
> Author: eglynn
> Date: Wed Sep 13 06:43:37 2006
> New Revision: 442984
> 
> URL: http://svn.apache.org/viewvc?view=rev&rev=442984
> Log:
> Moved SoapPreProtocolOutInterceptor to take account of 
> updated package organization
> 
> Added:
>     
> incubator/cxf/trunk/api/src/main/java/org/apache/cxf/ws/addres
> sing/WSAContextUtils.java
>       - copied, changed from r438444, 
> incubator/cxf/branches/post_apache_integration/api/src/main/ja
> va/org/objectweb/celtix/ws/addressing/WSAContextUtils.java
>     
> incubator/cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws
> /addressing/MAPAggregator.java
>       - copied, changed from r438444, 
> incubator/cxf/branches/post_apache_integration/rt/ws/addr/src/
> main/java/org/objectweb/celtix/ws/addressing/MAPAggregator.java
>     
> incubator/cxf/trunk/rt/ws/addr/src/test/java/org/apache/cxf/ws
> /AddressingBuilderImplTest.java
>       - copied, changed from r438444, 
> incubator/cxf/branches/post_apache_integration/rt/ws/addr/src/
> test/java/org/objectweb/celtix/ws/addressing/AddressingBuilder
> ImplTest.java
>     
> incubator/cxf/trunk/rt/ws/addr/src/test/java/org/apache/cxf/ws
> /addressing/AddressingBuilderTest.java
>       - copied, changed from r438444, 
> incubator/cxf/branches/post_apache_integration/rt/ws/addr/src/
> test/java/org/objectweb/celtix/ws/addressing/AddressingBuilder
> Test.java
>     
> incubator/cxf/trunk/rt/ws/addr/src/test/java/org/apache/cxf/ws
> /addressing/AddressingConstantsImplTest.java
>       - copied, changed from r438444, 
> incubator/cxf/branches/post_apache_integration/rt/ws/addr/src/
> test/java/org/objectweb/celtix/ws/addressing/AddressingConstan
> tsImplTest.java
>     
> incubator/cxf/trunk/rt/ws/addr/src/test/java/org/apache/cxf/ws
> /addressing/MAPAggregatorTest.java
>       - copied, changed from r438444, 
> incubator/cxf/branches/post_apache_integration/rt/ws/addr/src/
> test/java/org/objectweb/celtix/ws/addressing/MAPAggregatorTest.java
> Modified:
>     
> incubator/cxf/trunk/api/src/main/java/org/apache/cxf/service/m
> odel/BindingOperationInfo.java
>     
> incubator/cxf/trunk/api/src/main/java/org/apache/cxf/service/m
> odel/OperationInfo.java
>     
> incubator/cxf/trunk/api/src/main/java/org/apache/cxf/ws/addres
> sing/JAXWSAConstants.java
>     
> incubator/cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws
> /addressing/ContextUtils.java
> 
> Modified: 
> incubator/cxf/trunk/api/src/main/java/org/apache/cxf/service/m
> odel/BindingOperationInfo.java
> URL: 
> http://svn.apache.org/viewvc/incubator/cxf/trunk/api/src/main/
> java/org/apache/cxf/service/model/BindingOperationInfo.java?vi
> ew=diff&rev=442984&r1=442983&r2=442984
> ==============================================================
> ================
> --- 
> incubator/cxf/trunk/api/src/main/java/org/apache/cxf/service/m
> odel/BindingOperationInfo.java (original)
> +++ 
> incubator/cxf/trunk/api/src/main/java/org/apache/cxf/service/m
> odel/BindingOperationInfo.java Wed Sep 13 06:43:37 2006
> @@ -31,16 +31,19 @@
>   * 
>   */
>  public class BindingOperationInfo extends AbstractPropertiesHolder {
> -    
> -    final BindingInfo bindingInfo;
> -    OperationInfo opInfo;
>  
> -    final BindingMessageInfo inputMessage;
> -    final BindingMessageInfo outputMessage;
> +    protected OperationInfo opInfo;
> +
> +    BindingInfo bindingInfo;
> +
> +    BindingMessageInfo inputMessage;
> +    BindingMessageInfo outputMessage;
>      Map<QName, BindingFaultInfo> faults;
>  
>      BindingOperationInfo opHolder;
>  
> +    public BindingOperationInfo() {
> +    }
>      
>      BindingOperationInfo(BindingInfo bi, OperationInfo opinfo) { 
>          bindingInfo = bi;
> 
> Modified: 
> incubator/cxf/trunk/api/src/main/java/org/apache/cxf/service/m
> odel/OperationInfo.java
> URL: 
> http://svn.apache.org/viewvc/incubator/cxf/trunk/api/src/main/
> java/org/apache/cxf/service/model/OperationInfo.java?view=diff
> &rev=442984&r1=442983&r2=442984
> ==============================================================
> ================
> --- 
> incubator/cxf/trunk/api/src/main/java/org/apache/cxf/service/m
> odel/OperationInfo.java (original)
> +++ 
> incubator/cxf/trunk/api/src/main/java/org/apache/cxf/service/m
> odel/OperationInfo.java Wed Sep 13 06:43:37 2006
> @@ -35,7 +35,7 @@
>   */
>  public class OperationInfo extends AbstractPropertiesHolder {
>      private static final Logger LOG = 
> LogUtils.getL7dLogger(OperationInfo.class);
> -    final InterfaceInfo intf;
> +    InterfaceInfo intf;
>      QName opName;
>      String inName;
>      MessageInfo inputMessage;
> @@ -44,6 +44,9 @@
>      Map<QName, FaultInfo> faults;
>      
>      OperationInfo unwrappedOperation;
> +    
> +    public OperationInfo() {
> +    }
>      
>      OperationInfo(InterfaceInfo it, QName n) { 
>          intf = it;
> 
> Modified: 
> incubator/cxf/trunk/api/src/main/java/org/apache/cxf/ws/addres
> sing/JAXWSAConstants.java
> URL: 
> http://svn.apache.org/viewvc/incubator/cxf/trunk/api/src/main/
> java/org/apache/cxf/ws/addressing/JAXWSAConstants.java?view=di
> ff&rev=442984&r1=442983&r2=442984
> ==============================================================
> ================
> --- 
> incubator/cxf/trunk/api/src/main/java/org/apache/cxf/ws/addres
> sing/JAXWSAConstants.java (original)
> +++ 
> incubator/cxf/trunk/api/src/main/java/org/apache/cxf/ws/addres
> sing/JAXWSAConstants.java Wed Sep 13 06:43:37 2006
> @@ -50,7 +50,7 @@
>       * Used by AddressingBuilder factory method.
>       */
>      public static final String DEFAULT_ADDRESSING_BUILDER =
> -        "org.objectweb.celtix.ws.addressing.AddressingBuilderImpl";
> +        "org.apache.cxf.ws.addressing.AddressingBuilderImpl";
>  
>      /**
>       * Prevents instantiation. 
> 
> Copied: 
> incubator/cxf/trunk/api/src/main/java/org/apache/cxf/ws/addres
> sing/WSAContextUtils.java (from r438444, 
> incubator/cxf/branches/post_apache_integration/api/src/main/ja
> va/org/objectweb/celtix/ws/addressing/WSAContextUtils.java)
> URL: 
> http://svn.apache.org/viewvc/incubator/cxf/trunk/api/src/main/
> java/org/apache/cxf/ws/addressing/WSAContextUtils.java?view=di
> ff&rev=442984&p1=incubator/cxf/branches/post_apache_integratio
> n/api/src/main/java/org/objectweb/celtix/ws/addressing/WSACont
> extUtils.java&r1=438444&p2=incubator/cxf/trunk/api/src/main/ja
> va/org/apache/cxf/ws/addressing/WSAContextUtils.java&r2=442984
> ==============================================================
> ================
> --- 
> incubator/cxf/branches/post_apache_integration/api/src/main/ja
> va/org/objectweb/celtix/ws/addressing/WSAContextUtils.java (original)
> +++ 
> incubator/cxf/trunk/api/src/main/java/org/apache/cxf/ws/addres
> sing/WSAContextUtils.java Wed Sep 13 06:43:37 2006
> @@ -1,23 +1,40 @@
> -package org.objectweb.celtix.ws.addressing;
> +/**
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements. See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership. The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License. You may obtain a copy of the License at
> + *
> + * http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied. See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +
> +package org.apache.cxf.ws.addressing;
>  
> -import java.io.IOException;
>  
> -import javax.xml.ws.handler.MessageContext;
> +import org.apache.cxf.message.Message;
> +import org.apache.cxf.transport.Conduit;
>  
> -import org.objectweb.celtix.transports.ClientTransport;
>  
>  /**
>   * Holder for utility methods relating to contexts.
>   */
> -
>  public final class WSAContextUtils {
>  
>      private static final String TO_PROPERTY =
> -        "org.objectweb.celtix.ws.addressing.to";
> +        "org.apache.cxf.ws.addressing.to";
>      private static final String REPLYTO_PROPERTY =
> -        "org.objectweb.celtix.ws.addressing.replyto";
> +        "org.apache.cxf.ws.addressing.replyto";
>      private static final String USING_PROPERTY =
> -        "org.objectweb.celtix.ws.addressing.using";    
> +        "org.apache.cxf.ws.addressing.using";    
>  
>      /**
>       * Prevents instantiation.
> @@ -29,21 +46,20 @@
>       * Store UsingAddressing override flag in the context
>       *
>       * @param override true if UsingAddressing should be overridden
> -     * @param context the message context
> +     * @param message the current message
>       */   
> -    public static void storeUsingAddressing(boolean 
> override, MessageContext context) {
> -        context.put(USING_PROPERTY, Boolean.valueOf(override));
> -        context.setScope(USING_PROPERTY, 
> MessageContext.Scope.APPLICATION);
> +    public static void storeUsingAddressing(boolean 
> override, Message message) {
> +        message.put(USING_PROPERTY, Boolean.valueOf(override));
>      }
>      
>      /**
>       * Retrieve UsingAddressing override flag from the context
>       *
>       * @param override true if UsingAddressing should be overridden
> -     * @param context the message context
> +     * @param message the current message
>       */   
> -    public static boolean 
> retrieveUsingAddressing(MessageContext context) {
> -        Boolean override = (Boolean)context.get(USING_PROPERTY);
> +    public static boolean retrieveUsingAddressing(Message message) {
> +        Boolean override = (Boolean)message.get(USING_PROPERTY);
>          return override != null && override.booleanValue();
>      }
>  
> @@ -51,28 +67,27 @@
>       * Store To EPR in the context
>       *
>       * @param to the To EPR
> -     * @param context the message context
> +     * @param message the current message
>       */   
>      public static void storeTo(EndpointReferenceType to,
> -                               MessageContext context) {
> -        context.put(TO_PROPERTY, to);
> -        context.setScope(TO_PROPERTY, 
> MessageContext.Scope.APPLICATION);
> +                               Message message) {
> +        message.put(TO_PROPERTY, to);
>      }
>      
>      /**
>       * Retrieve To EPR from the context.
>       *
> -     * @param transport the ClientTransport if available
> -     * @param context the message context
> +     * @param conduit the Conduit if available
> +     * @param message the current message
>       * @returned the retrieved EPR
>       */
> -    public static EndpointReferenceType 
> retrieveTo(ClientTransport transport,
> -                                                   
> MessageContext context) {
> +    public static EndpointReferenceType retrieveTo(Conduit conduit,
> +                                                   Message message) {
>          EndpointReferenceType to = null;
> -        if (transport != null) {
> -            to = transport.getTargetEndpoint();
> +        if (conduit != null) {
> +            to = conduit.getTarget();
>          } else {
> -            to = (EndpointReferenceType)context.get(TO_PROPERTY);
> +            to = (EndpointReferenceType)message.get(TO_PROPERTY);
>          }
>          return to;
>      }
> @@ -81,33 +96,24 @@
>       * Store ReplyTo EPR in the context
>       *
>       * @param replyTo the ReplyTo EPR
> -     * @param context the message context
> +     * @param message the current message
>       */   
>      public static void storeReplyTo(EndpointReferenceType replyTo,
> -                                    MessageContext context) {
> -        context.put(REPLYTO_PROPERTY, replyTo);
> -        context.setScope(REPLYTO_PROPERTY, 
> MessageContext.Scope.APPLICATION);
> +                                    Message message) {
> +        message.put(REPLYTO_PROPERTY, replyTo);
>      }
>  
>      /**
>       * Retrieve ReplyTo EPR from the context.
>       *
> -     * @param transport the ClientTransport if available
> -     * @param context the message context
> +     * @param conduit the Conduit if available
> +     * @param message the current message
>       * @returned the retrieved EPR
>       */
> -    public static EndpointReferenceType 
> retrieveReplyTo(ClientTransport transport,
> -                                                        
> MessageContext context) {
> -        EndpointReferenceType replyTo = null;
> -        if (transport != null) {
> -            try {
> -                replyTo = transport.getDecoupledEndpoint();
> -            } catch (IOException ioe) {
> -                // ignore
> -            }
> -        } else {
> -            replyTo = 
> (EndpointReferenceType)context.get(REPLYTO_PROPERTY);
> -        }
> -        return replyTo;
> +    public static EndpointReferenceType 
> retrieveReplyTo(Conduit conduit,
> +                                                        
> Message message) {
> +        return conduit != null
> +               ? conduit.getBackChannel().getAddress()
> +               : 
> (EndpointReferenceType)message.get(REPLYTO_PROPERTY); 
>      }
>  }
> 
> Modified: 
> incubator/cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws
> /addressing/ContextUtils.java
> URL: 
> http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/ws/addr/sr
> c/main/java/org/apache/cxf/ws/addressing/ContextUtils.java?vie
> w=diff&rev=442984&r1=442983&r2=442984
> ==============================================================
> ================
> --- 
> incubator/cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws
> /addressing/ContextUtils.java (original)
> +++ 
> incubator/cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws
> /addressing/ContextUtils.java Wed Sep 13 06:43:37 2006
> @@ -20,17 +20,29 @@
>  package org.apache.cxf.ws.addressing;
>  
>  
> +import java.lang.reflect.Method;
>  import java.util.UUID;
>  import java.util.logging.Level;
>  import java.util.logging.Logger;
>  
> +import javax.jws.WebMethod;
> +import javax.jws.WebService;
>  import javax.xml.bind.JAXBContext;
>  import javax.xml.bind.JAXBException;
> +import javax.xml.ws.RequestWrapper;
> +import javax.xml.ws.ResponseWrapper;
> +import javax.xml.ws.WebFault;
> +
>  import static 
> javax.xml.ws.handler.MessageContext.MESSAGE_OUTBOUND_PROPERTY;
>  
>  import org.apache.cxf.common.logging.LogUtils;
>  import org.apache.cxf.common.util.PackageUtils;
>  import org.apache.cxf.message.Message;
> +import org.apache.cxf.message.MessageImpl;
> +import org.apache.cxf.service.model.BindingOperationInfo;
> +import org.apache.cxf.service.model.OperationInfo;
> +import org.apache.cxf.transport.Conduit;
> +import org.apache.cxf.transport.Destination;
>  
>  import static org.apache.cxf.message.Message.CORRELATION_IN;
>  import static org.apache.cxf.message.Message.CORRELATION_OUT;
> @@ -60,8 +72,7 @@
>       * Used to fabricate a Uniform Resource Name from a UUID string
>       */
>      private static final String URN_UUID = "urn:uuid:";
> -
> -
> +    
>      private static JAXBContext jaxbContext;
>       
>      /**
> @@ -75,6 +86,12 @@
>       */
>      private static final String MAP_FAULT_REASON_PROPERTY = 
>          "org.apache.cxf.ws.addressing.map.fault.reason";
> +    
> +    /**
> +     * Indicates a partial response has already been sent
> +     */
> +    private static final String PARTIAL_REPONSE_SENT_PROPERTY =
> +        "org.apache.cxf.ws.addressing.partial.response.sent";
>   
>     /**
>      * Prevents instantiation.
> @@ -155,7 +172,7 @@
>      /**
>       * Store MAPs in the message.
>       *
> -     * @param context the message context
> +     * @param message the current message
>       * @param isOutbound true iff the message is outbound
>       */
>      public static void storeMAPs(AddressingProperties maps,
> @@ -168,7 +185,7 @@
>       * Store MAPs in the message.
>       *
>       * @param maps the MAPs to store
> -     * @param context the message context
> +     * @param message the current message
>       * @param isOutbound true iff the message is outbound
>       * @param isRequestor true iff the current messaging 
> role is that of
>       * requestor
> @@ -186,7 +203,7 @@
>       * Store MAPs in the message.
>       *
>       * @param maps the MAPs to store
> -     * @param context the message context
> +     * @param message the current message
>       * @param isOutbound true iff the message is outbound
>       * @param isRequestor true iff the current messaging 
> role is that of
>       * requestor
> @@ -210,7 +227,7 @@
>  
>  
>      /**
> -     * @param context the message context
> +     * @param message the current message
>       * @param isProviderContext true if the binding provider 
> request context
>       * available to the client application as opposed to the 
> message context
>       * visible to handlers
> @@ -296,12 +313,50 @@
>          } 
>          return empty;
>      }
> +    
> +    /**
> +     * Rebase server transport on replyTo
> +     * 
> +     * @param reference the replyTo reference
> +     * @param namespaceURI determines the WS-A version
> +     * @param inMessage the current message
> +     */
> +    public static void rebaseTransport(EndpointReferenceType 
> reference,
> +                                       String namespaceURI,
> +                                       Message inMessage) {
> +        if (!retrievePartialResponseSent(inMessage)) {
> +            // ensure there is a MAPs instance available for 
> the outbound
> +            // partial response that contains appropriate To 
> and ReplyTo
> +            // properties (i.e. anonymous & none respectively)
> +            AddressingPropertiesImpl maps = new 
> AddressingPropertiesImpl();
> +            
> maps.setTo(ContextUtils.getAttributedURI(Names.WSA_ANONYMOUS_A
> DDRESS));
> +            
> maps.setReplyTo(WSA_OBJECT_FACTORY.createEndpointReferenceType());
> +            
> maps.getReplyTo().setAddress(getAttributedURI(Names.WSA_NONE_A
> DDRESS));
> +            maps.setAction(getAttributedURI(""));
> +            maps.exposeAs(namespaceURI);
> +            Message partialResponse = new MessageImpl();
> +            storeMAPs(maps, partialResponse, true, true, true, true);
> +
> +            try {
> +                Destination target = inMessage.getDestination();
> +                Conduit backChannel = 
> target.getBackChannel(inMessage,
> +                                                            
> partialResponse,
> +                                                            
> reference);
> +                if (backChannel != null) {
> +                    // REVISIT set up interceptor chains and 
> send message
> +                    
> +                }
> +            } catch (Exception e) {
> +                LOG.log(Level.WARNING, 
> "SERVER_TRANSPORT_REBASE_FAILURE_MSG", e);
> +            }
> +        } 
> +    }
>  
>      /**
>       * Store bad MAP fault name in the message.
>       *
>       * @param faultName the fault name to store
> -     * @param context the message context
> +     * @param message the current message
>       */
>      public static void storeMAPFaultName(String faultName, 
>                                           Message message) {
> @@ -311,7 +366,7 @@
>      /**
>       * Retrieve MAP fault name from the message.
>       *
> -     * @param context the message context
> +     * @param message the current message
>       * @returned the retrieved fault name
>       */
>      public static String retrieveMAPFaultName(Message message) {
> @@ -322,7 +377,7 @@
>       * Store MAP fault reason in the message.
>       *
>       * @param reason the fault reason to store
> -     * @param context the message context
> +     * @param message the current message
>       */
>      public static void storeMAPFaultReason(String reason, 
>                                             Message message) {
> @@ -332,7 +387,7 @@
>      /**
>       * Retrieve MAP fault reason from the message.
>       *
> -     * @param context the message context
> +     * @param message the current message
>       * @returned the retrieved fault reason
>       */
>      public static String retrieveMAPFaultReason(Message message) {
> @@ -344,7 +399,7 @@
>       *
>       * @param id the correlation ID
>       * @param isOutbound true if message is outbound
> -     * @param context the message context
> +     * @param message the current message
>       */   
>      public static void storeCorrelationID(RelatesToType id, 
>                                            boolean isOutbound,
> @@ -357,7 +412,7 @@
>       *
>       * @param id the correlation ID
>       * @param isOutbound true if message is outbound
> -     * @param context the message context
> +     * @param message the current message
>       */   
>      public static void storeCorrelationID(AttributedURIType id, 
>                                            boolean isOutbound,
> @@ -370,7 +425,7 @@
>       *
>       * @param id the correlation ID
>       * @param isOutbound true if message is outbound
> -     * @param context the message context
> +     * @param message the current message
>       */   
>      protected static void storeCorrelationID(String id, 
>                                             boolean isOutbound,
> @@ -381,7 +436,7 @@
>      /**
>       * Retrieve correlation ID from the message.
>       *
> -     * @param context the message context
> +     * @param message the current message
>       * @param isOutbound true if message is outbound
>       * @returned the retrieved correlation ID
>       */
> @@ -391,6 +446,32 @@
>      }
>      
>      /**
> +     * Store an indication that a partial response has been sent.
> +     * Relavant if *both* the replyTo & faultTo are decoupled,
> +     * and a fault occurs, then we would already have sent the
> +     * partial response (pre-dispatch) for the replyTo, so
> +     * no need to send again.
> +     *
> +     * @param message the current message
> +     */
> +    public static void storePartialResponseSent(Message message) {
> +        message.put(PARTIAL_REPONSE_SENT_PROPERTY, Boolean.TRUE);
> +    }
> +
> +    /**
> +     * Retrieve indication that a partial response has been sent.
> +     *
> +     * @param message the current message
> +     * @returned the retrieved indication that a partial response
> +     * has been sent
> +     */
> +    public static boolean 
> retrievePartialResponseSent(Message message) {
> +        Boolean ret = 
> (Boolean)message.get(PARTIAL_REPONSE_SENT_PROPERTY);
> +        return ret != null && ret.booleanValue();
> +    }
> +
> +    
> +    /**
>       * Retrieve a JAXBContext for marshalling and 
> unmarshalling JAXB generated
>       * types.
>       *
> @@ -422,7 +503,117 @@
>       */
>      public static String generateUUID() {
>          return URN_UUID + UUID.randomUUID();
> -    }    
> +    }
> +    
> +    /**
> +     * Construct the Action URI.
> +     * 
> +     * @param message the current message
> +     * @return the Action URI
> +     */
> +    public static AttributedURIType getAction(Message message) {
> +        String action = null;
> +        // REVISIT: add support for @{Fault}Action 
> annotation (generated
> +        // from the wsaw:Action WSDL element)
> +        LOG.fine("Determining action");
> +        Exception fault = message.getContent(Exception.class);
> +        Method method = getMethod(message);
> +        LOG.fine("method: " + method + ", fault: " + fault);
> +        if (method != null) {
> +            if (fault != null) {
> +                WebFault webFault = 
> fault.getClass().getAnnotation(WebFault.class);
> +                action = getAction(webFault.targetNamespace(),
> +                                   method, 
> +                                   webFault.name(),
> +                                   true);
> +            } else {
> +                if (ContextUtils.isRequestor(message)) {
> +                    RequestWrapper requestWrapper =
> +                        method.getAnnotation(RequestWrapper.class);
> +                    if (requestWrapper != null) {
> +                        action = 
> getAction(requestWrapper.targetNamespace(),
> +                                           method,
> +                                           
> requestWrapper.localName(),
> +                                           false);
> +                    } else {
> +                        WebService wsAnnotation = 
> method.getDeclaringClass().getAnnotation(WebService.class);
> +                        WebMethod wmAnnotation = 
> method.getAnnotation(WebMethod.class);
> +                        
> +                        action = 
> getAction(wsAnnotation.targetNamespace(),
> +                                           method,
> +                                           
> wmAnnotation.operationName(),
> +                                           false);
> +                    }
> +                        
> +                } else {
> +                    ResponseWrapper responseWrapper =
> +                        method.getAnnotation(ResponseWrapper.class);
> +                    if (responseWrapper != null) {
> +                        action = 
> getAction(responseWrapper.targetNamespace(),
> +                                           method,
> +                                           
> responseWrapper.localName(),
> +                                          false);
> +                    } else {
> +                       //RPC-Literal case.
> +                        WebService wsAnnotation = 
> method.getDeclaringClass().getAnnotation(WebService.class);
> +                        WebMethod wmAnnotation = 
> method.getAnnotation(WebMethod.class);
> +                        
> +                        action = 
> getAction(wsAnnotation.targetNamespace(),
> +                                           method,
> +                                           
> wmAnnotation.operationName(),
> +                                           false);
> +                    }
> +                }
> +            }
> +        }
> +        return action != null ? getAttributedURI(action) : null;
> +    }
> +        
> +
> +    /**
> +     * Construct the Action string.
> +     *
> +     * @param targetNamespace the target namespace
> +     * @param method the method
> +     * @param localName the local name
> +     * @param isFault true if a fault
> +     * @return action string
> +     */
> +    private static String getAction(String targetNamespace, 
> +                                    Method method, 
> +                                    String localName,
> +                                    boolean isFault) {
> +        String action = null;
> +        action = targetNamespace;
> +        action += Names.WSA_ACTION_DELIMITER;
> +        action += method.getDeclaringClass().getSimpleName();
> +        if (isFault) {
> +            action += method.getName();
> +            action += Names.WSA_FAULT_DELIMITER;
> +        }
> +        action += Names.WSA_ACTION_DELIMITER;
> +        action += localName;
> +        return action;
> +    }
> +    
> +    /**
> +     * Get the current Method.
> +     * 
> +     * @param message the current message
> +     * @return the Method from the BindingOperationInfo
> +     */
> +    private static Method getMethod(Message message) {
> +        Method method = null;
> +        BindingOperationInfo bindingOpInfo =
> +            message.getExchange().get(BindingOperationInfo.class);
> +        if (bindingOpInfo != null) {
> +            OperationInfo opInfo = bindingOpInfo.getOperationInfo();
> +            if (opInfo != null) {
> +                method = 
> (Method)opInfo.getProperty(Method.class.getName());
> +            }
> +        }
> +        return method;
> +    }
>  }
>  
>  
> 
> Copied: 
> incubator/cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws
> /addressing/MAPAggregator.java (from r438444, 
> incubator/cxf/branches/post_apache_integration/rt/ws/addr/src/
> main/java/org/objectweb/celtix/ws/addressing/MAPAggregator.java)
> URL: 
> http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/ws/addr/sr
> c/main/java/org/apache/cxf/ws/addressing/MAPAggregator.java?vi
> ew=diff&rev=442984&p1=incubator/cxf/branches/post_apache_integ
> ration/rt/ws/addr/src/main/java/org/objectweb/celtix/ws/addres
> sing/MAPAggregator.java&r1=438444&p2=incubator/cxf/trunk/rt/ws
> /addr/src/main/java/org/apache/cxf/ws/addressing/MAPAggregator
> .java&r2=442984
> ==============================================================
> ================
> --- 
> incubator/cxf/branches/post_apache_integration/rt/ws/addr/src/
> main/java/org/objectweb/celtix/ws/addressing/MAPAggregator.jav
> a (original)
> +++ 
> incubator/cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws
> /addressing/MAPAggregator.java Wed Sep 13 06:43:37 2006
> @@ -1,47 +1,53 @@
> -package org.objectweb.celtix.ws.addressing;
> +/**
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements. See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership. The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License. You may obtain a copy of the License at
> + *
> + * http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied. See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +
> +package org.apache.cxf.ws.addressing;
>  
>  
>  import java.text.MessageFormat;
>  import java.util.HashMap;
>  import java.util.Iterator;
> +import java.util.List;
>  import java.util.Map;
>  import java.util.ResourceBundle;
>  import java.util.concurrent.atomic.AtomicBoolean;
>  import java.util.logging.Level;
>  import java.util.logging.Logger;
>  
> -import javax.annotation.PostConstruct;
> -import javax.annotation.Resource;
> -import javax.wsdl.Port;
>  import javax.wsdl.extensions.ExtensibilityElement;
> -import javax.xml.ws.handler.LogicalHandler;
> -import javax.xml.ws.handler.LogicalMessageContext;
> -import javax.xml.ws.handler.MessageContext;
> -
> -
> -import org.objectweb.celtix.bindings.AbstractBindingBase;
> -import org.objectweb.celtix.bindings.ClientBinding;
> -import org.objectweb.celtix.bindings.JAXWSConstants;
> -import org.objectweb.celtix.bindings.ServerBinding;
> -import org.objectweb.celtix.common.logging.LogUtils;
> -import org.objectweb.celtix.configuration.CompoundName;
> -import org.objectweb.celtix.configuration.Configuration;
> -import org.objectweb.celtix.configuration.ConfigurationBuilder;
> -import org.objectweb.celtix.transports.ClientTransport;
> -import org.objectweb.celtix.transports.ServerTransport;
> -import org.objectweb.celtix.wsdl.EndpointReferenceUtils;
> +
> +import org.apache.cxf.common.logging.LogUtils;
> +import org.apache.cxf.endpoint.Endpoint;
> +import org.apache.cxf.message.Message;
> +import org.apache.cxf.phase.AbstractPhaseInterceptor;
> +import org.apache.cxf.phase.Phase;
> +import org.apache.cxf.service.model.EndpointInfo;
> +import org.apache.cxf.transport.Conduit;
> +import org.apache.cxf.transport.Destination;
>  
>  
>  /**
>   * Logical Handler responsible for aggregating the Message 
> Addressing 
>   * Properties for outgoing messages.
>   */
> -public class MAPAggregator implements 
> LogicalHandler<LogicalMessageContext> {
> +public class MAPAggregator extends 
> AbstractPhaseInterceptor<Message> {
>  
> -    public static final String WSA_CONFIGURATION_URI = 
> -        "http://celtix.objectweb.org/bus/ws/addressing/wsa-config";
> -    public static final String WSA_CONFIGURATION_ID = "wsa-handler";
> -    
>      private static final Logger LOG = 
>          LogUtils.getL7dLogger(MAPAggregator.class);
>      private static final ResourceBundle BUNDLE = 
> LOG.getResourceBundle();
> @@ -51,171 +57,132 @@
>          new HashMap<String, String>();
>      
>      /**
> -     * resources injected by client/server endpoints
> -     */
> -    @Resource(name = JAXWSConstants.SERVER_BINDING_PROPERTY) 
> protected ServerBinding serverBinding;
> -    @Resource(name = JAXWSConstants.CLIENT_BINDING_PROPERTY) 
> protected ClientBinding clientBinding;
> -    @Resource(name = 
> JAXWSConstants.CLIENT_TRANSPORT_PROPERTY) protected 
> ClientTransport clientTransport;
> -    @Resource(name = 
> JAXWSConstants.SERVER_TRANSPORT_PROPERTY) protected 
> ServerTransport serverTransport;
> -
> -    /**
>       * Whether the endpoint supports WS-Addressing.
>       */
>      private final AtomicBoolean usingAddressingDetermined = 
> new AtomicBoolean(false);
>      private final AtomicBoolean usingAddressing = new 
> AtomicBoolean(false);
>      
> -    private Configuration configuration;
> -
>      /**
> -     * Constructor.
> +     * REVISIT allow this policy to be configured.
>       */
> -    public MAPAggregator() {        
> -    } 
> +    private final boolean allowDuplicates = true;
>      
> -    @PostConstruct
> -    protected synchronized void initConfiguration() {
> -        AbstractBindingBase binding = (AbstractBindingBase)
> -            (clientBinding == null ? serverBinding : clientBinding);
> -        Configuration busCfg = binding.getBus().getConfiguration();
> -        
> org.objectweb.celtix.ws.addressing.EndpointReferenceType ref = 
> -            binding.getEndpointReference();
> -        CompoundName id = null;
> -        if (null != clientBinding) {
> -            id = new CompoundName(
> -                busCfg.getId().toString(),
> -                EndpointReferenceUtils.getServiceName(ref).toString()
> -                + "/" + EndpointReferenceUtils.getPortName(ref),
> -                WSA_CONFIGURATION_ID 
> -            );
> -        } else {
> -            id = new CompoundName(
> -                busCfg.getId().toString(),
> -                
> EndpointReferenceUtils.getServiceName(ref).toString(),
> -                WSA_CONFIGURATION_ID 
> -            );
> -        }
> -        ConfigurationBuilder builder = 
> binding.getBus().getConfigurationBuilder();
> -        configuration = 
> builder.getConfiguration(WSA_CONFIGURATION_URI, id);
> -    }
> -
> -
>      /**
> -     * Initialize the handler.
> +     * Constructor.
>       */
> -    public void init(Map<String, Object> map) {
> +    public MAPAggregator() {
> +        super();
> +        setPhase(Phase.PRE_LOGICAL);
>      }
> -    
> +
>      /**
>       * Invoked for normal processing of inbound and outbound 
> messages.
>       *
> -     * @param context the messsage context
> +     * @param message the current message
>       */
> -    public boolean handleMessage(LogicalMessageContext context) {
> -        return mediate(context, false);
> +    public void handleMessage(Message message) {
> +        mediate(message, false);
>      }
>  
>      /**
>       * Invoked for fault processing.
>       *
> -     * @param context the messsage context
> -     */
> -    public boolean handleFault(LogicalMessageContext context) {
> -        return mediate(context, true);
> -    }
> -
> -    /**
> -     * Called at the conclusion of a message exchange 
> pattern just prior to
> -     * the JAX-WS runtime dispatching a message, fault or exception.
> -     *
> -     * @param context the message context
> +     * @param message the current message
>       */
> -    public void close(MessageContext context) {
> -    }
> -
> -    /**
> -     * Release handler resources.
> -     */
> -    public void destroy() {
> +    public void  handleFault(Message message) {
> +        mediate(message, true);
>      }
>  
>      /**
>       * Determine if addressing is being used
>       *
> -     * @param context the messsage context
> +     * @param message the current message
>       * @pre message is outbound
>       */
> -    private boolean usingAddressing(LogicalMessageContext context) {
> +    private boolean usingAddressing(Message message) {
>          boolean ret = false;
> -        if (ContextUtils.isRequestor(context)) {
> +        if (ContextUtils.isRequestor(message)) {
>              if (!usingAddressingDetermined.get()) {
> -                Port port = clientTransport == null ? null : 
> clientTransport.getPort();
> -                if (port != null) {
> -                    Iterator<?> portExts =
> -                        port.getExtensibilityElements().iterator();
> -                    Iterator<?> bindingExts = 
> -                        
> port.getBinding().getExtensibilityElements().iterator();
> -                    ret = hasUsingAddressing(portExts)
> -                        || hasUsingAddressing(bindingExts);
> +                Endpoint endpoint = 
> message.getExchange().get(Endpoint.class);
> +                if (endpoint != null) {
> +                    EndpointInfo endpointInfo = 
> endpoint.getEndpointInfo();
> +                    List<ExtensibilityElement> endpointExts =
> +                        endpointInfo != null
> +                        ? 
> endpointInfo.getExtensors(ExtensibilityElement.class)
> +                        : null;
> +                    List<ExtensibilityElement> bindingExts =
> +                        endpointInfo != null
> +                            && endpointInfo.getBinding() != null
> +                        ? 
> endpointInfo.getBinding().getExtensors(ExtensibilityElement.class)
> +                        : null;
> +                    List<ExtensibilityElement> serviceExts =
> +                        endpointInfo != null
> +                            && endpointInfo.getService() != null
> +                        ? 
> endpointInfo.getService().getExtensors(ExtensibilityElement.class)
> +                        : null;
> +                    ret = hasUsingAddressing(endpointExts)
> +                          || hasUsingAddressing(bindingExts)
> +                          || hasUsingAddressing(serviceExts);
>                  } else {
> -                    ret = 
> WSAContextUtils.retrieveUsingAddressing(context);
> +                    ret = 
> WSAContextUtils.retrieveUsingAddressing(message);
>                  }
>                  setUsingAddressing(ret);
>              } else {
>                  ret = usingAddressing.get();
>              }
>          } else {
> -            ret = getMAPs(context, false, false) != null;
> +            ret = getMAPs(message, false, false) != null;
>          }
>          return ret;
>      }
>  
>      /**
> -     * @param extensionElements iterator over extension elements
> +     * @param exts list of extension elements
>       * @return true iff the UsingAddressing element is found
>       */
> -    private boolean hasUsingAddressing(Iterator<?> 
> extensionElements) {
> +    private boolean 
> hasUsingAddressing(List<ExtensibilityElement> exts) {
>          boolean found = false;
> -        while (extensionElements.hasNext() && !found) {
> -            ExtensibilityElement ext = 
> -                (ExtensibilityElement)extensionElements.next();
> -            found = 
> Names.WSAW_USING_ADDRESSING_QNAME.equals(ext.getElementType());
> -
> -        } 
> +        if (exts != null) {
> +            Iterator<ExtensibilityElement> extensionElements 
> = exts.iterator();
> +            while (extensionElements.hasNext() && !found) {
> +                ExtensibilityElement ext = 
> +                    (ExtensibilityElement)extensionElements.next();
> +                found = 
> Names.WSAW_USING_ADDRESSING_QNAME.equals(ext.getElementType());    
> +            }
> +        }
>          return found;
>      }
>  
>      /**
>       * Mediate message flow.
>       *
> -     * @param context the messsage context
> +     * @param message the current message
>       * @param isFault true if a fault is being mediated
>       * @return true if processing should continue on dispatch path 
>       */
> -    private boolean mediate(LogicalMessageContext context, 
> boolean isFault) {    
> +    private boolean mediate(Message message, boolean isFault) {    
>          boolean continueProcessing = true;
> -        if (ContextUtils.isOutbound(context)) {
> -            if (usingAddressing(context)) {
> +        if (ContextUtils.isOutbound(message)) {
> +            if (usingAddressing(message)) {
>                  // request/response MAPs must be aggregated
> -                aggregate(context, isFault);
> +                aggregate(message, isFault);
>              }
> -        } else if (!ContextUtils.isRequestor(context)) {
> +        } else if (!ContextUtils.isRequestor(message)) {
>              // responder validates incoming MAPs
> -            AddressingPropertiesImpl maps = getMAPs(context, 
> false, false);
> +            AddressingPropertiesImpl maps = getMAPs(message, 
> false, false);
>              setUsingAddressing(true);
> -            continueProcessing = validateIncomingMAPs(maps, 
> context); 
> +            continueProcessing = validateIncomingMAPs(maps, 
> message); 
>              if (continueProcessing) {
> -                if (ContextUtils.isOneway(context)
> +                if (ContextUtils.isOneway(message)
>                      || 
> !ContextUtils.isGenericAddress(maps.getReplyTo())) {
>                      ContextUtils.rebaseTransport(maps.getReplyTo(),
>                                                   
> maps.getNamespaceURI(),
> -                                                 context,
> -                                                 serverBinding,
> -                                                 serverTransport);
> +                                                 message);
>                  }            
>              } else {
>                  // validation failure => dispatch is 
> aborted, response MAPs 
>                  // must be aggregated
> -                aggregate(context, isFault);
> +                aggregate(message, isFault);
>              }
>          }
>          return continueProcessing;
> @@ -224,30 +191,30 @@
>      /**
>       * Perform MAP aggregation.
>       *
> -     * @param context the messsage context
> +     * @param message the current message
>       * @param isFault true if a fault is being mediated
>       */
> -    private void aggregate(LogicalMessageContext context, 
> boolean isFault) {
> -        AddressingPropertiesImpl maps = assembleGeneric(context);
> -        boolean isRequestor = ContextUtils.isRequestor(context);
> -        addRoleSpecific(maps, context, isRequestor, isFault);
> +    private void aggregate(Message message, boolean isFault) {
> +        AddressingPropertiesImpl maps = assembleGeneric(message);
> +        boolean isRequestor = ContextUtils.isRequestor(message);
> +        addRoleSpecific(maps, message, isRequestor, isFault);
>          // outbound property always used to store MAPs, as 
> this handler 
>          // aggregates only when either:
>          // a) message really is outbound
>          // b) message is currently inbound, but we are about 
> to abort dispatch
>          //    due to an incoming MAPs validation failure, so 
> the dispatch
>          //    will shortly traverse the outbound path
> -        ContextUtils.storeMAPs(maps, context, true, 
> isRequestor, true);
> +        ContextUtils.storeMAPs(maps, message, true, 
> isRequestor, true);
>      }
>  
>      /**
>       * Assemble the generic MAPs (for both requests and responses).
>       *
> -     * @param context the messsage context
> +     * @param message the current message
>       * @return AddressingProperties containing the generic MAPs
>       */
> -    private AddressingPropertiesImpl 
> assembleGeneric(MessageContext context) {
> -        AddressingPropertiesImpl maps = getMAPs(context, true, true);
> +    private AddressingPropertiesImpl assembleGeneric(Message 
> message) {
> +        AddressingPropertiesImpl maps = getMAPs(message, true, true);
>          // MessageID
>          if (maps.getMessageID() == null) {
>              String messageID = ContextUtils.generateUUID();
> @@ -255,16 +222,17 @@
>          }
>          // To
>          if (maps.getTo() == null) {
> -            // To cached in context by transport
> -            EndpointReferenceType reference = 
> -                WSAContextUtils.retrieveTo(clientTransport, context);
> +            Conduit conduit = message.getConduit();
> +            EndpointReferenceType reference = conduit != null
> +                                              ? conduit.getTarget()
> +                                              : null;
>              maps.setTo(reference != null 
>                         ? reference.getAddress()
>                         : 
> ContextUtils.getAttributedURI(Names.WSA_NONE_ADDRESS));
>          }
>          // Action
>          if (ContextUtils.hasEmptyAction(maps)) {
> -            maps.setAction(ContextUtils.getAction(context));
> +            maps.setAction(ContextUtils.getAction(message));
>          }
>          return maps;
>      }
> @@ -273,25 +241,30 @@
>       * Add MAPs which are specific to the requestor or 
> responder role.
>       *
>       * @param maps the MAPs being assembled
> -     * @param context the messsage context
> +     * @param message the current message
>       * @param isRequestor true iff the current messaging 
> role is that of 
>       * requestor 
>       * @param isFault true if a fault is being mediated
>       */
>      private void addRoleSpecific(AddressingPropertiesImpl maps, 
> -                                 MessageContext context,
> +                                 Message message,
>                                   boolean isRequestor,
>                                   boolean isFault) {
>          if (isRequestor) {
>              // add request-specific MAPs
> -            boolean isOneway = ContextUtils.isOneway(context);
> +            boolean isOneway = ContextUtils.isOneway(message);
>              // ReplyTo, set if null in MAPs or if set to a 
> generic address
>              // (anonymous or none) that may not be 
> appropriate for the
>              // current invocation
>              EndpointReferenceType replyTo = maps.getReplyTo();
>              if (ContextUtils.isGenericAddress(replyTo)) {
> -                replyTo = 
> -                    
> WSAContextUtils.retrieveReplyTo(clientTransport, context);
> +                Conduit conduit = message.getConduit();
> +                if (conduit != null) {
> +                    Destination backChannel = 
> message.getConduit().getBackChannel();
> +                    if (backChannel != null) {
> +                        replyTo = backChannel.getAddress();
> +                    }
> +                }
>                  if (replyTo == null || isOneway) {
>                      AttributedURIType address =
>                          ContextUtils.getAttributedURI(isOneway
> @@ -304,15 +277,15 @@
>                  maps.setReplyTo(replyTo);
>              }
>              if (!isOneway) {
> -                // REVISIT FaultTo if cached by transport in context
> +                // REVISIT FaultTo if cached by transport in message
>              }
>              // cache correlation ID
> -            if (ContextUtils.isOutbound(context)) {
> -                
> ContextUtils.storeCorrelationID(maps.getMessageID(), true, context);
> +            if (ContextUtils.isOutbound(message)) {
> +                
> ContextUtils.storeCorrelationID(maps.getMessageID(), true, message);
>              }
>          } else {
>              // add response-specific MAPs
> -            AddressingPropertiesImpl inMAPs = 
> getMAPs(context, false, false);
> +            AddressingPropertiesImpl inMAPs = 
> getMAPs(message, false, false);
>              maps.exposeAs(inMAPs.getNamespaceURI());
>              // To taken from ReplyTo in incoming MAPs
>              if (inMAPs.getReplyTo() != null) {
> @@ -328,9 +301,7 @@
>                  && 
> !ContextUtils.isGenericAddress(inMAPs.getFaultTo())) {
>                  ContextUtils.rebaseTransport(inMAPs.getFaultTo(),
>                                               
> inMAPs.getNamespaceURI(),
> -                                             context,
> -                                             serverBinding,
> -                                             serverTransport);
> +                                             message);
>              }
>          }
>      }
> @@ -339,22 +310,22 @@
>       * Get the starting point MAPs (either empty or those 
> set explicitly
>       * by the application on the binding provider request context).
>       *
> -     * @param context the messsage context
> +     * @param message the current message
>       * @param isProviderContext true if the binding provider 
> request context
>       * available to the client application as opposed to the 
> message context
>       * visible to handlers
>       * @param isOutbound true iff the message is outbound
>       * @return AddressingProperties retrieved MAPs
>       */
> -    private AddressingPropertiesImpl getMAPs(MessageContext context,
> +    private AddressingPropertiesImpl getMAPs(Message message,
>                                               boolean 
> isProviderContext,
>                                               boolean isOutbound) {
>  
>          AddressingPropertiesImpl maps = null;
> -        maps = ContextUtils.retrieveMAPs(context, 
> +        maps = ContextUtils.retrieveMAPs(message, 
>                                           isProviderContext,
>                                           isOutbound);
> -        LOG.log(Level.INFO, "MAPs retrieved from context {0}", maps);
> +        LOG.log(Level.INFO, "MAPs retrieved from message {0}", maps);
>  
>          if (maps == null && isProviderContext) {
>              maps = new AddressingPropertiesImpl();
> @@ -365,16 +336,14 @@
>      /**
>       * Validate incoming MAPs
>       * @param maps the incoming MAPs
> -     * @param context the messsage context
> +     * @param message the current message
>       * @return true if incoming MAPs are valid
>       * @pre inbound message, not requestor
>       */
>      private boolean validateIncomingMAPs(AddressingProperties maps,
> -                                         MessageContext context) {
> +                                         Message message) {
>          boolean valid = true;
> -        if ((null == configuration 
> -            || !configuration.getBoolean("allowDuplicates"))
> -            && maps != null) {
> +        if (allowDuplicates && maps != null) {
>              AttributedURIType messageID = maps.getMessageID();
>              if (messageID != null
>                  && messageIDs.put(messageID.getValue(), 
> @@ -387,8 +356,8 @@
>                  String l7dReason = 
>                      MessageFormat.format(reason, 
> messageID.getValue());
>                  
> ContextUtils.storeMAPFaultName(Names.DUPLICATE_MESSAGE_ID_NAME,
> -                                               context);
> -                ContextUtils.storeMAPFaultReason(l7dReason, context);
> +                                               message);
> +                ContextUtils.storeMAPFaultReason(l7dReason, message);
>                  valid = false;
>              }
>          }
> 
> Copied: 
> incubator/cxf/trunk/rt/ws/addr/src/test/java/org/apache/cxf/ws
> /AddressingBuilderImplTest.java (from r438444, 
> incubator/cxf/branches/post_apache_integration/rt/ws/addr/src/
> test/java/org/objectweb/celtix/ws/addressing/AddressingBuilder
> ImplTest.java)
> URL: 
> http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/ws/addr/sr
> c/test/java/org/apache/cxf/ws/AddressingBuilderImplTest.java?v
> iew=diff&rev=442984&p1=incubator/cxf/branches/post_apache_inte
> gration/rt/ws/addr/src/test/java/org/objectweb/celtix/ws/addre
> ssing/AddressingBuilderImplTest.java&r1=438444&p2=incubator/cx
> f/trunk/rt/ws/addr/src/test/java/org/apache/cxf/ws/AddressingB
> uilderImplTest.java&r2=442984
> ==============================================================
> ================
> --- 
> incubator/cxf/branches/post_apache_integration/rt/ws/addr/src/
> test/java/org/objectweb/celtix/ws/addressing/AddressingBuilder
> ImplTest.java (original)
> +++ 
> incubator/cxf/trunk/rt/ws/addr/src/test/java/org/apache/cxf/ws
> /AddressingBuilderImplTest.java Wed Sep 13 06:43:37 2006
> @@ -1,7 +1,30 @@
> -package org.objectweb.celtix.ws.addressing;
> +/**
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements. See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership. The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License. You may obtain a copy of the License at
> + *
> + * http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied. See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +
> +package org.apache.cxf.ws;
>  
>  
>  import junit.framework.TestCase;
> +
> +import org.apache.cxf.ws.addressing.AddressingBuilderImpl;
> +import org.apache.cxf.ws.addressing.AddressingConstants;
> +import org.apache.cxf.ws.addressing.AddressingProperties;
>  
>  public class AddressingBuilderImplTest extends TestCase {
>      private AddressingBuilderImpl builder;
> 
> Copied: 
> incubator/cxf/trunk/rt/ws/addr/src/test/java/org/apache/cxf/ws
> /addressing/AddressingBuilderTest.java (from r438444, 
> incubator/cxf/branches/post_apache_integration/rt/ws/addr/src/
> test/java/org/objectweb/celtix/ws/addressing/AddressingBuilder
> Test.java)
> URL: 
> http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/ws/addr/sr
> c/test/java/org/apache/cxf/ws/addressing/AddressingBuilderTest
> .java?view=diff&rev=442984&p1=incubator/cxf/branches/post_apac
> he_integration/rt/ws/addr/src/test/java/org/objectweb/celtix/w
> s/addressing/AddressingBuilderTest.java&r1=438444&p2=incubator
> /cxf/trunk/rt/ws/addr/src/test/java/org/apache/cxf/ws/addressi
> ng/AddressingBuilderTest.java&r2=442984
> ==============================================================
> ================
> --- 
> incubator/cxf/branches/post_apache_integration/rt/ws/addr/src/
> test/java/org/objectweb/celtix/ws/addressing/AddressingBuilder
> Test.java (original)
> +++ 
> incubator/cxf/trunk/rt/ws/addr/src/test/java/org/apache/cxf/ws
> /addressing/AddressingBuilderTest.java Wed Sep 13 06:43:37 2006
> @@ -1,4 +1,23 @@
> -package org.objectweb.celtix.ws.addressing;
> +/**
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements. See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership. The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License. You may obtain a copy of the License at
> + *
> + * http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied. See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +
> +package org.apache.cxf.ws.addressing;
>  
>  import junit.framework.TestCase;
>  
> 
> Copied: 
> incubator/cxf/trunk/rt/ws/addr/src/test/java/org/apache/cxf/ws
> /addressing/AddressingConstantsImplTest.java (from r438444, 
> incubator/cxf/branches/post_apache_integration/rt/ws/addr/src/
> test/java/org/objectweb/celtix/ws/addressing/AddressingConstan
> tsImplTest.java)
> URL: 
> http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/ws/addr/sr
> c/test/java/org/apache/cxf/ws/addressing/AddressingConstantsIm
> plTest.java?view=diff&rev=442984&p1=incubator/cxf/branches/pos
> t_apache_integration/rt/ws/addr/src/test/java/org/objectweb/ce
> ltix/ws/addressing/AddressingConstantsImplTest.java&r1=438444&
> p2=incubator/cxf/trunk/rt/ws/addr/src/test/java/org/apache/cxf
> /ws/addressing/AddressingConstantsImplTest.java&r2=442984
> ==============================================================
> ================
> --- 
> incubator/cxf/branches/post_apache_integration/rt/ws/addr/src/
> test/java/org/objectweb/celtix/ws/addressing/AddressingConstan
> tsImplTest.java (original)
> +++ 
> incubator/cxf/trunk/rt/ws/addr/src/test/java/org/apache/cxf/ws
> /addressing/AddressingConstantsImplTest.java Wed Sep 13 06:43:37 2006
> @@ -1,4 +1,23 @@
> -package org.objectweb.celtix.ws.addressing;
> +/**
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements. See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership. The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License. You may obtain a copy of the License at
> + *
> + * http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied. See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +
> +package org.apache.cxf.ws.addressing;
>  
>  
>  import javax.xml.namespace.QName;
> @@ -140,7 +159,7 @@
>  
>      public void testGetPackageName() throws Exception {
>          assertEquals("unexpected constant",
> -                     "org.objectweb.celtix.ws.addressing",
> +                     "org.apache.cxf.ws.addressing",
>                       constants.getPackageName());
>      }
>  
> 
> 
> 
> 

Mime
View raw message