You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fx-dev@ws.apache.org by di...@apache.org on 2004/08/20 03:40:47 UTC
cvs commit: ws-fx/addressing/test/org/apache/ws/addressing/handler AbstractAddressingHandlerTestCase.java ClientSideAddressingHandlerTestCase.java
dims 2004/08/19 18:40:47
Modified: addressing/src/org/apache/axis/message/addressing/handler
AxisClientSideAddressingHandler.java
addressing/src/org/apache/ws/addressing/handler
AbstractAddressingHandler.java
ClientSideAddressingHandler.java
ServerSideAddressingHandler.java
addressing/test/org/apache/ws/addressing/handler
AbstractAddressingHandlerTestCase.java
ClientSideAddressingHandlerTestCase.java
Log:
[PATCH] [Addressing] moved Axis-specific logic for retrieving endpoint URL into Axis-specific handler
from Springer, Ian P. <ia...@hp.com>
Revision Changes Path
1.3 +13 -3 ws-fx/addressing/src/org/apache/axis/message/addressing/handler/AxisClientSideAddressingHandler.java
Index: AxisClientSideAddressingHandler.java
===================================================================
RCS file: /home/cvs/ws-fx/addressing/src/org/apache/axis/message/addressing/handler/AxisClientSideAddressingHandler.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- AxisClientSideAddressingHandler.java 12 Aug 2004 05:00:29 -0000 1.2
+++ AxisClientSideAddressingHandler.java 20 Aug 2004 01:40:46 -0000 1.3
@@ -190,10 +190,10 @@
}
/**
- * Axis-specific impl of {@link org.apache.ws.addressing.handler.ClientSideAddressingHandler#setSOAPAction(javax.xml.rpc.handler.MessageContext,
- * String)}.
+ * Axis-specific impl of
+ * {@link org.apache.ws.addressing.handler.ClientSideAddressingHandler#setSOAPAction(javax.xml.rpc.handler.MessageContext,String)}.
*
- * @param jaxRpcMsgContext JAX-RPC message context
+ * @param jaxRpcMsgContext a JAX-RPC message context
* @param actionURI the SOAPAction URI to be set
*/
protected void setSOAPAction( javax.xml.rpc.handler.MessageContext jaxRpcMsgContext, String actionURI )
@@ -201,6 +201,16 @@
MessageContext msgContext = (MessageContext) jaxRpcMsgContext;
msgContext.setUseSOAPAction( true );
msgContext.setSOAPActionURI( actionURI );
+ }
+
+ /**
+ * Axis-specific impl of
+ * {@link org.apache.ws.addressing.handler.ClientSideAddressingHandler#getEndpointURL(javax.xml.rpc.handler.MessageContext)}.
+ *
+ * @param jaxRpcMsgContext a JAX-RPC message context
+ */
+ protected String getEndpointURL(javax.xml.rpc.handler.MessageContext jaxRpcMsgContext) {
+ return (String) jaxRpcMsgContext.getProperty(org.apache.axis.MessageContext.TRANS_URL);
}
}
1.3 +1 -1 ws-fx/addressing/src/org/apache/ws/addressing/handler/AbstractAddressingHandler.java
Index: AbstractAddressingHandler.java
===================================================================
RCS file: /home/cvs/ws-fx/addressing/src/org/apache/ws/addressing/handler/AbstractAddressingHandler.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- AbstractAddressingHandler.java 12 Aug 2004 05:00:29 -0000 1.2
+++ AbstractAddressingHandler.java 20 Aug 2004 01:40:47 -0000 1.3
@@ -236,6 +236,6 @@
}
}
}
- }
+ }
}
1.3 +17 -4 ws-fx/addressing/src/org/apache/ws/addressing/handler/ClientSideAddressingHandler.java
Index: ClientSideAddressingHandler.java
===================================================================
RCS file: /home/cvs/ws-fx/addressing/src/org/apache/ws/addressing/handler/ClientSideAddressingHandler.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ClientSideAddressingHandler.java 17 Aug 2004 17:59:24 -0000 1.2
+++ ClientSideAddressingHandler.java 20 Aug 2004 01:40:47 -0000 1.3
@@ -71,7 +71,7 @@
if (LOG.isDebugEnabled()) {
e.printStackTrace();
}
- throw new JAXRPCException("unexpected error in handleRequest()", e);
+ throw new JAXRPCException("unexpected error in handleRequest(): " + e, e);
}
return CONTINUE_HANDLER_CHAIN_PROCESSING;
}
@@ -97,7 +97,7 @@
if (LOG.isDebugEnabled()) {
e.printStackTrace();
}
- throw new JAXRPCException("unexpected error in handleResponse()", e);
+ throw new JAXRPCException("unexpected error in handleResponse(): " + e, e);
}
return CONTINUE_HANDLER_CHAIN_PROCESSING;
}
@@ -129,6 +129,18 @@
msgContext.setProperty(MSG_CONTEXT_PROP__SOAP_ACTION, actionURI);
}
+ /**
+ * Returns the endpoint URL for the specified message context. Since there's no
+ * generic JAX-RPC way to obtain the request's endpoint URL, we return null here.
+ * Platform-specific handlers can override if the platform provides a means to
+ * obtain the endpoint URL.
+ *
+ * @return the endpoint URL for the specified message context
+ */
+ protected String getEndpointURL(MessageContext msgContext) {
+ return null;
+ }
+
private void addReplyToHeader(AddressingHeaders addrHeaders, MessageContext msgContext)
throws URI.MalformedURIException {
if (isPropertyTrue(msgContext, Constants.ENV_ADDRESSING_SEND_REPLYTO)) {
@@ -167,8 +179,8 @@
private void addToHeader(AddressingHeaders addrHeaders, MessageContext msgContext)
throws URI.MalformedURIException {
if (addrHeaders.getTo() == null) {
- // TODO: refactor (transport.url prop is Axis-specific)
- addrHeaders.setTo(new To((String) msgContext.getProperty(org.apache.axis.MessageContext.TRANS_URL)));
+ String endpointURL = getEndpointURL(msgContext);
+ addrHeaders.setTo(endpointURL != null ? new To(endpointURL) : null);
}
}
@@ -181,4 +193,5 @@
setSOAPAction(msgContext, addrHeaders.getAction().toString());
}
}
+
}
1.2 +2 -4 ws-fx/addressing/src/org/apache/ws/addressing/handler/ServerSideAddressingHandler.java
Index: ServerSideAddressingHandler.java
===================================================================
RCS file: /home/cvs/ws-fx/addressing/src/org/apache/ws/addressing/handler/ServerSideAddressingHandler.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ServerSideAddressingHandler.java 9 Aug 2004 16:36:19 -0000 1.1
+++ ServerSideAddressingHandler.java 20 Aug 2004 01:40:47 -0000 1.2
@@ -389,8 +389,7 @@
private void addRelatesToHeader( AddressingHeaders reqHeaders, AddressingHeaders resHeaders )
throws URI.MalformedURIException
{
- MessageID msgID;
- msgID = reqHeaders.getMessageID();
+ MessageID msgID = reqHeaders.getMessageID();
if ( msgID != null )
{
resHeaders.addRelatesTo( msgID.toString(),
@@ -401,8 +400,7 @@
private void addMessageIdHeader( AddressingHeaders resHeaders )
throws URI.MalformedURIException
{
- MessageID msgID;
- msgID = new MessageID( new URI( "uuid:" + generateUUId() ) );
+ MessageID msgID = new MessageID( new URI( "uuid:" + generateUUId() ) );
resHeaders.setMessageID( msgID );
}
1.3 +3 -0 ws-fx/addressing/test/org/apache/ws/addressing/handler/AbstractAddressingHandlerTestCase.java
Index: AbstractAddressingHandlerTestCase.java
===================================================================
RCS file: /home/cvs/ws-fx/addressing/test/org/apache/ws/addressing/handler/AbstractAddressingHandlerTestCase.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- AbstractAddressingHandlerTestCase.java 12 Aug 2004 12:52:43 -0000 1.2
+++ AbstractAddressingHandlerTestCase.java 20 Aug 2004 01:40:47 -0000 1.3
@@ -193,6 +193,9 @@
}
ClassLoader classLoader = ServerSideAddressingHandler.class.getClassLoader();
InputStream msgInStream = classLoader.getResourceAsStream(msgResourcePath);
+ if (msgInStream == null) {
+ throw new Exception( "Resource " + msgResourcePath + " not found. Please make sure it is in your classpath before running this testcase." );
+ }
return MessageFactory.newInstance().createMessage(new MimeHeaders(), msgInStream);
}
1.4 +10 -4 ws-fx/addressing/test/org/apache/ws/addressing/handler/ClientSideAddressingHandlerTestCase.java
Index: ClientSideAddressingHandlerTestCase.java
===================================================================
RCS file: /home/cvs/ws-fx/addressing/test/org/apache/ws/addressing/handler/ClientSideAddressingHandlerTestCase.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- ClientSideAddressingHandlerTestCase.java 12 Aug 2004 12:52:43 -0000 1.3
+++ ClientSideAddressingHandlerTestCase.java 20 Aug 2004 01:40:47 -0000 1.4
@@ -30,6 +30,7 @@
import javax.xml.namespace.QName;
import javax.xml.rpc.handler.soap.SOAPMessageContext;
+import javax.xml.rpc.JAXRPCException;
import java.util.Map;
/**
@@ -54,11 +55,16 @@
*
* @throws Exception on error
*/
- public void testHandleRequest() throws Exception {
+ public void testHandleRequest() throws Throwable {
SOAPMessageContext msgContext = createSOAPMessageContext();
msgContext.setMessage(createMessage("org/apache/ws/addressing/handler/testRequest.xml"));
m_handler.setSOAPAction(msgContext, "http://foo.com/mail#Put");
- assertTrue("handleRequest() should always return true", m_handler.handleRequest(msgContext));
+ try {
+ assertTrue("handleRequest() should always return true", m_handler.handleRequest(msgContext));
+ }
+ catch (JAXRPCException jaxrpce) {
+ throw jaxrpce.getLinkedCause();
+ }
Object prop = msgContext.getProperty(Constants.ENV_ADDRESSING_REQUEST_HEADERS);
assertNotNull(prop);
assertTrue(prop instanceof AddressingHeaders);
@@ -68,7 +74,7 @@
checkRelatesToHeader(addrHeaders, new RelatesTo[0]);
checkReplyToHeader(addrHeaders, null);
checkFaultToHeader(addrHeaders, null);
- checkToHeader(addrHeaders, new To("http://xyz.com:8080/axis/services/myService"));
+ checkToHeader(addrHeaders, null);
checkFromHeader(addrHeaders, new From(new Address(Constants.NS_URI_ANONYMOUS)));
checkRecipientHeader(addrHeaders, new Recipient(new Address("http://blah.com:8080/axis/services/tester")));
checkActionHeader(addrHeaders, new Action(new URI("http://foo.com/mail#Put")));
@@ -96,7 +102,7 @@
checkRelatesToHeader(addrHeaders, new RelatesTo[0]);
checkReplyToHeader(addrHeaders, null);
checkFaultToHeader(addrHeaders, null);
- checkToHeader(addrHeaders, new To("http://xyz.com:8080/axis/services/myService"));
+ checkToHeader(addrHeaders, null);
checkFromHeader(addrHeaders, new From(new Address(Constants.NS_URI_ANONYMOUS)));
checkRecipientHeader(addrHeaders, null);
checkActionHeader(addrHeaders, new Action(new URI("http://foo.com/mail#Put")));