|
|
Choosing A Webhost: |
cvs commit: ws-fx/addressing/test/org/apache/ws/addressing/handler Abstract: msg#00189apache.webservices.fx.devel
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. <ian.springer-VXdhtT5mjnY@xxxxxxxxxxxxxxxx> 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")));
|
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Re: new to wsfx, Rami Jaamour |
|---|---|
| Next by Date: | [jira] Created: (WSFX-32) Interop testing with WSE 2.0, fx-dev-28n8OjmUYWfNLxjTenLetw |
| Previous by Thread: | [PATCH] [Addressing] moved Axis-specific logic for retrieving endpoint URL into Axis-specific handler, Springer, Ian P. |
| Next by Thread: | [jira] Created: (WSFX-32) Interop testing with WSE 2.0, fx-dev-28n8OjmUYWfNLxjTenLetw |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
Free MagazinesCisco NewsReceive a free quarterly e-newsletter with exclusive articles on how Cisco IT uses its own products and solutions to enable the business. subscribe Systems Management News, the newspaper for IT systems administration and data center managers! Each issue of Systems Management News is chock-full of news and analysis to help you understand what's happening in your field. subscribe The Enterprise Newsweekly eWeek is the essential technology information source for builders of e-business. subscribe Oracle Magazine Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world's largest enterprise software company. subscribe Total Telecom Total Telecom is "The Economist of the communications industry". subscribe |