You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by pr...@apache.org on 2008/02/25 11:55:06 UTC
svn commit: r630804 - in /webservices/axis2/trunk/java/modules:
jaxws/src/org/apache/axis2/jaxws/client/config/AddressingConfigurator.java
metadata/src/org/apache/axis2/jaxws/server/config/AddressingConfigurator.java
Author: pradine
Date: Mon Feb 25 02:55:03 2008
New Revision: 630804
URL: http://svn.apache.org/viewvc?rev=630804&view=rev
Log:
Improvements to WS-Addressing configurators.
Modified:
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/client/config/AddressingConfigurator.java
webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/server/config/AddressingConfigurator.java
Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/client/config/AddressingConfigurator.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/client/config/AddressingConfigurator.java?rev=630804&r1=630803&r2=630804&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/client/config/AddressingConfigurator.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/client/config/AddressingConfigurator.java Mon Feb 25 02:55:03 2008
@@ -36,13 +36,18 @@
import org.apache.axis2.jaxws.spi.BindingProvider;
/**
- *
+ * This class will enable/disable WS-Addressing in a JAX-WS 2.1 client,
+ * based on the configuration passed to it via an <code>AddressingFeature</code>
+ * and/or a <code>SubmissionAddressingFeature</code>.
+ *
+ * @see javax.xml.ws.soap.AddressingFeature
+ * @see org.apache.axis2.jaxws.addressing.SubmissionAddressingFeature
*/
public class AddressingConfigurator implements ClientConfigurator {
/*
* (non-Javadoc)
- * @see org.apache.axis2.jaxws.feature.WebServiceFeatureConfigurator#configure(org.apache.axis2.jaxws.core.MessageContext, org.apache.axis2.jaxws.spi.BindingProvider)
+ * @see org.apache.axis2.jaxws.feature.ClientConfigurator#configure(org.apache.axis2.jaxws.core.MessageContext, org.apache.axis2.jaxws.spi.BindingProvider)
*/
public void configure(MessageContext messageContext, BindingProvider provider) {
Binding bnd = (Binding) provider.getBinding();
@@ -50,8 +55,7 @@
(AddressingFeature) bnd.getFeature(AddressingFeature.ID);
SubmissionAddressingFeature submissionAddressingFeature =
(SubmissionAddressingFeature) bnd.getFeature(SubmissionAddressingFeature.ID);
- String addressingNamespace =
- (String) messageContext.getProperty(AddressingConstants.WS_ADDRESSING_VERSION);
+ String addressingNamespace = bnd.getAddressingNamespace();
Boolean disableAddressing =
(Boolean) messageContext.getProperty(AddressingConstants.DISABLE_ADDRESSING_FOR_OUT_MESSAGES);
@@ -65,16 +69,24 @@
//Use the addressing namespace of the EPR specified
//via the JAX-WS 2.1 API. If no EPR was specified
//then the 2005/08 namespace will be used.
- addressingNamespace = bnd.getAddressingNamespace();
+ if (addressingNamespace == null)
+ addressingNamespace = Final.WSA_NAMESPACE;
+
disableAddressing = Boolean.FALSE;
}
else if (w3cAddressingEnabled) {
//Enable only 2005/08 addressing
+ if (Submission.WSA_NAMESPACE.equals(addressingNamespace))
+ throw ExceptionFactory.makeWebServiceException("The feature does not match the specified endpoint reference.");
+
addressingNamespace = Final.WSA_NAMESPACE;
disableAddressing = Boolean.FALSE;
}
else if (submissionAddressingEnabled) {
//Enable only 2004/08 addressing
+ if (Final.WSA_NAMESPACE.equals(addressingNamespace))
+ throw ExceptionFactory.makeWebServiceException("The feature does not match the specified endpoint reference.");
+
addressingNamespace = Submission.WSA_NAMESPACE;
disableAddressing = Boolean.FALSE;
}
@@ -89,6 +101,9 @@
if (w3cAddressingEnabled) {
//Enable 2005/08 addressing
+ if (Submission.WSA_NAMESPACE.equals(addressingNamespace))
+ throw ExceptionFactory.makeWebServiceException("The feature does not match the specified endpoint reference.");
+
addressingNamespace = Final.WSA_NAMESPACE;
disableAddressing = Boolean.FALSE;
}
@@ -103,6 +118,9 @@
if (submissionAddressingEnabled) {
//Enable 2004/08 addressing
+ if (Final.WSA_NAMESPACE.equals(addressingNamespace))
+ throw ExceptionFactory.makeWebServiceException("The feature does not match the specified endpoint reference.");
+
addressingNamespace = Submission.WSA_NAMESPACE;
disableAddressing = Boolean.FALSE;
}
@@ -119,11 +137,9 @@
if (!disableAddressing) {
try {
EndpointReference epr = bnd.getAxis2EndpointReference();
- if (epr != null) {
- org.apache.axis2.context.MessageContext axis2MessageContext =
- messageContext.getAxisMessageContext();
- axis2MessageContext.setTo(epr);
- }
+ org.apache.axis2.context.MessageContext axis2MessageContext =
+ messageContext.getAxisMessageContext();
+ axis2MessageContext.setTo(epr);
ServiceDescription sd = messageContext.getEndpointDescription().getServiceDescription();
AxisConfiguration axisConfig = sd.getAxisConfigContext().getAxisConfiguration();
Modified: webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/server/config/AddressingConfigurator.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/server/config/AddressingConfigurator.java?rev=630804&r1=630803&r2=630804&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/server/config/AddressingConfigurator.java (original)
+++ webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/server/config/AddressingConfigurator.java Mon Feb 25 02:55:03 2008
@@ -37,13 +37,19 @@
import org.apache.axis2.jaxws.registry.ServerConfiguratorRegistry;
/**
- *
+ * This class will enable/disable WS-Addressing for a JAX-WS 2.1 web service
+ * endpoint, based on the configuration passed to it via an <code>Addressing</code>
+ * annotation and/or a <code>SubmissionAddressing</code> annotation from the
+ * endpoint implementation bean.
+ *
+ * @see javax.xml.ws.soap.Addressing
+ * @see org.apache.axis2.jaxws.addressing.SubmissionAddressing
*/
public class AddressingConfigurator implements ServerConfigurator {
/*
* (non-Javadoc)
- * @see org.apache.axis2.jaxws.feature.WebServiceFeatureConfigurator#configure(org.apache.axis2.jaxws.description.EndpointDescription)
+ * @see org.apache.axis2.jaxws.feature.ServerConfigurator#configure(org.apache.axis2.jaxws.description.EndpointDescription)
*/
public void configure(EndpointDescription endpointDescription) {
Addressing addressing =
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org