axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Davanum Srinivas <dava...@gmail.com>
Subject Re: svn commit: r628471 - in /webservices/axis2/trunk/java/modules: jaxws/src/org/apache/axis2/jaxws/ jaxws/src/org/apache/axis2/jaxws/addressing/ jaxws/src/org/apache/axis2/jaxws/addressing/factory/ jaxws/src/org/apache/axis2/jaxws/addressing/factory/impl...
Date Sun, 17 Feb 2008 14:31:36 GMT
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Brian,

Could you please add a few bullet points next time? (just to get a quick flavor of what the checkin is all about).

thanks,
dims

pradine@apache.org wrote:
| Author: pradine
| Date: Sun Feb 17 02:32:45 2008
| New Revision: 628471
|
| URL: http://svn.apache.org/viewvc?rev=628471&view=rev
| Log:
| Various JAX-WS 2.1 related improvements.
|
| Added:
|     webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/Constants.java   (with props)
|     webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/impl/
|
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/impl/Axis2EndpointReferenceFactoryImpl.java
|       - copied, changed from r628167,
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/Axis2EndpointReferenceFactoryImpl.java
|
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/impl/JAXWSEndpointReferenceFactoryImpl.java
|       - copied, changed from r628167,
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/JAXWSEndpointReferenceFactoryImpl.java
|     webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/migrator/
|
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/migrator/EndpointContextMapMigrator.java
   (with props)
