You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by pr...@apache.org on 2008/02/06 15:11:21 UTC
svn commit: r618994 - in /webservices/axis2/trunk/java/modules:
jaxws/src/org/apache/axis2/jaxws/addressing/util/
jaxws/src/org/apache/axis2/jaxws/core/controller/impl/
jaxws/src/org/apache/axis2/jaxws/spi/ kernel/src/org/apache/axis2/addressing/
Author: pradine
Date: Wed Feb 6 06:11:20 2008
New Revision: 618994
URL: http://svn.apache.org/viewvc?rev=618994&view=rev
Log:
Improve addressing support in JAX-WS.
Modified:
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/core/controller/impl/AxisInvocationController.java
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/spi/BindingProvider.java
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/spi/Provider.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/addressing/EndpointReferenceHelper.java
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=618994&r1=618993&r2=618994&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 Wed Feb 6 06:11:20 2008
@@ -22,7 +22,6 @@
import java.io.ByteArrayOutputStream;
import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
import javax.xml.transform.Source;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
@@ -30,7 +29,6 @@
import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMFactory;
-import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.addressing.EndpointReferenceHelper;
import org.apache.axis2.addressing.metadata.InterfaceName;
@@ -59,10 +57,10 @@
* @param axis2EPR
* @param addressingNamespace
* @return
- * @throws AxisFault
+ * @throws Exception
*/
public static javax.xml.ws.EndpointReference convertFromAxis2(EndpointReference axis2EPR, String addressingNamespace)
- throws AxisFault, Exception {
+ throws Exception {
QName qname = new QName(addressingNamespace, "EndpointReference", "wsa");
OMElement omElement =
EndpointReferenceHelper.toOM(omFactory, axis2EPR, qname, addressingNamespace);
@@ -80,10 +78,10 @@
* @param source
* @param addressingNamespace
* @return
- * @throws AxisFault
+ * @throws Exception
*/
- public static javax.xml.ws.EndpointReference convertFromAxis2(Source source, String addressingNamespace)
- throws AxisFault, Exception {
+ public static javax.xml.ws.EndpointReference convertFromSource(Source source, String addressingNamespace)
+ throws Exception {
return jaxwsEPRFactory.createEndpointReference(source, addressingNamespace);
}
@@ -94,11 +92,10 @@
* @param axis2EPR
* @param jaxwsEPR
* @return
- * @throws AxisFault
- * @throws XMLStreamException
+ * @throws Exception
*/
public static String convertToAxis2(EndpointReference axis2EPR, javax.xml.ws.EndpointReference jaxwsEPR)
- throws AxisFault, XMLStreamException {
+ throws Exception {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
jaxwsEPR.writeTo(new StreamResult(baos));
ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/core/controller/impl/AxisInvocationController.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/core/controller/impl/AxisInvocationController.java?rev=618994&r1=618993&r2=618994&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/core/controller/impl/AxisInvocationController.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/core/controller/impl/AxisInvocationController.java Wed Feb 6 06:11:20 2008
@@ -24,7 +24,6 @@
import org.apache.axis2.client.OperationClient;
import org.apache.axis2.client.Options;
import org.apache.axis2.client.ServiceClient;
-import org.apache.axis2.context.AbstractContext;
import org.apache.axis2.context.OperationContext;
import org.apache.axis2.context.ServiceContext;
import org.apache.axis2.description.AxisOperation;
@@ -37,9 +36,7 @@
import org.apache.axis2.jaxws.client.async.PollingFuture;
import org.apache.axis2.jaxws.core.InvocationContext;
import org.apache.axis2.jaxws.core.MessageContext;
-import org.apache.axis2.jaxws.core.controller.InvocationController;
import org.apache.axis2.jaxws.description.OperationDescription;
-import org.apache.axis2.jaxws.handler.MEPContext;
import org.apache.axis2.jaxws.i18n.Messages;
import org.apache.axis2.jaxws.message.Message;
import org.apache.axis2.jaxws.message.factory.MessageFactory;
@@ -61,8 +58,6 @@
import javax.xml.ws.WebServiceException;
import java.net.MalformedURLException;
import java.net.URL;
-import java.util.Iterator;
-import java.util.Map;
import java.util.concurrent.Future;
/**
@@ -385,13 +380,21 @@
org.apache.axis2.context.MessageContext axisRequest = requestMsgCtx.getAxisMessageContext();
setupProperties(requestMsgCtx);//, axisRequest.getOptions());
- Options options = opClient.getOptions();
if (opClient != null) {
+ Options options = opClient.getOptions();
+ EndpointReference toEPR = null;
+
// Get the target endpoint address and setup the TO endpoint
// reference. This tells us where the request is going.
- String targetUrl = (String)requestMsgCtx.getProperty(
- BindingProvider.ENDPOINT_ADDRESS_PROPERTY);
- EndpointReference toEPR = new EndpointReference(targetUrl);
+ if (axisRequest.getTo() == null) {
+ String targetUrl = (String)requestMsgCtx.getProperty(
+ BindingProvider.ENDPOINT_ADDRESS_PROPERTY);
+ toEPR = new EndpointReference(targetUrl);
+ }
+ else {
+ toEPR = axisRequest.getTo();
+ }
+
options.setTo(toEPR);
// Get the SOAP Action (if needed)
Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/spi/BindingProvider.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/spi/BindingProvider.java?rev=618994&r1=618993&r2=618994&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/spi/BindingProvider.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/spi/BindingProvider.java Wed Feb 6 06:11:20 2008
@@ -18,7 +18,6 @@
*/
package org.apache.axis2.jaxws.spi;
-import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.jaxws.description.EndpointDescription;
@@ -30,7 +29,7 @@
public ServiceDelegate getServiceDelegate();
- public EndpointReference getAxis2EndpointReference(String addressingNamespace) throws AxisFault;
+ public EndpointReference getAxis2EndpointReference(String addressingNamespace);
public String getAddressingNamespace();
}
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=618994&r1=618993&r2=618994&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 Wed Feb 6 06:11:20 2008
@@ -155,11 +155,9 @@
ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
OMElement eprElement = (OMElement) XMLUtils.toOM(bais);
- org.apache.axis2.addressing.EndpointReference axis2EPR =
- EndpointReferenceUtils.createAxis2EndpointReference("");
- String addressingNamespace = EndpointReferenceHelper.fromOM(axis2EPR, eprElement);
+ String addressingNamespace = EndpointReferenceHelper.fromOM(null, eprElement);
- jaxwsEPR = EndpointReferenceUtils.convertFromAxis2(eprInfoset, addressingNamespace);
+ jaxwsEPR = EndpointReferenceUtils.convertFromSource(eprInfoset, addressingNamespace);
}
catch (Exception e) {
//TODO NLS enable.
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/addressing/EndpointReferenceHelper.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/addressing/EndpointReferenceHelper.java?rev=618994&r1=618993&r2=618994&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/addressing/EndpointReferenceHelper.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/addressing/EndpointReferenceHelper.java Wed Feb 6 06:11:20 2008
@@ -75,11 +75,12 @@
/**
* Populates an endpoint reference based on the <code>OMElement</code>. Returns the
- * WS-Addressing namespace that the endpoint reference is in compliance with.
+ * WS-Addressing namespace of the endpoint reference.
*
- * @param epr an endpoint reference instance to hold the info.
+ * @param epr an endpoint reference instance to hold the info. If the endpoint
+ * reference is null then just the WS-Addressing namespace is returned.
* @param eprOMElement an element of endpoint reference type
- * @return a string representing the namespace of the endpoint reference.
+ * @return a string representing the WS-Addressing namespace of the endpoint reference.
* @throws AxisFault if unable to locate an address element.
*/
public static String fromOM(EndpointReference epr, OMElement eprOMElement)
@@ -118,7 +119,8 @@
}
//Second pass, identify the properties.
- fromOM(epr, eprOMElement, map, isFinalAddressingNamespace);
+ if (epr != null)
+ fromOM(epr, eprOMElement, map, isFinalAddressingNamespace);
return ((QName) map.get(AddressingConstants.EPR_ADDRESS)).getNamespaceURI();
}
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org