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")));