|     webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/util/EndpointContextMap.java
(with props)
|
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/util/EndpointContextMapManager.java
(with props)
| Removed:
|
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/Axis2EndpointReferenceFactoryImpl.java
|
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/JAXWSEndpointReferenceFactoryImpl.java
|     webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/util/EndpointMap.java
|     webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/util/EndpointMapManager.java
| Modified:
|
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/SubmissionEndpointReferenceBuilder.java
|
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/Axis2EndpointReferenceFactory.java
|
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/JAXWSEndpointReferenceFactory.java
|     webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/util/EndpointKey.java
|     webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/util/EndpointReferenceUtils.java
|     webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/registry/ClientConfiguratorRegistry.java
|     webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/registry/FactoryRegistry.java
|     webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/EndpointController.java
|     webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/spi/Provider.java
|     webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/feature/ServerFramework.java
|
| Added: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/Constants.java
| URL:
http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/Constants.java?rev=628471&view=auto
| ==============================================================================
| --- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/Constants.java (added)
| +++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/Constants.java Sun Feb 17 02:32:45 2008
| @@ -0,0 +1,28 @@
| +/*
| + * 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.axis2.jaxws;
| +
| +/**
| + * Constants that apply to the JAX-WS implementation.
| + *
| + */
| +public interface Constants {
| +    public static final String ENDPOINT_CONTEXT_MAP =
| +        "org.apache.axis2.jaxws.addressing.util.EndpointContextMap";
| +}
|
| Propchange: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/Constants.java
| ------------------------------------------------------------------------------
|     svn:eol-style = native
|
| Modified:
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/SubmissionEndpointReferenceBuilder.java
| URL:
http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/SubmissionEndpointReferenceBuilder.java?rev=628471&r1=628470&r2=628471&view=diff
| ==============================================================================
| ---
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/SubmissionEndpointReferenceBuilder.java
(original)
| +++
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/SubmissionEndpointReferenceBuilder.java
Sun Feb 17 02:32:45 2008
| @@ -28,6 +28,11 @@
|  import org.apache.axis2.jaxws.addressing.util.EndpointReferenceUtils;
|  import org.w3c.dom.Element;
|
| +/**
| + * This class can be used to create instances of {@link SubmissionEndpointReference}.
| + *
| + * @see javax.xml.ws.wsaddressing.W3CEndpointReferenceBuilder
| + */
|  public final class SubmissionEndpointReferenceBuilder {
|  	private static final Element[] ZERO_LENGTH_ARRAY = new Element[0];
|
| @@ -38,19 +43,45 @@
|      private List<Element> referenceParameters;
|      private QName portType;
|
| +    /**
| +     * Constructor
| +     *
| +     */
|      public SubmissionEndpointReferenceBuilder() {
|      }
|
| +    /**
| +     * Add the address URI to use.
| +     *
| +     * @param address the address URI
| +     * @return an instance of <code>SubmissionEndpointReferenceBuilder</code> that has
| +     * been updated as specified.
| +     */
|      public SubmissionEndpointReferenceBuilder address(String address) {
|          this.address = address;
|          return this;
|      }
|
| +    /**
| +     * Add the WSDL service name of the endpoint that the endpoint reference will target.
| +     *
| +     * @param serviceName the WSDL service name
| +     * @return an instance of <code>SubmissionEndpointReferenceBuilder</code> that has
| +     * been updated as specified.
| +     */
|      public SubmissionEndpointReferenceBuilder serviceName(QName serviceName) {
|          this.serviceName = serviceName;
|          return this;
|      }
|
| +    /**
| +     * Add the WSDL port name of the endpoint that the endpoint reference will target.
| +     * The WSDL port name can only be set after the WSDL service name has been set.
| +     *
| +     * @param endpointName the WSDL port name
| +     * @return an instance of <code>SubmissionEndpointReferenceBuilder</code> that has
| +     * been updated as specified.
| +     */
|      public SubmissionEndpointReferenceBuilder endpointName(QName endpointName) {
|          //TODO NLS enable
|          if (this.serviceName == null) {
| @@ -61,11 +92,27 @@
|          return this;
|      }
|
| +    /**
| +     * Add the URI from where the WSDL for the endpoint that the endpoint reference will
| +     * target can be retrieved.
| +     *
| +     * @param wsdlDocumentLocation the location URI of the WSDL
| +     * @return an instance of <code>SubmissionEndpointReferenceBuilder</code> that has
| +     * been updated as specified.
| +     */
|      public SubmissionEndpointReferenceBuilder wsdlDocumentLocation(String wsdlDocumentLocation) {
|          this.wsdlDocumentLocation = wsdlDocumentLocation;
|          return this;
|      }
|
| +    /**
| +     * Add reference properties. These will appear in the endpoint reference as reference
| +     * parameters.
| +     *
| +     * @param referenceProperty the reference property
| +     * @return an instance of <code>SubmissionEndpointReferenceBuilder</code> that has
| +     * been updated as specified.
| +     */
|      public SubmissionEndpointReferenceBuilder referenceProperty(Element referenceProperty) {
|          //TODO NLS enable
|          if (referenceProperty == null) {
| @@ -80,6 +127,13 @@
|          return this;
|      }
|
| +    /**
| +     * Add reference parameters.
| +     *
| +     * @param referenceParameter the reference parameter
| +     * @return an instance of <code>SubmissionEndpointReferenceBuilder</code> that has
| +     * been updated as specified.
| +     */
|      public SubmissionEndpointReferenceBuilder referenceParameter(Element referenceParameter) {
|          //TODO NLS enable
|          if (referenceParameter == null) {
| @@ -94,11 +148,24 @@
|          return this;
|      }
|
| +    /**
| +     * Add the name of the WSDL port type.
| +     *
| +     * @param portType the WSDL port type name
| +     * @return an instance of <code>SubmissionEndpointReferenceBuilder</code> that has
| +     * been updated as specified.
| +     */
|      public SubmissionEndpointReferenceBuilder portType(QName portType) {
|          this.portType = portType;
|          return this;
|      }
|
| +    /**
| +     * Construct an instance of <code>EndpointReference</code> based on the values
| +     * specified.
| +     *
| +     * @return an instance of <code>SubmissionEndpointReference</code>
| +     */
|      public SubmissionEndpointReference build() {
|      	SubmissionEndpointReference submissionEPR = null;
|      	
| @@ -108,8 +175,11 @@
|          	EndpointReferenceUtils.createAxis2EndpointReference(address, serviceName, endpointName,
wsdlDocumentLocation, addressingNamespace);
|      	
|          try {
| -        	EndpointReferenceUtils.addReferenceParameters(axis2EPR, referenceParameters.toArray(ZERO_LENGTH_ARRAY));
| -        	EndpointReferenceUtils.addInterface(axis2EPR, portType, InterfaceName.subQName);
| +            if (referenceParameters != null)
| +                EndpointReferenceUtils.addReferenceParameters(axis2EPR, referenceParameters.toArray(ZERO_LENGTH_ARRAY));
| +        	
| +            if (portType != null)
| +                EndpointReferenceUtils.addInterface(axis2EPR, portType, InterfaceName.subQName);
|          	
|              submissionEPR =
|                  (SubmissionEndpointReference) EndpointReferenceUtils.convertFromAxis2(axis2EPR, addressingNamespace);
|
| Modified:
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/Axis2EndpointReferenceFactory.java
| URL:
http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/Axis2EndpointReferenceFactory.java?rev=628471&r1=628470&r2=628471&view=diff
| ==============================================================================
| ---
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/Axis2EndpointReferenceFactory.java
(original)
| +++
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/Axis2EndpointReferenceFactory.java
Sun Feb 17 02:32:45 2008
| @@ -4,10 +4,47 @@
|
|  import org.apache.axis2.addressing.EndpointReference;
|
| +/**
| + * This class represents factories that can be use to create instances of
| + * {@link EndpointReference} that can ultimately be converted into instances
| + * of {@link javax.xml.ws.EndpointReference} that are suitable to be returned
| + * via the appropriate JAX-WS 2.1 API methods.
| + *
| + */
|  public interface Axis2EndpointReferenceFactory {
| +    /**
| +     * Create an instance of <code>EndpointReference</code> with the specified address.
| +     *
| +     * @param address the address URI to use. It cannot be null.
| +     * @return an instance of <code>EndpointReference</code>.
| +     */
|      public EndpointReference createEndpointReference(String address);
|
| +    /**
| +     * Create an instance of <code>EndpointReference</code> that targets the endpoint
| +     * identified by the specified WSDL service name and endpoint name.
| +     *
| +     * @param serviceName the WSDL service name
| +     * @param endpoint the WSDL port name
| +     * @return an instance of <code>EndpointReference</code> that targets the specified
| +     * endpoint
| +     */
|      public EndpointReference createEndpointReference(QName serviceName, QName endpoint);
|
| +    /**
| +     * Create an instance of <code>EndpointReference</code>. If the address is specified
| +     * then it will be used. If the address is null, but the WSDL service name and port
| +     * name are specified then they will be used to target the specified endpoint. Either
| +     * the address URI, or the WSDL service name and port name must be specified.
| +     *
| +     * @param address the address URI to use, if specified
| +     * @param serviceName the WSDL service name, if specified
| +     * @param portName the WSDL port name, if specified
| +     * @param wsdlDocumentLocation the URI from where the WSDL for the endpoint can be
| +     * retrieved, if specified.
| +     * @param addressingNamespace the intended WS-Addressing namespace that the <code>
| +     * EndpointRefence</code> should comply with.
| +     * @return an instance of <code>EndpointReference</code>.
| +     */
|      public EndpointReference createEndpointReference(String address, QName serviceName, QName portName, String
wsdlDocumentLocation, String addressingNamespace);
|  }
|
| Modified:
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/JAXWSEndpointReferenceFactory.java
| URL:
http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/JAXWSEndpointReferenceFactory.java?rev=628471&r1=628470&r2=628471&view=diff
| ==============================================================================
| ---
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/JAXWSEndpointReferenceFactory.java
(original)
| +++
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/JAXWSEndpointReferenceFactory.java
Sun Feb 17 02:32:45 2008
| @@ -22,8 +22,25 @@
|  import javax.xml.transform.Source;
|  import javax.xml.ws.EndpointReference;
|
| +/**
| + * This class represents factories that can be used to generate instances of the
| + * {@link EndpointReference}.
| + */
|  public interface JAXWSEndpointReferenceFactory {
| +    /**
| +     * Create an instance of a supported subclass of <code>EndpointReference</code>.
| +     *
| +     * @param eprInfoset the endpoint reference
| +     * @return an instance of <code>EndpointReference</code>.
| +     * @throws JAXBException
| +     */
|      public EndpointReference createEndpointReference(Source eprInfoset) throws JAXBException;
|
| +    /**
| +     * Map the specified class to a supported WS-Addressing namespace.
| +     *
| +     * @param clazz the class.
| +     * @return the WS-Addressing namespace that is associated with the class.
| +     */
|      public String getAddressingNamespace(Class clazz);
|  }
|
| Copied:
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/impl/Axis2EndpointReferenceFactoryImpl.java
(from r628167,
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/Axis2EndpointReferenceFactoryImpl.java)
| URL:
http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/impl/Axis2EndpointReferenceFactoryImpl.java?p2=webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/impl/Axis2EndpointReferenceFactoryImpl.java&p1=webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/Axis2EndpointReferenceFactoryImpl.java&r1=628167&r2=628471&rev=628471&view=diff
| ==============================================================================
| ---
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/Axis2EndpointReferenceFactoryImpl.java
(original)
| +++
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/impl/Axis2EndpointReferenceFactoryImpl.java
Sun Feb 17 02:32:45 2008
| @@ -16,7 +16,7 @@
|   * specific language governing permissions and limitations
|   * under the License.
|   */
| -package org.apache.axis2.jaxws.addressing.factory;
| +package org.apache.axis2.jaxws.addressing.factory.impl;
|
|  import java.net.URL;
|
| @@ -27,32 +27,49 @@
|  import org.apache.axis2.addressing.metadata.ServiceName;
|  import org.apache.axis2.addressing.metadata.WSDLLocation;
|  import org.apache.axis2.jaxws.ExceptionFactory;
| +import org.apache.axis2.jaxws.addressing.factory.Axis2EndpointReferenceFactory;
|  import org.apache.axis2.jaxws.addressing.util.EndpointKey;
| -import org.apache.axis2.jaxws.addressing.util.EndpointMap;
| -import org.apache.axis2.jaxws.addressing.util.EndpointMapManager;
| +import org.apache.axis2.jaxws.addressing.util.EndpointContextMap;
| +import org.apache.axis2.jaxws.addressing.util.EndpointContextMapManager;
|  import org.apache.axis2.jaxws.util.WSDL4JWrapper;
|  import org.apache.axis2.jaxws.util.WSDLWrapper;
|
| +/**
| + * This class produces instances of {@link EndpointReference}.
| + *
| + */
|  public class Axis2EndpointReferenceFactoryImpl implements Axis2EndpointReferenceFactory {
|      public Axis2EndpointReferenceFactoryImpl() {
|      	super();
|      }
|
| +    /*
| +     *  (non-Javadoc)
| +     * @see
org.apache.axis2.jaxws.addressing.factory.Axis2EndpointReferenceFactory#createEndpointReference(java.lang.String)
| +     */
|      public EndpointReference createEndpointReference(String address) {
|          if (address == null)
|              throw new IllegalStateException("The endpoint address URI is null.");
|
|          return new EndpointReference(address);
|      }
| -
| +
| +    /*
| +     *  (non-Javadoc)
| +     * @see
org.apache.axis2.jaxws.addressing.factory.Axis2EndpointReferenceFactory#createEndpointReference(javax.xml.namespace.QName,
javax.xml.namespace.QName)
| +     */
|      public EndpointReference createEndpointReference(QName serviceName, QName endpoint) {
|          EndpointKey key = new EndpointKey(serviceName, endpoint);
| -        EndpointMap map = EndpointMapManager.getEndpointMap();
| -        String address = map.get(key);
| +        EndpointContextMap map = EndpointContextMapManager.getEndpointContextMap();
| +        String address = (String) map.get(key);
|
|          return createEndpointReference(address);
|      }
| -
| +
| +    /*
| +     *  (non-Javadoc)
| +     * @see
org.apache.axis2.jaxws.addressing.factory.Axis2EndpointReferenceFactory#createEndpointReference(java.lang.String,
javax.xml.namespace.QName, javax.xml.namespace.QName, java.lang.String, java.lang.String)
| +     */
|      public EndpointReference createEndpointReference(String address, QName serviceName, QName portName, String
wsdlDocumentLocation, String addressingNamespace) {
|          EndpointReference axis2EPR = null;
|
| @@ -71,10 +88,13 @@
|              throw new IllegalStateException("Cannot create an endpoint reference because the address, service name,
and/or port name are null.");
|          }
|
| +        //TODO If no service name and port name are specified, but the wsdl location is
| +        //specified, and the WSDL only contains one service and one port then maybe we
| +        //should simply use those.
|          try {
| -            //TODO If no service name and port name are specified, but the wsdl location is
| -            //specified, and the WSDL only contains one service and one port then maybe we
| -            //should simply use those.
| +            //This code is locate here instead of in the createEndpointReference(QName, QName)
| +            //method so that if the address is also specified the EPR metadata will still be
| +            //filled in correctly.
|              if (serviceName != null && portName != null) {
|                  ServiceName service = new ServiceName(serviceName, portName.getLocalPart());
|                  EndpointReferenceHelper.setServiceNameMetadata(axis2EPR, addressingNamespace, service);
| @@ -103,7 +123,7 @@
|                  			}
|                  		}
|                  		
| -                		//TODO NLS
| +                		//TODO NLS enable
|                  		if (!found)
|                  			throw new IllegalStateException("The specified port name does not exist in the specified WSDL
service.");
|                  	}
|
| Copied:
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/impl/JAXWSEndpointReferenceFactoryImpl.java
(from r628167,
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/JAXWSEndpointReferenceFactoryImpl.java)
| URL:
http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/impl/JAXWSEndpointReferenceFactoryImpl.java?p2=webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/impl/JAXWSEndpointReferenceFactoryImpl.java&p1=webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/JAXWSEndpointReferenceFactoryImpl.java&r1=628167&r2=628471&rev=628471&view=diff
| ==============================================================================
| ---
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/JAXWSEndpointReferenceFactoryImpl.java
(original)
| +++
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/impl/JAXWSEndpointReferenceFactoryImpl.java
Sun Feb 17 02:32:45 2008
| @@ -16,7 +16,7 @@
|   * specific language governing permissions and limitations
|   * under the License.
|   */
| -package org.apache.axis2.jaxws.addressing.factory;
| +package org.apache.axis2.jaxws.addressing.factory.impl;
|
|  import javax.xml.bind.JAXBContext;
|  import javax.xml.bind.JAXBException;
| @@ -30,10 +30,21 @@
|  import org.apache.axis2.addressing.AddressingConstants.Submission;
|  import org.apache.axis2.jaxws.ExceptionFactory;
|  import org.apache.axis2.jaxws.addressing.SubmissionEndpointReference;
| +import org.apache.axis2.jaxws.addressing.factory.JAXWSEndpointReferenceFactory;
|
| +/**
| + * This class is used to generate instances of the following subclasses of
| + * {@link EndpointReference}.
| + *
| + * @see javax.xml.ws.wsaddressing.W3CEndpointReference
| + * @see org.apache.axis2.jaxws.addressing.SubmissionEndpointReference
| + */
|  public class JAXWSEndpointReferenceFactoryImpl implements JAXWSEndpointReferenceFactory {
|      private JAXBContext jaxbContext;
|
| +    /**
| +     * Constructor
| +     */
|      public JAXWSEndpointReferenceFactoryImpl() {
|          super();
|
| @@ -47,12 +58,19 @@
|          }
|      }
|
| +    /*
| +     *  (non-Javadoc)
| +     * @see
org.apache.axis2.jaxws.addressing.factory.JAXWSEndpointReferenceFactory#createEndpointReference(javax.xml.transform.Source)
| +     */
|      public EndpointReference createEndpointReference(Source eprInfoset) throws JAXBException {
|          Unmarshaller um = jaxbContext.createUnmarshaller();
| -
|          return (EndpointReference) um.unmarshal(eprInfoset);
|      }
|
| +    /*
| +     *  (non-Javadoc)
| +     * @see
org.apache.axis2.jaxws.addressing.factory.JAXWSEndpointReferenceFactory#getAddressingNamespace(java.lang.Class)
| +     */
|      public String getAddressingNamespace(Class clazz) {
|          String addressingNamespace = null;
|
|
| Added:
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/migrator/EndpointContextMapMigrator.java
| URL:
http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/migrator/EndpointContextMapMigrator.java?rev=628471&view=auto
| ==============================================================================
| ---
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/migrator/EndpointContextMapMigrator.java
(added)
| +++
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/migrator/EndpointContextMapMigrator.java
Sun Feb 17 02:32:45 2008
| @@ -0,0 +1,118 @@
| +/*
| + * 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.axis2.jaxws.addressing.migrator;
| +
| +import org.apache.axis2.AxisFault;
| +import org.apache.axis2.context.MessageContext;
| +import org.apache.axis2.description.AxisOperation;
| +import org.apache.axis2.description.Parameter;
| +import org.apache.axis2.engine.AxisConfiguration;
| +import org.apache.axis2.jaxws.Constants;
| +import org.apache.axis2.jaxws.ExceptionFactory;
| +import org.apache.axis2.jaxws.addressing.util.EndpointContextMap;
| +import org.apache.axis2.jaxws.addressing.util.EndpointContextMapManager;
| +import org.apache.axis2.util.ThreadContextMigrator;
| +import org.apache.axis2.util.Utils;
| +import org.apache.axis2.wsdl.WSDLConstants;
| +
| +/**
| + * This class will enable the JAX-WS 2.1 API methods to create instances of
| + * {@link javax.xml.ws.EndpointReference} that target a particular web service
| + * endpoint, identified by specifying the WSDL service name and port name of the
| + * endpoint, to work correctly. This is achieved by enabling the implementation of
| + * {@link org.apache.axis2.jaxws.addressing.factory.Axis2EndpointReferenceFactory}
| + * to retrieve the context it needs from the invoking thread. The instances of
| + * {@link org.apache.axis2.addressing.EndpointReference} that it produces can
| + * then converted to instances of {@link javax.xml.ws.EndpointReference}, as
| + * needed.
| + *
| + */
| +public class EndpointContextMapMigrator implements ThreadContextMigrator {
| +
| +    /* (non-Javadoc)
| +     * @see org.apache.axis2.util.ThreadContextMigrator#migrateContextToThread(org.apache.axis2.context.MessageContext)
| +     */
| +    public void migrateContextToThread(MessageContext messageContext)
| +            throws AxisFault {
| +        //Only make the context map available if we have an inbound request
| +        //message, in the server.
| +        AxisOperation axisOperation = messageContext.getAxisOperation();
| +        String mep = axisOperation.getMessageExchangePattern();
| +        int mepConstant = Utils.getAxisSpecifMEPConstant(mep);
| +
| +        if (mepConstant == WSDLConstants.MEP_CONSTANT_IN_ONLY ||
| +            mepConstant == WSDLConstants.MEP_CONSTANT_IN_OUT ||
| +            mepConstant == WSDLConstants.MEP_CONSTANT_IN_OPTIONAL_OUT ||
| +            mepConstant == WSDLConstants.MEP_CONSTANT_ROBUST_IN_ONLY)
| +        {
| +            AxisConfiguration axisConfig = axisOperation.getAxisConfiguration();
| +            Parameter param = axisConfig.getParameter(Constants.ENDPOINT_CONTEXT_MAP);
| +
| +            if (param != null) {
| +                EndpointContextMap map = (EndpointContextMap) param.getValue();
| +
| +                if (map != null) {
| +                    EndpointContextMapManager.setEndpointContextMap(map);
| +                }
| +                else {
| +                    //TODO NLS enable.
| +                    throw ExceptionFactory.makeWebServiceException("The endpoint context map is null.");
| +                }
| +            }
| +            else {
| +                //TODO NLS enable.
| +                throw ExceptionFactory.makeWebServiceException("Unable to locate endpoint context map.");
| +            }
| +        }
| +    }
| +
| +    /* (non-Javadoc)
| +     * @see org.apache.axis2.util.ThreadContextMigrator#cleanupThread(org.apache.axis2.context.MessageContext)
| +     */
| +    public void cleanupThread(MessageContext messageContext) {
| +        //Only clean up if we are inbound to the server.
| +        AxisOperation axisOperation = messageContext.getAxisOperation();
| +        String mep = axisOperation.getMessageExchangePattern();
| +        int mepConstant = Utils.getAxisSpecifMEPConstant(mep);
| +
| +        if (mepConstant == WSDLConstants.MEP_CONSTANT_IN_ONLY ||
| +            mepConstant == WSDLConstants.MEP_CONSTANT_IN_OUT ||
| +            mepConstant == WSDLConstants.MEP_CONSTANT_IN_OPTIONAL_OUT ||
| +            mepConstant == WSDLConstants.MEP_CONSTANT_ROBUST_IN_ONLY)
| +        {
| +            EndpointContextMapManager.setEndpointContextMap(null);
| +        }
| +    }
| +
| +    /* (non-Javadoc)
| +     * @see org.apache.axis2.util.ThreadContextMigrator#migrateThreadToContext(org.apache.axis2.context.MessageContext)
| +     */
| +    public void migrateThreadToContext(MessageContext messageContext)
| +            throws AxisFault {
| +        //Nothing to do.
| +    }
| +
| +    /* (non-Javadoc)
| +     * @see org.apache.axis2.util.ThreadContextMigrator#cleanupContext(org.apache.axis2.context.MessageContext)
| +     */
| +    public void cleanupContext(MessageContext messageContext) {
| +        //Nothing to do.
| +    }
| +
| +}
|
| Propchange:
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/migrator/EndpointContextMapMigrator.java
| ------------------------------------------------------------------------------
|     svn:eol-style = native
|
| Added: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/util/EndpointContextMap.java
| URL:
http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/util/EndpointContextMap.java?rev=628471&view=auto
| ==============================================================================
| --- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/util/EndpointContextMap.java (added)
| +++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/util/EndpointContextMap.java Sun
Feb 17 02:32:45 2008
| @@ -0,0 +1,38 @@
| +/*
| + * 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.axis2.jaxws.addressing.util;
| +
| +import java.util.concurrent.ConcurrentHashMap;
| +
| +import org.apache.axis2.jaxws.addressing.util.EndpointKey;
| +
| +/**
| + * This class stores the context needed to correctly produce instances of
| + * {@link javax.xml.ws.EndpointReference} for a particular web service endpoint
| + * identified by an {@link EndpointKey}.
| + *
| + */
| +public class EndpointContextMap extends ConcurrentHashMap<EndpointKey, Object> {
| +
| +    private static final long serialVersionUID = 694539734825500599L;
| +
| +    public EndpointContextMap() {
| +        super();
| +    }
| +}
|
| Propchange: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/util/EndpointContextMap.java
| ------------------------------------------------------------------------------
|     svn:eol-style = native
|
| Added:
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/util/EndpointContextMapManager.java
| URL:
http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/util/EndpointContextMapManager.java?rev=628471&view=auto
| ==============================================================================
| ---
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/util/EndpointContextMapManager.java (added)
| +++
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/util/EndpointContextMapManager.java Sun
Feb 17 02:32:45 2008
| @@ -0,0 +1,50 @@
| +/*
| + * 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.axis2.jaxws.addressing.util;
| +
| +/**
| + * This class is used to manage the association between an {@link EndpointContextMap}
| + * and a thread.
| + */
| +public class EndpointContextMapManager {
| +    private static ThreadLocal<EndpointContextMap> variable =
| +        new InheritableThreadLocal<EndpointContextMap>();
| +
| +    public static EndpointContextMap setEndpointContextMap(EndpointContextMap newMap) {
| +        EndpointContextMap oldMap = variable.get();
| +        variable.set(newMap);
| +
| +        return oldMap;
| +    }
| +
| +    public static EndpointContextMap getEndpointContextMap() {
| +        EndpointContextMap currentMap = variable.get();
| +
| +        if (currentMap == null) {
| +            currentMap = getDefaultEndpointMap();
| +            setEndpointContextMap(currentMap);
| +        }
| +
| +        return currentMap;
| +    }
| +
| +    private static EndpointContextMap getDefaultEndpointMap() {
| +        return new EndpointContextMap();
| +    }
| +}
|
| Propchange:
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/util/EndpointContextMapManager.java
| ------------------------------------------------------------------------------
|     svn:eol-style = native
|
| Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/util/EndpointKey.java
| URL:
http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/util/EndpointKey.java?rev=628471&r1=628470&r2=628471&view=diff
| ==============================================================================
| --- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/util/EndpointKey.java (original)
| +++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/util/EndpointKey.java Sun Feb 17
02:32:45 2008
| @@ -20,6 +20,11 @@
|
|  import javax.xml.namespace.QName;
|
| +/**
| + * This class is used to identify a particular web service endpoint based on
| + * the combination of WSDL service name and port name.
| + *
| + */
|  public class EndpointKey {
|      private final QName service;
|      private final QName endpoint;
|
| Modified:
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/util/EndpointReferenceUtils.java
| URL:
http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/util/EndpointReferenceUtils.java?rev=628471&r1=628470&r2=628471&view=diff
| ==============================================================================
| --- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/util/EndpointReferenceUtils.java
(original)
| +++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/util/EndpointReferenceUtils.java
Sun Feb 17 02:32:45 2008
| @@ -41,10 +41,6 @@
|  public final class EndpointReferenceUtils {
|
|      private static OMFactory omFactory = OMAbstractFactory.getOMFactory();
| -    private static JAXWSEndpointReferenceFactory jaxwsEPRFactory =
| -        (JAXWSEndpointReferenceFactory) FactoryRegistry.getFactory(JAXWSEndpointReferenceFactory.class);
| -    private static Axis2EndpointReferenceFactory axis2EPRFactory =
| -    	(Axis2EndpointReferenceFactory) FactoryRegistry.getFactory(Axis2EndpointReferenceFactory.class);
|
|      private EndpointReferenceUtils() {
|      }
| @@ -66,8 +62,10 @@
|              EndpointReferenceHelper.toOM(omFactory, axis2EPR, qname, addressingNamespace);
|          Element eprElement = XMLUtils.toDOM(omElement);
|          Source eprInfoset = new DOMSource(eprElement);
| +        JAXWSEndpointReferenceFactory factory = (JAXWSEndpointReferenceFactory)
| +            FactoryRegistry.getFactory(JAXWSEndpointReferenceFactory.class);
|
| -        return jaxwsEPRFactory.createEndpointReference(eprInfoset);
| +        return factory.createEndpointReference(eprInfoset);
|      }
|
|      /**
| @@ -82,7 +80,10 @@
|       */
|      public static javax.xml.ws.EndpointReference convertFromSource(Source eprInfoset)
|      throws Exception {
| -        return jaxwsEPRFactory.createEndpointReference(eprInfoset);
| +        JAXWSEndpointReferenceFactory factory = (JAXWSEndpointReferenceFactory)
| +            FactoryRegistry.getFactory(JAXWSEndpointReferenceFactory.class);
| +
| +        return factory.createEndpointReference(eprInfoset);
|      }
|
|      /**
| @@ -105,15 +106,24 @@
|      }
|
|      public static String getAddressingNamespace(Class clazz) {
| -        return jaxwsEPRFactory.getAddressingNamespace(clazz);
| +        JAXWSEndpointReferenceFactory factory = (JAXWSEndpointReferenceFactory)
| +            FactoryRegistry.getFactory(JAXWSEndpointReferenceFactory.class);
| +
| +        return factory.getAddressingNamespace(clazz);
|      }
|
|      public static EndpointReference createAxis2EndpointReference(String address, QName serviceName, QName portName,
String wsdlDocumentLocation, String addressingNamespace) {
| -    	return axis2EPRFactory.createEndpointReference(address, serviceName, portName, wsdlDocumentLocation,
addressingNamespace);
| +        Axis2EndpointReferenceFactory factory = (Axis2EndpointReferenceFactory)
| +            FactoryRegistry.getFactory(Axis2EndpointReferenceFactory.class);
| +
| +        return factory.createEndpointReference(address, serviceName, portName, wsdlDocumentLocation,
addressingNamespace);
|      }
|
|      public static EndpointReference createAxis2EndpointReference(String address) {
| -    	return axis2EPRFactory.createEndpointReference(address);
| +        Axis2EndpointReferenceFactory factory = (Axis2EndpointReferenceFactory)
| +            FactoryRegistry.getFactory(Axis2EndpointReferenceFactory.class);
| +
| +    	return factory.createEndpointReference(address);
|      }
|
|      public static void addReferenceParameters(EndpointReference axis2EPR, Element...referenceParameters)
| @@ -140,8 +150,7 @@
|      throws Exception {
|      	if (portType != null) {
|      		InterfaceName interfaceName = new InterfaceName(portType);
| -            OMFactory factory = OMAbstractFactory.getOMFactory();
| -    		OMElement omElement = interfaceName.toOM(interfaceType, factory);
| +    		OMElement omElement = interfaceName.toOM(interfaceType, omFactory);
|      		axis2EPR.addExtensibleElement(omElement);
|      	}
|      }
|
| Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/registry/ClientConfiguratorRegistry.java
| URL:
http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/registry/ClientConfiguratorRegistry.java?rev=628471&r1=628470&r2=628471&view=diff
| ==============================================================================
| --- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/registry/ClientConfiguratorRegistry.java
(original)
| +++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/registry/ClientConfiguratorRegistry.java Sun
Feb 17 02:32:45 2008
| @@ -18,9 +18,9 @@
|   */
|  package org.apache.axis2.jaxws.registry;
|
| -import java.util.HashMap;
|  import java.util.Map;
|  import java.util.Set;
| +import java.util.concurrent.ConcurrentHashMap;
|
|  import javax.xml.ws.RespectBindingFeature;
|  import javax.xml.ws.soap.AddressingFeature;
| @@ -34,7 +34,7 @@
|
|  public class ClientConfiguratorRegistry {
|      private static Map<String, ClientConfigurator> map =
| -        new HashMap<String, ClientConfigurator>();
| +        new ConcurrentHashMap<String, ClientConfigurator>();
|
|      static {
|          map.put(AddressingFeature.ID, new AddressingConfigurator());
|
| Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/registry/FactoryRegistry.java
| URL:
http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/registry/FactoryRegistry.java?rev=628471&r1=628470&r2=628471&view=diff
| ==============================================================================
| --- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/registry/FactoryRegistry.java (original)
| +++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/registry/FactoryRegistry.java Sun Feb 17
02:32:45 2008
| @@ -20,9 +20,9 @@
|  package org.apache.axis2.jaxws.registry;
|
|  import org.apache.axis2.jaxws.addressing.factory.Axis2EndpointReferenceFactory;
| -import org.apache.axis2.jaxws.addressing.factory.Axis2EndpointReferenceFactoryImpl;
|  import org.apache.axis2.jaxws.addressing.factory.JAXWSEndpointReferenceFactory;
| -import org.apache.axis2.jaxws.addressing.factory.JAXWSEndpointReferenceFactoryImpl;
| +import org.apache.axis2.jaxws.addressing.factory.impl.Axis2EndpointReferenceFactoryImpl;
| +import org.apache.axis2.jaxws.addressing.factory.impl.JAXWSEndpointReferenceFactoryImpl;
|  import org.apache.axis2.jaxws.core.controller.InvocationControllerFactory;
|  import org.apache.axis2.jaxws.core.controller.impl.InvocationControllerFactoryImpl;
|  import org.apache.axis2.jaxws.handler.factory.HandlerInvokerFactory;
|
| Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/EndpointController.java
| URL:
http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/EndpointController.java?rev=628471&r1=628470&r2=628471&view=diff
| ==============================================================================
| --- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/EndpointController.java (original)
| +++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/EndpointController.java Sun Feb 17
02:32:45 2008
| @@ -26,8 +26,8 @@
|  import org.apache.axis2.java.security.AccessController;
|  import org.apache.axis2.jaxws.ExceptionFactory;
|  import org.apache.axis2.jaxws.addressing.util.EndpointKey;
| -import org.apache.axis2.jaxws.addressing.util.EndpointMap;
| -import org.apache.axis2.jaxws.addressing.util.EndpointMapManager;
| +import org.apache.axis2.jaxws.addressing.util.EndpointContextMap;
| +import org.apache.axis2.jaxws.addressing.util.EndpointContextMapManager;
|  import org.apache.axis2.jaxws.core.MessageContext;
|  import org.apache.axis2.jaxws.core.util.MessageContextUtils;
|  import org.apache.axis2.jaxws.description.DescriptionFactory;
| @@ -405,10 +405,10 @@
|              Parameter param = axisSvc.getParameter(EndpointDescription.AXIS_SERVICE_PARAMETER);
|
|              EndpointDescription ed = (EndpointDescription)param.getValue();
| -            param = axisSvc.getParameter(EndpointMap.class.getCanonicalName());
| +            param = axisSvc.getParameter(EndpointContextMap.class.getCanonicalName());
|              if(param != null) {
| -                EndpointMap map = (EndpointMap) param.getValue();
| -                EndpointMapManager.setEndpointMap(map);
| +                EndpointContextMap map = (EndpointContextMap) param.getValue();
| +                EndpointContextMapManager.setEndpointContextMap(map);
|              }
|
|              return ed;
| @@ -436,16 +436,16 @@
|                  QName endpoint = ed.getPortQName();
|                  EndpointKey key = new EndpointKey(service, endpoint);
|                  axisSvc = ed.getAxisService();
| -                Parameter param = axisSvc.getParameter(EndpointMap.class.getCanonicalName());
| -                EndpointMap map = null;
| +                Parameter param = axisSvc.getParameter(EndpointContextMap.class.getCanonicalName());
| +                EndpointContextMap map = null;
|
|                  if (param == null) {
| -                    map = EndpointMapManager.getEndpointMap();
| -                    axisSvc.addParameter(EndpointMap.class.getCanonicalName(), map);
| +                    map = EndpointContextMapManager.getEndpointContextMap();
| +                    axisSvc.addParameter(EndpointContextMap.class.getCanonicalName(), map);
|                  }
|                  else {
| -                    map = (EndpointMap) param.getValue();
| -                    EndpointMapManager.setEndpointMap(map);
| +                    map = (EndpointContextMap) param.getValue();
| +                    EndpointContextMapManager.setEndpointContextMap(map);
|                  }
|
|                  map.put(key, axisSvc.getEPRs()[0]);
|
| Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/spi/Provider.java
| URL:
http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/spi/Provider.java?rev=628471&r1=628470&r2=628471&view=diff
| ==============================================================================
| --- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/spi/Provider.java (original)
| +++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/spi/Provider.java Sun Feb 17 02:32:45 2008
| @@ -74,8 +74,11 @@
|          W3CEndpointReference w3cEPR = null;
|
|          try {
| -        	EndpointReferenceUtils.addMetadata(axis2EPR, metadata.toArray(ZERO_LENGTH_ARRAY));
| -        	EndpointReferenceUtils.addReferenceParameters(axis2EPR, referenceParameters.toArray(ZERO_LENGTH_ARRAY));
| +            if (metadata != null)
| +                EndpointReferenceUtils.addMetadata(axis2EPR, metadata.toArray(ZERO_LENGTH_ARRAY));
| +        	
| +            if (referenceParameters != null)
| +                EndpointReferenceUtils.addReferenceParameters(axis2EPR, referenceParameters.toArray(ZERO_LENGTH_ARRAY));
|          	
|              w3cEPR =
|                  (W3CEndpointReference) EndpointReferenceUtils.convertFromAxis2(axis2EPR, addressingNamespace);
|
| Modified: webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/feature/ServerFramework.java
| URL:
http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/feature/ServerFramework.java?rev=628471&r1=628470&r2=628471&view=diff
| ==============================================================================
| --- webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/feature/ServerFramework.java (original)
| +++ webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/feature/ServerFramework.java Sun Feb 17
02:32:45 2008
| @@ -25,7 +25,6 @@
|
|  import java.lang.annotation.Annotation;
|  import java.util.HashMap;
| -import java.util.IdentityHashMap;
|  import java.util.Map;
|
|  public class ServerFramework {
| @@ -48,8 +47,7 @@
|          if (annotation == null)
|              return false;
|
| -        WebServiceFeatureAnnotation wsfAnnotation =
| -        	annotation.annotationType().getAnnotation(WebServiceFeatureAnnotation.class);
| +        WebServiceFeatureAnnotation wsfAnnotation = getWebServiceFeatureAnnotation(annotation);
|
|          String id = null;
|          if (wsfAnnotation != null)
| @@ -63,8 +61,7 @@
|          if (!isValid(annotation))
|              throw ExceptionFactory.makeWebServiceException("Invalid or unsupported WebServiceFeature annotation, " +
annotation);
|
| -        WebServiceFeatureAnnotation wsfAnnotation =
| -        	annotation.annotationType().getAnnotation(WebServiceFeatureAnnotation.class);
| +        WebServiceFeatureAnnotation wsfAnnotation = getWebServiceFeatureAnnotation(annotation);
|
|          annotationMap.put(wsfAnnotation.id(), annotation);
|      }
| @@ -79,11 +76,13 @@
|
|      public void configure(EndpointDescription endpointDescription) {
|          for (Annotation annotation : getAllAnnotations()) {
| -            WebServiceFeatureAnnotation wsfAnnotation =
| -            	annotation.annotationType().getAnnotation(WebServiceFeatureAnnotation.class);
| -
| +            WebServiceFeatureAnnotation wsfAnnotation = getWebServiceFeatureAnnotation(annotation);
|              ServerConfigurator configurator = configuratorMap.get(wsfAnnotation.id());
|              configurator.configure(endpointDescription);
|          }
| +    }
| +
| +    private WebServiceFeatureAnnotation getWebServiceFeatureAnnotation(Annotation annotation) {
| +        return annotation.annotationType().getAnnotation(WebServiceFeatureAnnotation.class);
|      }
|  }
|
|
|
| ---------------------------------------------------------------------
| To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
| For additional commands, e-mail: axis-cvs-help@ws.apache.org
|
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Cygwin)

iD4DBQFHuEVIgNg6eWEDv1kRAvawAKCr+EAcb8/oAJphCNXYXYAFbv6EoQCYo9ZQ
PHxd22BtrHJQ3cVm+V86mw==
=gcVU
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


Mime
View raw message