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 di...@apache.org on 2007/04/26 07:19:33 UTC

svn commit: r532615 [10/13] - in /webservices/axis2/branches/java/1_2/modules: jaxws-api/src/javax/xml/ws/handler/soap/ jaxws-api/src/javax/xml/ws/soap/ jaxws/ jaxws/src/org/apache/axis2/jaxws/ jaxws/src/org/apache/axis2/jaxws/binding/ jaxws/src/org/ap...

Modified: webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/FaultyWebServiceTests.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/FaultyWebServiceTests.java?view=diff&rev=532615&r1=532614&r2=532615
==============================================================================
--- webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/FaultyWebServiceTests.java (original)
+++ webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/FaultyWebServiceTests.java Wed Apr 25 22:19:23 2007
@@ -23,6 +23,7 @@
 import org.apache.axis2.jaxws.sample.wrap.sei.DocLitWrap;
 import org.apache.axis2.jaxws.sample.wrap.sei.DocLitWrapService;
 import org.apache.axis2.jaxws.util.Constants;
+import org.apache.axis2.jaxws.TestLogger;
 import org.apache.axis2.util.MessageContextBuilder;
 import org.apache.axis2.util.ThreadContextMigrator;
 import org.apache.axis2.util.ThreadContextMigratorUtil;
@@ -33,8 +34,8 @@
 	public void testFaultyWebService(){
 		FaultyWebServiceFault_Exception exception = null;
 		try{
-			System.out.println("----------------------------------");
-		    System.out.println("test: " + getName());
+            TestLogger.logger.debug("----------------------------------");
+            TestLogger.logger.debug("test: " + getName());
 		    FaultyWebServiceService service = new FaultyWebServiceService();
 		    FaultyWebServicePortType proxy = service.getFaultyWebServicePort();
 			BindingProvider p =	(BindingProvider)proxy;
@@ -49,8 +50,8 @@
            e.printStackTrace();
            fail(e.toString());
         }
-		
-		System.out.println("----------------------------------");
+
+        TestLogger.logger.debug("----------------------------------");
 		
 		assertNotNull(exception);
 		assertEquals("custom exception", exception.getMessage());
@@ -68,8 +69,8 @@
         WebServiceException exception = null;
 
         try{
-            System.out.println("----------------------------------");
-            System.out.println("test: " + getName());
+            TestLogger.logger.debug("----------------------------------");
+            TestLogger.logger.debug("test: " + getName());
             FaultyWebServiceService service = new FaultyWebServiceService();
             FaultyWebServicePortType proxy = service.getFaultyWebServicePort();
             BindingProvider p = (BindingProvider)proxy;
@@ -86,8 +87,8 @@
         }catch(Exception e) {
             fail("This testcase should only produce a WebServiceException.  We got: " + e.toString());
         }
-        
-        System.out.println("----------------------------------");
+
+        TestLogger.logger.debug("----------------------------------");
         
         assertNotNull(exception);
         assertTrue(exception.getCause() instanceof UnknownHostException);
@@ -105,9 +106,9 @@
         String badEndpoint = "http://" + host;
         
         WebServiceException exception = null;
-        
-        System.out.println("------------------------------");
-        System.out.println("Test : "+getName());
+
+        TestLogger.logger.debug("------------------------------");
+        TestLogger.logger.debug("Test : " + getName());
         try{
             
             DocLitWrapService service = new DocLitWrapService();
@@ -121,8 +122,8 @@
         }catch(Exception e) {
             fail("This testcase should only produce a WebServiceException.  We got: " + e.toString());
         }
-        
-        System.out.println("----------------------------------");
+
+        TestLogger.logger.debug("----------------------------------");
         
         assertNotNull(exception);
         assertTrue(exception.getCause() instanceof UnknownHostException);
@@ -136,8 +137,8 @@
         String host = "this.is.a.bad.endpoint.terrible.in.fact";
         String badEndpoint = "http://" + host;
 
-        System.out.println("------------------------------");
-        System.out.println("Test : " + getName());
+        TestLogger.logger.debug("------------------------------");
+        TestLogger.logger.debug("Test : " + getName());
 
         FaultyWebServiceService service = new FaultyWebServiceService();
         FaultyWebServicePortType proxy = service.getFaultyWebServicePort();
@@ -150,7 +151,7 @@
 
         while (!future.isDone()) {
             Thread.sleep(1000);
-            System.out.println("Async invocation incomplete");
+            TestLogger.logger.debug("Async invocation incomplete");
         }
 
         Exception e = callback.getException();
@@ -174,8 +175,8 @@
         String host = "this.is.a.bad.endpoint.terrible.in.fact";
         String badEndpoint = "http://" + host;
 
-        System.out.println("------------------------------");
-        System.out.println("Test : " + getName());
+        TestLogger.logger.debug("------------------------------");
+        TestLogger.logger.debug("Test : " + getName());
 
         FaultyWebServiceService service = new FaultyWebServiceService();
         FaultyWebServicePortType proxy = service.getFaultyWebServicePort();
@@ -186,7 +187,7 @@
         Future<?> future = proxy.faultyWebServiceAsync(1);
         while (!future.isDone()) {
             Thread.sleep(1000);
-            System.out.println("Async invocation incomplete");
+            TestLogger.logger.debug("Async invocation incomplete");
         }
 
         Exception e = null;
@@ -213,8 +214,8 @@
      * Tests fault processing for user defined fault types
      */      
     public void testCustomFault_AsyncCallback() throws Exception {
-        System.out.println("------------------------------");
-        System.out.println("test: " + getName());
+        TestLogger.logger.debug("------------------------------");
+        TestLogger.logger.debug("test: " + getName());
         
         FaultyWebServiceService service = new FaultyWebServiceService();
         FaultyWebServicePortType proxy = service.getFaultyWebServicePort();
@@ -226,7 +227,7 @@
 
         while (!future.isDone()) {
             Thread.sleep(1000);
-            System.out.println("Async invocation incomplete");
+            TestLogger.logger.debug("Async invocation incomplete");
         }
         
         Exception e = callback.getException();
@@ -252,12 +253,12 @@
         
         public void handleResponse(Response<FaultyWebServiceResponse> response) {
             try {
-                System.out.println("FaultyAsyncHandler.handleResponse() was called");
+                TestLogger.logger.debug("FaultyAsyncHandler.handleResponse() was called");
                 FaultyWebServiceResponse r = response.get();
-                System.out.println("No exception was thrown from Response.get()");
+                TestLogger.logger.debug("No exception was thrown from Response.get()");
             }
             catch (Exception e) {
-                System.out.println("An exception was thrown: " + e.getClass());
+                TestLogger.logger.debug("An exception was thrown: " + e.getClass());
                 exception = e;
             }
         }

Modified: webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/MtomSampleByteArrayTests.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/MtomSampleByteArrayTests.java?view=diff&rev=532615&r1=532614&r2=532615
==============================================================================
--- webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/MtomSampleByteArrayTests.java (original)
+++ webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/MtomSampleByteArrayTests.java Wed Apr 25 22:19:23 2007
@@ -16,6 +16,7 @@
 import org.apache.axis2.jaxws.sample.mtom1.ObjectFactory;
 import org.apache.axis2.jaxws.sample.mtom1.Invoke;
 import org.apache.axis2.jaxws.sample.mtom1.SendImageResponse;
+import org.apache.axis2.jaxws.TestLogger;
 import org.w3._2005._05.xmlmime.Base64Binary;
 
 import com.sun.xml.bind.v2.runtime.unmarshaller.Base64Data;
@@ -33,8 +34,8 @@
      * Using SOAP11
      */
     public void testAttachmentByteArrayAPI11() throws Exception {
-    	System.out.println("----------------------------------");
-        System.out.println("test: " + getName());
+        TestLogger.logger.debug("----------------------------------");
+        TestLogger.logger.debug("test: " + getName());
     	
       	String imageResourceDir = IMAGE_DIR;
       		
@@ -70,8 +71,8 @@
      * Using SOAP11
      */
     public void testAttachmentByteArrayAPI11_ClientSendsNonOptimizedMTOM() throws Exception {
-        System.out.println("----------------------------------");
-        System.out.println("test: " + getName());
+        TestLogger.logger.debug("----------------------------------");
+        TestLogger.logger.debug("test: " + getName());
         
         String imageResourceDir = IMAGE_DIR;
             
@@ -106,8 +107,8 @@
      * property for MTOM.
      */
     public void testAttachmentByteArrayProperty11() throws Exception {
-    	System.out.println("----------------------------------");
-        System.out.println("test: " + getName());
+        TestLogger.logger.debug("----------------------------------");
+        TestLogger.logger.debug("test: " + getName());
     	
       	String imageResourceDir = IMAGE_DIR;
       		

Modified: webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/MtomSampleTests.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/MtomSampleTests.java?view=diff&rev=532615&r1=532614&r2=532615
==============================================================================
--- webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/MtomSampleTests.java (original)
+++ webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/MtomSampleTests.java Wed Apr 25 22:19:23 2007
@@ -18,6 +18,7 @@
 
 import junit.framework.TestCase;
 import org.apache.axis2.jaxws.provider.DataSourceImpl;
+import org.apache.axis2.jaxws.TestLogger;
 import org.test.mtom.ImageDepot;
 import org.test.mtom.ObjectFactory;
 import org.test.mtom.SendImage;
@@ -36,8 +37,8 @@
      * Using SOAP11
      */
     public void testSendImageAttachmentAPI11() throws Exception {
-        System.out.println("----------------------------------");
-        System.out.println("test: " + getName());
+        TestLogger.logger.debug("----------------------------------");
+        TestLogger.logger.debug("test: " + getName());
         
         String imageResourceDir = IMAGE_DIR;
         
@@ -80,8 +81,8 @@
      * property for MTOM.
      */
     public void testSendImageAttachmentProperty11() throws Exception {
-        System.out.println("----------------------------------");
-        System.out.println("test: " + getName());
+        TestLogger.logger.debug("----------------------------------");
+        TestLogger.logger.debug("test: " + getName());
         
         String imageResourceDir = IMAGE_DIR;
         
@@ -121,8 +122,8 @@
      * property for MTOM and the Binding API
      */
     public void testSendImageAttachmentAPIProperty11() throws Exception {
-        System.out.println("----------------------------------");
-        System.out.println("test: " + getName());
+        TestLogger.logger.debug("----------------------------------");
+        TestLogger.logger.debug("test: " + getName());
         
         String imageResourceDir = IMAGE_DIR;
         
@@ -170,8 +171,8 @@
      * 
      */
     public void testSendImageAttachmentProperty12() throws Exception {
-        System.out.println("----------------------------------");
-        System.out.println("test: " + getName());
+        TestLogger.logger.debug("----------------------------------");
+        TestLogger.logger.debug("test: " + getName());
         
         String imageResourceDir = IMAGE_DIR;
         
@@ -221,8 +222,8 @@
      * 
      */
     public void testSendImageAttachmentAPI12() throws Exception {
-        System.out.println("----------------------------------");
-        System.out.println("test: " + getName());
+        TestLogger.logger.debug("----------------------------------");
+        TestLogger.logger.debug("test: " + getName());
         
         String imageResourceDir = IMAGE_DIR;
         

Modified: webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/NonWrapTests.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/NonWrapTests.java?view=diff&rev=532615&r1=532614&r2=532615
==============================================================================
--- webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/NonWrapTests.java (original)
+++ webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/NonWrapTests.java Wed Apr 25 22:19:23 2007
@@ -11,6 +11,7 @@
 import junit.framework.TestCase;
 import org.apache.axis2.jaxws.sample.nonwrap.sei.DocLitNonWrapPortType;
 import org.apache.axis2.jaxws.sample.nonwrap.sei.DocLitNonWrapService;
+import org.apache.axis2.jaxws.TestLogger;
 import org.test.sample.nonwrap.ObjectFactory;
 import org.test.sample.nonwrap.ReturnType;
 import org.test.sample.nonwrap.TwoWay;
@@ -33,25 +34,55 @@
 	}
 	
 	public void testTwoWaySync(){
-		System.out.println("------------------------------");
-		System.out.println("Test : "+getName());
+        TestLogger.logger.debug("------------------------------");
+        TestLogger.logger.debug("Test : " + getName());
 		try{
 			TwoWay twoWay = new ObjectFactory().createTwoWay();
 			twoWay.setTwowayStr("testing sync call for java bean non wrap endpoint");
 			DocLitNonWrapService service = new DocLitNonWrapService();
 			DocLitNonWrapPortType proxy = service.getDocLitNonWrapPort();
 			ReturnType returnValue = proxy.twoWay(twoWay);
-			System.out.println(returnValue.getReturnStr());
-			System.out.println("------------------------------");
+            TestLogger.logger.debug(returnValue.getReturnStr());
+            TestLogger.logger.debug("------------------------------");
 		}catch(Exception e){
 			e.printStackTrace();
 			fail();
 		}
 	}
+    
+    public void testTwoWaySyncNull() throws Exception{
+        TestLogger.logger.debug("------------------------------");
+        TestLogger.logger.debug("Test : " + getName());
+        try{
+            TwoWay twoWay = null;  // This should cause an WebServiceException
+            DocLitNonWrapService service = new DocLitNonWrapService();
+            DocLitNonWrapPortType proxy = service.getDocLitNonWrapPort();
+            ReturnType returnValue = proxy.twoWay(twoWay);
+            
+            // TODO Revisit JAXB validation
+            // JAXWS does not make the decision of whether a
+            // null parameter can be marshalled.  This decision is
+            // delegated to JAXB.  In this case, the schema indicates
+            // that this is not a nillable element.  The assumption is
+            // that JAXB will fail.  However the current version of 
+            // JAXB considers this as 'validation checking' and is not
+            // supported.  Thus JAXB will marshal the element without
+            // an exception (and unmarshal without exception) even though
+            // this is a violation of the schema.
+            
+            
+            
+            //fail("Expected WebServiceException");
+            
+            
+        } catch(WebServiceException e){
+            TestLogger.logger.debug(e.toString());
+        }
+    }
 
 	public void testTwoWayASyncCallback(){
-		System.out.println("------------------------------");
-		System.out.println("Test : "+getName());
+        TestLogger.logger.debug("------------------------------");
+        TestLogger.logger.debug("Test : " + getName());
 		try{
 			TwoWay twoWay = new ObjectFactory().createTwoWay();
 			twoWay.setTwowayStr("testing Async call for java bean non wrap endpoint");
@@ -60,15 +91,15 @@
 			AsyncCallback callback = new AsyncCallback();
 			Future<?> monitor = proxy.twoWayAsync(twoWay, callback);
 			assertNotNull(monitor);
-			System.out.println("------------------------------");
+            TestLogger.logger.debug("------------------------------");
 		}catch(Exception e){
 			e.printStackTrace();
 			fail();
 		}
 	}
 	public void testTwoWayHolder(){
-		System.out.println("------------------------------");
-		System.out.println("Test : "+getName());
+        TestLogger.logger.debug("------------------------------");
+        TestLogger.logger.debug("Test : " + getName());
 		try{
 			TwoWayHolder twh = new TwoWayHolder();
 			twh.setTwoWayHolderInt(new Integer(0));
@@ -80,10 +111,10 @@
 			DocLitNonWrapPortType proxy = service.getDocLitNonWrapPort();
 			proxy.twoWayHolder(holder);
 			twh = holder.value;
-			System.out.println("Holder string ="+twh.getTwoWayHolderStr());
-			System.out.println("Holder int ="+twh.getTwoWayHolderInt());
-			
-			System.out.println("------------------------------");
+            TestLogger.logger.debug("Holder string =" + twh.getTwoWayHolderStr());
+            TestLogger.logger.debug("Holder int =" + twh.getTwoWayHolderInt());
+
+            TestLogger.logger.debug("------------------------------");
 		}catch(Exception e){
 			e.printStackTrace();
 			fail();
@@ -91,8 +122,8 @@
 	}
 	
 	public void testTwoWayHolderAsync(){
-		System.out.println("------------------------------");
-		System.out.println("Test : "+getName());
+        TestLogger.logger.debug("------------------------------");
+        TestLogger.logger.debug("Test : " + getName());
 		try{
 			TwoWayHolder twh = new TwoWayHolder();
 			twh.setTwoWayHolderInt(new Integer(0));
@@ -107,8 +138,8 @@
 			while(!monitor.isDone()){
 				Thread.sleep(1000);
 			}
-			
-			System.out.println("------------------------------");
+
+            TestLogger.logger.debug("------------------------------");
 		}catch(Exception e){
 			e.printStackTrace();
 			fail();

Modified: webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/ParallelAsyncTests.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/ParallelAsyncTests.java?view=diff&rev=532615&r1=532614&r2=532615
==============================================================================
--- webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/ParallelAsyncTests.java (original)
+++ webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/ParallelAsyncTests.java Wed Apr 25 22:19:23 2007
@@ -17,6 +17,7 @@
 import org.apache.axis2.jaxws.sample.parallelasync.common.CallbackHandler;
 import org.apache.axis2.jaxws.sample.parallelasync.server.AsyncPort;
 import org.apache.axis2.jaxws.sample.parallelasync.server.AsyncService;
+import org.apache.axis2.jaxws.TestLogger;
 import org.apache.log4j.BasicConfigurator;
 import org.test.parallelasync.CustomAsyncResponse;
 import org.test.parallelasync.SleepResponse;
@@ -47,7 +48,7 @@
     }
 
     public void setUp() {
-        System.out.println("==================== " + getName());
+        TestLogger.logger.debug("==================== " + getName());
     }
     
     public void testNOOP () {}
@@ -74,7 +75,8 @@
             request1 = req1base + "_" + i;
             request2 = req2base + "_" + i;
 
-            System.out.println(title+"iteration ["+i+"] using request1 ["+request1+"]  request2 ["+request2+"]");
+            TestLogger.logger.debug(title + "iteration [" + i + "] using request1 [" + request1 +
+                    "]  request2 [" + request2 + "]");
 
             // submit request #1 to the server-side web service that 
             // the web service will keep until we ask for it
@@ -106,7 +108,10 @@
                 req1_result = resp1.get().getMessage();
                 req2_result = resp2.get().getResponse();
             } catch (Exception e) {
-                System.out.println(title+"iteration ["+i+"] using request1 ["+request1+"]  request2 ["+request2+"] :  got exception ["+e.getClass().getName()+"]  ["+e.getMessage()+"] ");
+                TestLogger.logger.debug(
+                        title + "iteration [" + i + "] using request1 [" + request1 +
+                                "]  request2 [" + request2 + "] :  got exception [" +
+                                e.getClass().getName() + "]  [" + e.getMessage() + "] ");
                 e.printStackTrace();
                 fail(e.toString());
             }
@@ -156,11 +161,13 @@
             if (sleepResp != null)
             {
                 req_cb_result = sleepResp.getMessage();
-                System.out.println(title+" request ["+request1+"] :  result ["+req_cb_result+"] ");
+                TestLogger.logger.debug(
+                        title + " request [" + request1 + "] :  result [" + req_cb_result + "] ");
             }
 
         } catch (Exception ex) {
-            System.out.println(title+" request ["+request1+"] :  got exception ["+ex.getClass().getName()+"]  ["+ex.getMessage()+"] ");
+            TestLogger.logger.debug(title + " request [" + request1 + "] :  got exception [" +
+                    ex.getClass().getName() + "]  [" + ex.getMessage() + "] ");
             ex.printStackTrace();
             fail(ex.toString());
         }
@@ -193,7 +200,7 @@
         }
         else
         {
-            System.out.println(title+" No executor service available. Nothing to test.");
+            TestLogger.logger.debug(title + " No executor service available. Nothing to test.");
             return;
         }
 
@@ -203,9 +210,11 @@
 
         String request1 = "sleepAsync_with_Callback_1";
 
-        System.out.println(title+" port.sleepAsync("+request1+", callbackHander1)  #1 being submitted....");
+        TestLogger.logger.debug(title + " port.sleepAsync(" + request1 +
+                ", callbackHander1)  #1 being submitted....");
 		Future<?> sr1 = port.sleepAsync(request1, sleepCallbackHandler1);
-        System.out.println(title+" port.sleepAsync("+request1+", callbackHander1)  #1 .....submitted.");
+        TestLogger.logger.debug(
+                title + " port.sleepAsync(" + request1 + ", callbackHander1)  #1 .....submitted.");
 
         // wait a bit to make sure that the server has the request
         Thread.sleep(1000);
@@ -213,18 +222,20 @@
 		// tell the executor to shutdown immediately, which 
         // attempts to stop all actively executing tasks via Thread.interrupt()
         // and should prevent new tasks from being submitted
-        System.out.println(title+" shutting down executor ["+ex.getClass().getName()+"]");
+        TestLogger.logger
+                .debug(title + " shutting down executor [" + ex.getClass().getName() + "]");
         ex.shutdownNow();
 
         // check the waiting request 
-        System.out.println(title+" port.isAsleep("+request1+") #1 being submitted....");
+        TestLogger.logger.debug(title + " port.isAsleep(" + request1 + ") #1 being submitted....");
         String asleepWithCallback1 = port.isAsleep(request1);
-        System.out.println(title+" port.isAsleep("+request1+") #1 = ["+asleepWithCallback1+"]");
+        TestLogger.logger.debug(
+                title + " port.isAsleep(" + request1 + ") #1 = [" + asleepWithCallback1 + "]");
 
         // wakeup the waiting request
-        System.out.println(title+" port.wakeUp(request1) #1 being submitted....");
+        TestLogger.logger.debug(title + " port.wakeUp(request1) #1 being submitted....");
         String wake1 = port.wakeUp(request1);
-        System.out.println(title+" port.wakeUp("+request1+") #1 = ["+wake1+"]");
+        TestLogger.logger.debug(title + " port.wakeUp(" + request1 + ") #1 = [" + wake1 + "]");
 
         // wait a bit..
         Thread.sleep(2000);
@@ -232,7 +243,7 @@
         // check the Future
         if (sr1.isDone())
         {
-            System.out.println(title+" sr1.isDone[TRUE] ");
+            TestLogger.logger.debug(title + " sr1.isDone[TRUE] ");
         }
 
         // try to get the response
@@ -243,23 +254,30 @@
 
             if (sleepResp1 != null)
             {
-                System.out.println(title+" request ["+request1+"] #1:  sleepResponse [NOT NULL] from callback handler");
+                TestLogger.logger.debug(title + " request [" + request1 +
+                        "] #1:  sleepResponse [NOT NULL] from callback handler");
                 String result1 = sleepResp1.getMessage();
-                System.out.println(title+" request ["+request1+"] #1:  result ["+result1+"] ");
+                TestLogger.logger.debug(
+                        title + " request [" + request1 + "] #1:  result [" + result1 + "] ");
             }
             else
             {
-                System.out.println(title+" request ["+request1+"] #1:  sleepResponse [NULL] from callback handler");
+                TestLogger.logger.debug(title + " request [" + request1 +
+                        "] #1:  sleepResponse [NULL] from callback handler");
 
                 // see what the Future says
-                System.out.println(title+" request ["+request1+"] #1:  ....check Future response...");
+                TestLogger.logger.debug(
+                        title + " request [" + request1 + "] #1:  ....check Future response...");
                 Object futureResult = sr1.get();
-                System.out.println(title+" request ["+request1+"] #1:  ....Future response ["+futureResult+"]...");
+                TestLogger.logger.debug(
+                        title + " request [" + request1 + "] #1:  ....Future response [" +
+                                futureResult + "]...");
             }
 
         } catch (Exception exc) {
 
-            System.out.println(title+" request ["+request1+"] :  got exception ["+exc.getClass().getName()+"]  ["+exc.getMessage()+"] ");
+            TestLogger.logger.debug(title + " request [" + request1 + "] :  got exception [" +
+                    exc.getClass().getName() + "]  [" + exc.getMessage() + "] ");
             gotException = true;
         }
 
@@ -290,9 +308,11 @@
 
         String request1 = "sleepAsync_with_Callback_1";
 
-        System.out.println(title+" port.sleepAsync("+request1+", callbackHander1)  #1 being submitted....");
+        TestLogger.logger.debug(title + " port.sleepAsync(" + request1 +
+                ", callbackHander1)  #1 being submitted....");
 		Future<?> sr1 = port.sleepAsync(request1, sleepCallbackHandler1);
-        System.out.println(title+" port.sleepAsync("+request1+", callbackHander1)  #1 .....submitted.");
+        TestLogger.logger.debug(
+                title + " port.sleepAsync(" + request1 + ", callbackHander1)  #1 .....submitted.");
 
         // wait a bit to make sure that the server has the request
         Thread.sleep(1000);
@@ -300,18 +320,20 @@
 		// tell the executor to shutdown immediately, which 
         // attempts to stop all actively executing tasks via Thread.interrupt()
         // and should prevent new tasks from being submitted
-        System.out.println(title+" shutting down executor ["+ex.getClass().getName()+"]");
+        TestLogger.logger
+                .debug(title + " shutting down executor [" + ex.getClass().getName() + "]");
         ex.shutdownNow();
 
         // check the waiting request 
-        System.out.println(title+" port.isAsleep("+request1+") #1 being submitted....");
+        TestLogger.logger.debug(title + " port.isAsleep(" + request1 + ") #1 being submitted....");
         String asleepWithCallback1 = port.isAsleep(request1);
-        System.out.println(title+" port.isAsleep("+request1+") #1 = ["+asleepWithCallback1+"]");
+        TestLogger.logger.debug(
+                title + " port.isAsleep(" + request1 + ") #1 = [" + asleepWithCallback1 + "]");
 
         // wakeup the waiting request
-        System.out.println(title+" port.wakeUp(request1) #1 being submitted....");
+        TestLogger.logger.debug(title + " port.wakeUp(request1) #1 being submitted....");
         String wake1 = port.wakeUp(request1);
-        System.out.println(title+" port.wakeUp("+request1+") #1 = ["+wake1+"]");
+        TestLogger.logger.debug(title + " port.wakeUp(" + request1 + ") #1 = [" + wake1 + "]");
 
         // wait a bit..
         Thread.sleep(2000);
@@ -319,7 +341,7 @@
         // check the Future
         if (sr1.isDone())
         {
-            System.out.println(title+" sr1.isDone[TRUE] ");
+            TestLogger.logger.debug(title + " sr1.isDone[TRUE] ");
         }
 
         // try to get the response
@@ -330,23 +352,30 @@
 
             if (sleepResp1 != null)
             {
-                System.out.println(title+" request ["+request1+"] #1:  sleepResponse [NOT NULL] from callback handler");
+                TestLogger.logger.debug(title + " request [" + request1 +
+                        "] #1:  sleepResponse [NOT NULL] from callback handler");
                 String result1 = sleepResp1.getMessage();
-                System.out.println(title+" request ["+request1+"] #1:  result ["+result1+"] ");
+                TestLogger.logger.debug(
+                        title + " request [" + request1 + "] #1:  result [" + result1 + "] ");
             }
             else
             {
-                System.out.println(title+" request ["+request1+"] #1:  sleepResponse [NULL] from callback handler");
+                TestLogger.logger.debug(title + " request [" + request1 +
+                        "] #1:  sleepResponse [NULL] from callback handler");
 
                 // see what the Future says
-                System.out.println(title+" request ["+request1+"] #1:  ....check Future response...");
+                TestLogger.logger.debug(
+                        title + " request [" + request1 + "] #1:  ....check Future response...");
                 Object futureResult = sr1.get();
-                System.out.println(title+" request ["+request1+"] #1:  ....Future response ["+futureResult+"]...");
+                TestLogger.logger.debug(
+                        title + " request [" + request1 + "] #1:  ....Future response [" +
+                                futureResult + "]...");
             }
 
         } catch (Exception exc) {
 
-            System.out.println(title+" request ["+request1+"] :  got exception ["+exc.getClass().getName()+"]  ["+exc.getMessage()+"] ");
+            TestLogger.logger.debug(title + " request [" + request1 + "] :  got exception [" +
+                    exc.getClass().getName() + "]  [" + exc.getMessage() + "] ");
             gotException = true;
         }
 
@@ -376,12 +405,13 @@
             // tell the executor to shutdown immediately, which 
             // attempts to stop all actively executing tasks via Thread.interrupt()
             // and should prevent new tasks from being submitted
-            System.out.println(title+" shutting down executor ["+ex.getClass().getName()+"]");
+            TestLogger.logger
+                    .debug(title + " shutting down executor [" + ex.getClass().getName() + "]");
             ex.shutdownNow();
         }
         else
         {
-            System.out.println(title+" No executor service available. Nothing to test.");
+            TestLogger.logger.debug(title + " No executor service available. Nothing to test.");
             return;
         }
 
@@ -395,13 +425,16 @@
         try
         {
             // submit a request to the server that will wait until we ask for it
-            System.out.println(title+" port.sleepAsync("+request1+", callbackHander1)  #1 being submitted....");
+            TestLogger.logger.debug(title + " port.sleepAsync(" + request1 +
+                    ", callbackHander1)  #1 being submitted....");
             sr1 = port.sleepAsync(request1, sleepCallbackHandler1);
-            System.out.println(title+" port.sleepAsync("+request1+", callbackHander1)  #1 .....submitted.");
+            TestLogger.logger.debug(title + " port.sleepAsync(" + request1 +
+                    ", callbackHander1)  #1 .....submitted.");
         }
         catch (Exception exc)
         {
-            System.out.println(title+" request ["+request1+"] :  got exception ["+exc.getClass().getName()+"]  ["+exc.getMessage()+"] ");
+            TestLogger.logger.debug(title + " request [" + request1 + "] :  got exception [" +
+                    exc.getClass().getName() + "]  [" + exc.getMessage() + "] ");
             gotRequestException = true;
         }
 
@@ -412,9 +445,9 @@
         if (!gotRequestException)
         {
             // wakeup the waiting request
-            System.out.println(title+" port.wakeUp(request1) #1 being submitted....");
+            TestLogger.logger.debug(title + " port.wakeUp(request1) #1 being submitted....");
             String wake1 = port.wakeUp(request1);
-            System.out.println(title+" port.wakeUp("+request1+") #1 = ["+wake1+"]");
+            TestLogger.logger.debug(title + " port.wakeUp(" + request1 + ") #1 = [" + wake1 + "]");
 
             // try to get the response
             try {
@@ -423,23 +456,29 @@
 
                 if (sleepResp1 != null)
                 {
-                    System.out.println(title+" request ["+request1+"] #1:  sleepResponse [NOT NULL] from callback handler");
+                    TestLogger.logger.debug(title + " request [" + request1 +
+                            "] #1:  sleepResponse [NOT NULL] from callback handler");
                     String result1 = sleepResp1.getMessage();
-                    System.out.println(title+" request ["+request1+"] #1:  result ["+result1+"] ");
+                    TestLogger.logger.debug(
+                            title + " request [" + request1 + "] #1:  result [" + result1 + "] ");
                 }
                 else
                 {
-                    System.out.println(title+" request ["+request1+"] #1:  sleepResponse [NULL] from callback handler");
+                    TestLogger.logger.debug(title + " request [" + request1 +
+                            "] #1:  sleepResponse [NULL] from callback handler");
 
                     // see what the Future says
-                    System.out.println(title+" request ["+request1+"] #1:  ....check Future response...");
+                    TestLogger.logger.debug(title + " request [" + request1 +
+                            "] #1:  ....check Future response...");
                     Object futureResult = sr1.get();
-                    System.out.println(title+" request ["+request1+"] #1:  ....Future response ["+futureResult+"]...");
+                    TestLogger.logger.debug(title + " request [" + request1 +
+                            "] #1:  ....Future response [" + futureResult + "]...");
                 }
 
             } catch (Exception exc) {
 
-                System.out.println(title+" request ["+request1+"] :  got exception ["+exc.getClass().getName()+"]  ["+exc.getMessage()+"] ");
+                TestLogger.logger.debug(title + " request [" + request1 + "] :  got exception [" +
+                        exc.getClass().getName() + "]  [" + exc.getMessage() + "] ");
                 gotResponseException = true;
             }
         }
@@ -495,11 +534,11 @@
         
         if (service.getExecutor() == null)
         {
-            System.out.println(myClassName+" : getService() : executor is null");
+            TestLogger.logger.debug(myClassName + " : getService() : executor is null");
         }
         else
         {
-            System.out.println(myClassName+" : getService() : executor is available ");
+            TestLogger.logger.debug(myClassName + " : getService() : executor is available ");
         }
 
         return service;

Added: webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/StringListTests.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/StringListTests.java?view=auto&rev=532615
==============================================================================
--- webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/StringListTests.java (added)
+++ webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/StringListTests.java Wed Apr 25 22:19:23 2007
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *      
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.axis2.jaxws.sample;
+
+import org.apache.axis2.jaxws.stringlist.sei.StringListPortType;
+import org.apache.axis2.jaxws.stringlist.sei.StringListService;
+import org.apache.axis2.jaxws.TestLogger;
+
+import junit.framework.TestCase;
+
+
+public class StringListTests extends TestCase{
+    public void testStringListScenario() throws Exception {
+        TestLogger.logger.debug("----------------------------------");
+        TestLogger.logger.debug("test: " + getName());
+        StringListService sls = new StringListService();
+        StringListPortType portType =sls.getStringListPort();
+        String[] retString = portType.stringList(new String[]{"String1","String2","String3"});
+        assertNotNull(retString);
+        assertTrue(retString.length == 3);
+    }
+}

Modified: webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/WSGenTests.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/WSGenTests.java?view=diff&rev=532615&r1=532614&r2=532615
==============================================================================
--- webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/WSGenTests.java (original)
+++ webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/WSGenTests.java Wed Apr 25 22:19:23 2007
@@ -23,6 +23,7 @@
 import junit.framework.TestCase;
 import org.apache.axis2.jaxws.sample.wsgen.client.WSGenService;
 import org.apache.axis2.jaxws.sample.wsgen.client.WSGenInterface;
+import org.apache.axis2.jaxws.TestLogger;
 
 public class WSGenTests extends TestCase {
     
@@ -30,8 +31,8 @@
     
     public void testWSGen() {
         try{
-            System.out.println("----------------------------------");
-            System.out.println("test: " + getName());
+            TestLogger.logger.debug("----------------------------------");
+            TestLogger.logger.debug("test: " + getName());
             
             WSGenService service = new WSGenService();
             WSGenInterface proxy = service.getWSGenPort();
@@ -41,10 +42,10 @@
                     axisEndpoint);  
             String outString = "this is a wonderful test";
             String s = proxy.echoString(outString);
-            
-            System.out.println("String s = " + s);
+
+            TestLogger.logger.debug("String s = " + s);
             assertEquals(outString, s);
-            System.out.println("----------------------------------");
+            TestLogger.logger.debug("----------------------------------");
         } catch(Exception e) {
             e.printStackTrace();
             fail("We should not get an exception, but we did");

Modified: webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/WrapTests.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/WrapTests.java?view=diff&rev=532615&r1=532614&r2=532615
==============================================================================
--- webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/WrapTests.java (original)
+++ webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/WrapTests.java Wed Apr 25 22:19:23 2007
@@ -8,6 +8,7 @@
 import junit.framework.TestCase;
 import org.apache.axis2.jaxws.sample.wrap.sei.DocLitWrap;
 import org.apache.axis2.jaxws.sample.wrap.sei.DocLitWrapService;
+import org.apache.axis2.jaxws.TestLogger;
 import org.test.sample.wrap.Header;
 import org.test.sample.wrap.HeaderPart0;
 import org.test.sample.wrap.HeaderPart1;
@@ -32,15 +33,15 @@
 	}
 	
 	public void testTwoWaySync(){
-		System.out.println("------------------------------");
-		System.out.println("Test : "+getName());
+        TestLogger.logger.debug("------------------------------");
+        TestLogger.logger.debug("Test : " + getName());
 		try{
 			String reqString = "Test twoWay Sync";
 			DocLitWrapService service = new DocLitWrapService();
 			DocLitWrap proxy = service.getDocLitWrapPort();
 			String response = proxy.twoWay(reqString);
-			System.out.println("Sync Response =" + response);
-			System.out.println("------------------------------");
+            TestLogger.logger.debug("Sync Response =" + response);
+            TestLogger.logger.debug("------------------------------");
 		}catch(Exception e){
 			e.printStackTrace();
 			fail();
@@ -48,15 +49,15 @@
 	}
 	
 	public void testOneWayVoidWithNoInputParams(){
-		System.out.println("------------------------------");
-		System.out.println("Test : "+getName());
+        TestLogger.logger.debug("------------------------------");
+        TestLogger.logger.debug("Test : " + getName());
 		try{
 			
 			DocLitWrapService service = new DocLitWrapService();
 			DocLitWrap proxy = service.getDocLitWrapPort();
 			proxy.oneWayVoid();
-			
-			System.out.println("------------------------------");
+
+            TestLogger.logger.debug("------------------------------");
 		}catch(Exception e){
 			e.printStackTrace();
 			fail();
@@ -64,8 +65,8 @@
 	}
 	
 	public void testTwoWayHolder(){
-		System.out.println("------------------------------");
-		System.out.println("Test : "+getName());
+        TestLogger.logger.debug("------------------------------");
+        TestLogger.logger.debug("Test : " + getName());
 		try{
 			String holderString = new String("Test twoWay Sync");
 			Integer holderInteger = new Integer(0);
@@ -74,9 +75,9 @@
 			DocLitWrapService service = new DocLitWrapService();
 			DocLitWrap proxy = service.getDocLitWrapPort();
 			proxy.twoWayHolder(strHolder, intHolder);
-			System.out.println("Holder Response String =" + strHolder.value);;
-			System.out.println("Holder Response Integer ="+ intHolder.value);
-			System.out.println("------------------------------");
+            TestLogger.logger.debug("Holder Response String =" + strHolder.value);;
+            TestLogger.logger.debug("Holder Response Integer =" + intHolder.value);
+            TestLogger.logger.debug("------------------------------");
 		}catch(Exception e){
 			e.printStackTrace();
 			fail();
@@ -84,8 +85,8 @@
 	}
 	
 	public void testTwoWayWithHeadersAndHolders(){
-		System.out.println("------------------------------");
-		System.out.println("Test : "+getName());
+        TestLogger.logger.debug("------------------------------");
+        TestLogger.logger.debug("Test : " + getName());
 		try{
 			Header header = new Header();
 			header.setOut(0);
@@ -98,9 +99,9 @@
 			DocLitWrap proxy = service.getDocLitWrapPort();
 			HeaderResponse hr = proxy.header(header, holder, hp1);
 			hp0=holder.value;
-			System.out.println("Holder Response String =" + hp0.getHeaderType());
-			System.out.println("Header Response Long =" + hr.getOut());
-			System.out.println("------------------------------");
+            TestLogger.logger.debug("Holder Response String =" + hp0.getHeaderType());
+            TestLogger.logger.debug("Header Response Long =" + hr.getOut());
+            TestLogger.logger.debug("------------------------------");
 		}catch(Exception e){
 			e.printStackTrace();
 			fail();
@@ -108,8 +109,8 @@
 	}
 
 	public void testTwoWayHolderAsync(){
-		System.out.println("------------------------------");
-		System.out.println("Test : "+getName());
+        TestLogger.logger.debug("------------------------------");
+        TestLogger.logger.debug("Test : " + getName());
 		try{
 			String holderString = new String("Test twoWay Sync");
 			Integer holderInteger = new Integer(0);
@@ -118,9 +119,9 @@
 			DocLitWrapService service = new DocLitWrapService();
 			DocLitWrap proxy = service.getDocLitWrapPort();
 			proxy.twoWayHolder(strHolder, intHolder);
-			System.out.println("Holder Response String =" + strHolder.value);;
-			System.out.println("Holder Response Integer ="+ intHolder.value);
-			System.out.println("------------------------------");
+            TestLogger.logger.debug("Holder Response String =" + strHolder.value);;
+            TestLogger.logger.debug("Holder Response Integer =" + intHolder.value);
+            TestLogger.logger.debug("------------------------------");
 		}catch(Exception e){
 			e.printStackTrace();
 			fail();
@@ -133,8 +134,8 @@
      * annotations and WSGEN.  WSImport will not allow this.
      */
     public void testEchoStringWSGEN1() {
-        System.out.println("------------------------------");
-        System.out.println("Test : "+getName());
+        TestLogger.logger.debug("------------------------------");
+        TestLogger.logger.debug("Test : " + getName());
         try{
             String request = "hello world";
             
@@ -142,7 +143,7 @@
             DocLitWrap proxy = service.getDocLitWrapPort();
             String response = proxy.echoStringWSGEN1(request);
             assertTrue(response.equals(request));
-            System.out.println("------------------------------");
+            TestLogger.logger.debug("------------------------------");
         }catch(Exception e){
             e.printStackTrace();
             fail();
@@ -156,8 +157,8 @@
      */
     
     public void testEchoStringWSGEN2() {
-        System.out.println("------------------------------");
-        System.out.println("Test : "+getName());
+        TestLogger.logger.debug("------------------------------");
+        TestLogger.logger.debug("Test : " + getName());
         try{
             String request = "hello world 2";
             
@@ -165,7 +166,7 @@
             DocLitWrap proxy = service.getDocLitWrapPort();
             String response = proxy.echoStringWSGEN2(request);
             assertTrue(response.equals(request));
-            System.out.println("------------------------------");
+            TestLogger.logger.debug("------------------------------");
         }catch(Exception e){
             e.printStackTrace();
             fail();

Modified: webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbers/AddNumbersPortTypeImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbers/AddNumbersPortTypeImpl.java?view=diff&rev=532615&r1=532614&r2=532615
==============================================================================
--- webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbers/AddNumbersPortTypeImpl.java (original)
+++ webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbers/AddNumbersPortTypeImpl.java Wed Apr 25 22:19:23 2007
@@ -18,6 +18,8 @@
  */
 package org.apache.axis2.jaxws.sample.addnumbers;
 
+import org.apache.axis2.jaxws.TestLogger;
+
 import javax.jws.WebService;
 
 
@@ -28,7 +30,7 @@
 	 * @see org.apache.axis2.jaxws.sample.addnumbers.AddNumbersPortType#addNumbers(int, int)
 	 */
 	public int addNumbers(int arg0, int arg1) throws AddNumbersFault_Exception {
-	    System.out.println(">> Received addNumbers request for " + arg0 + " and " + arg1);
+        TestLogger.logger.debug(">> Received addNumbers request for " + arg0 + " and " + arg1);
         return arg0+arg1;
 	}
 
@@ -36,7 +38,7 @@
 	 * @see org.apache.axis2.jaxws.sample.addnumbers.AddNumbersPortType#oneWayInt(int)
 	 */
 	public void oneWayInt(int arg0) {
-	    System.out.println(">> Received one-way request.");
+        TestLogger.logger.debug(">> Received one-way request.");
         return;
 	}
 

Added: webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/AddNumbersClientLogicalHandler.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/AddNumbersClientLogicalHandler.java?view=auto&rev=532615
==============================================================================
--- webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/AddNumbersClientLogicalHandler.java (added)
+++ webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/AddNumbersClientLogicalHandler.java Wed Apr 25 22:19:23 2007
@@ -0,0 +1,90 @@
+package org.apache.axis2.jaxws.sample.addnumbershandler;
+
+import java.io.ByteArrayOutputStream;
+import java.io.StringBufferInputStream;
+import java.util.StringTokenizer;
+
+import javax.xml.transform.OutputKeys;
+import javax.xml.transform.Source;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.stream.StreamResult;
+import javax.xml.transform.stream.StreamSource;
+import javax.xml.ws.LogicalMessage;
+import javax.xml.ws.ProtocolException;
+import javax.xml.ws.handler.MessageContext;
+
+import org.apache.axis2.jaxws.handler.LogicalMessageContext;
+
+/*
+ * You can't actually specify whether a handler is for client or server,
+ * you just have to check in the handleMessage and/or handleFault to make
+ * sure what direction we're going.
+ */
+
+public class AddNumbersClientLogicalHandler implements javax.xml.ws.handler.LogicalHandler<LogicalMessageContext> {
+
+    public void close(MessageContext messagecontext) {
+    }
+
+    public boolean handleFault(LogicalMessageContext messagecontext) {
+        return true;
+    }
+
+    public boolean handleMessage(LogicalMessageContext messagecontext) {
+        Boolean outbound = (Boolean)messagecontext.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY);
+        if (!outbound) {  // inbound response on the client
+            LogicalMessage msg = messagecontext.getMessage();
+            String st = getStringFromSourcePayload(msg.getPayload());
+            String txt = String.valueOf(Integer.valueOf(getFirstArg(st)) - 1);
+            st = replaceFirstArg(st, txt);
+            msg.setPayload(new StreamSource(new StringBufferInputStream(st)));
+        }
+        else {
+            LogicalMessage msg = messagecontext.getMessage();
+            
+            Source s = msg.getPayload();
+            s = msg.getPayload();
+            
+            String st = getStringFromSourcePayload(msg.getPayload());
+            if (st.contains("<arg0>99</arg0>"))
+                throw new ProtocolException("I don't like the value 99");
+        }
+        return true;
+    }
+    
+    private static String getFirstArg(String payloadString) {
+        StringTokenizer st = new StringTokenizer(payloadString, ">");
+        st.nextToken();  // skip first token.
+        st.nextToken();  // skip second
+        String tempString = st.nextToken();
+        String returnString = new StringTokenizer(tempString, "<").nextToken();
+        return returnString;
+    }
+    
+    private static String replaceFirstArg(String payloadString, String newArg) {
+        String firstArg = getFirstArg(payloadString);
+        payloadString = payloadString.replaceFirst(firstArg, newArg);
+        return payloadString;
+    }
+    
+    private static String getStringFromSourcePayload(Source payload) {
+        try {
+
+            TransformerFactory factory = TransformerFactory.newInstance();
+            Transformer trans = factory.newTransformer();
+
+            ByteArrayOutputStream baos = new ByteArrayOutputStream();
+            StreamResult result = new StreamResult(baos);
+
+            trans.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
+            trans.transform(payload, result);
+
+            return new String(baos.toByteArray());
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+
+    }
+
+}

Added: webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/AddNumbersClientLogicalHandler2.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/AddNumbersClientLogicalHandler2.java?view=auto&rev=532615
==============================================================================
--- webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/AddNumbersClientLogicalHandler2.java (added)
+++ webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/AddNumbersClientLogicalHandler2.java Wed Apr 25 22:19:23 2007
@@ -0,0 +1,78 @@
+package org.apache.axis2.jaxws.sample.addnumbershandler;
+
+import java.io.ByteArrayOutputStream;
+import java.io.StringBufferInputStream;
+import java.util.StringTokenizer;
+
+import javax.xml.transform.OutputKeys;
+import javax.xml.transform.Source;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.stream.StreamResult;
+import javax.xml.transform.stream.StreamSource;
+import javax.xml.ws.LogicalMessage;
+import javax.xml.ws.handler.MessageContext;
+
+import org.apache.axis2.jaxws.handler.LogicalMessageContext;
+
+/*
+ * You can't actually specify whether a handler is for client or server,
+ * you just have to check in the handleMessage and/or handleFault to make
+ * sure what direction we're going.
+ */
+
+public class AddNumbersClientLogicalHandler2 implements javax.xml.ws.handler.LogicalHandler<LogicalMessageContext> {
+
+    public void close(MessageContext messagecontext) {
+    }
+
+    public boolean handleFault(LogicalMessageContext messagecontext) {
+        return true;
+    }
+
+    public boolean handleMessage(LogicalMessageContext messagecontext) {
+        Boolean outbound = (Boolean)messagecontext.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY);
+        if (outbound) {  // outbound request on the client
+            LogicalMessage msg = messagecontext.getMessage();
+            Source payload = msg.getPayload();
+            String st = getStringFromSourcePayload(payload);
+            String txt = String.valueOf(Integer.valueOf(getFirstArg(st)) * 2);
+            st = replaceFirstArg(st, txt);
+            msg.setPayload(new StreamSource(new StringBufferInputStream(st)));
+        }
+        return true;
+    }
+    
+    private static String getFirstArg(String payloadString) {
+        StringTokenizer st = new StringTokenizer(payloadString, ">");
+        st.nextToken();  // skip first token.
+        st.nextToken();  // skip second
+        String tempString = st.nextToken();
+        String returnString = new StringTokenizer(tempString, "<").nextToken();
+        return returnString;
+    }
+    
+    private static String replaceFirstArg(String payloadString, String newArg) {
+        String firstArg = getFirstArg(payloadString);
+        payloadString = payloadString.replaceFirst(firstArg, newArg);
+        return payloadString;
+    }
+    
+    private static String getStringFromSourcePayload(Source payload) {
+        try {
+
+            TransformerFactory factory = TransformerFactory.newInstance();
+            Transformer trans = factory.newTransformer();
+
+            ByteArrayOutputStream baos = new ByteArrayOutputStream();
+            StreamResult result = new StreamResult(baos);
+
+            trans.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
+            trans.transform(payload, result);
+
+            return new String(baos.toByteArray());
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
+}

Added: webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/AddNumbersClientLogicalHandler3.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/AddNumbersClientLogicalHandler3.java?view=auto&rev=532615
==============================================================================
--- webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/AddNumbersClientLogicalHandler3.java (added)
+++ webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/AddNumbersClientLogicalHandler3.java Wed Apr 25 22:19:23 2007
@@ -0,0 +1,56 @@
+package org.apache.axis2.jaxws.sample.addnumbershandler;
+
+import org.apache.axis2.jaxws.handler.LogicalMessageContext;
+
+import javax.xml.transform.OutputKeys;
+import javax.xml.transform.Source;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.stream.StreamResult;
+import javax.xml.ws.LogicalMessage;
+import javax.xml.ws.handler.MessageContext;
+
+import java.io.ByteArrayOutputStream;
+
+/*
+ * You can't actually specify whether a handler is for client or server,
+ * you just have to check in the handleMessage and/or handleFault to make
+ * sure what direction we're going.
+ */
+
+public class AddNumbersClientLogicalHandler3  implements javax.xml.ws.handler.LogicalHandler<LogicalMessageContext> {
+
+    public void close(MessageContext messagecontext) {
+        // TODO Auto-generated method stub        
+    }
+
+    public boolean handleFault(LogicalMessageContext messagecontext) {
+        // let's see if we can do this
+        LogicalMessage lm = messagecontext.getMessage();
+        String s = getStringFromSourcePayload(lm.getPayload());
+        return false;
+    }
+
+    public boolean handleMessage(LogicalMessageContext mc) {
+        return true;
+    }
+    
+    private static String getStringFromSourcePayload(Source payload) {
+        try {
+
+            TransformerFactory factory = TransformerFactory.newInstance();
+            Transformer trans = factory.newTransformer();
+
+            ByteArrayOutputStream baos = new ByteArrayOutputStream();
+            StreamResult result = new StreamResult(baos);
+
+            trans.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
+            trans.transform(payload, result);
+
+            return new String(baos.toByteArray());
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+
+    }
+}

Added: webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/AddNumbersClientLogicalHandler4.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/AddNumbersClientLogicalHandler4.java?view=auto&rev=532615
==============================================================================
--- webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/AddNumbersClientLogicalHandler4.java (added)
+++ webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/AddNumbersClientLogicalHandler4.java Wed Apr 25 22:19:23 2007
@@ -0,0 +1,27 @@
+package org.apache.axis2.jaxws.sample.addnumbershandler;
+
+import javax.xml.ws.handler.MessageContext;
+
+import org.apache.axis2.jaxws.handler.LogicalMessageContext;
+
+/*
+ * You can't actually specify whether a handler is for client or server,
+ * you just have to check in the handleMessage and/or handleFault to make
+ * sure what direction we're going.
+ */
+
+public class AddNumbersClientLogicalHandler4  implements javax.xml.ws.handler.LogicalHandler<LogicalMessageContext> {
+
+    public void close(MessageContext messagecontext) {
+        // TODO Auto-generated method stub        
+    }
+
+    public boolean handleFault(LogicalMessageContext messagecontext) {
+        return true;
+    }
+
+    public boolean handleMessage(LogicalMessageContext mc) {
+        return true;
+    }
+    
+}

Added: webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/AddNumbersClientProtocolHandler.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/AddNumbersClientProtocolHandler.java?view=auto&rev=532615
==============================================================================
--- webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/AddNumbersClientProtocolHandler.java (added)
+++ webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/AddNumbersClientProtocolHandler.java Wed Apr 25 22:19:23 2007
@@ -0,0 +1,31 @@
+package org.apache.axis2.jaxws.sample.addnumbershandler;
+
+import java.util.Set;
+
+import javax.xml.ws.handler.MessageContext;
+import javax.xml.ws.handler.soap.SOAPMessageContext;
+
+/*
+ * You can't actually specify whether a handler is for client or server,
+ * you just have to check in the handleMessage and/or handleFault to make
+ * sure what direction we're going.
+ */
+
+public class AddNumbersClientProtocolHandler implements javax.xml.ws.handler.soap.SOAPHandler<SOAPMessageContext> {
+
+    public void close(MessageContext messagecontext) {
+    }
+
+    public boolean handleFault(SOAPMessageContext messagecontext) {
+        return true;
+    }
+
+    public Set getHeaders() {
+        return null;
+    }
+
+    public boolean handleMessage(SOAPMessageContext messagecontext) {
+        return true;
+    }
+
+}

Modified: webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/AddNumbersHandlerPortType.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/AddNumbersHandlerPortType.java?view=diff&rev=532615&r1=532614&r2=532615
==============================================================================
--- webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/AddNumbersHandlerPortType.java (original)
+++ webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/AddNumbersHandlerPortType.java Wed Apr 25 22:19:23 2007
@@ -1,14 +1,18 @@
 
 package org.apache.axis2.jaxws.sample.addnumbershandler;
 
+import java.util.concurrent.Future;
+import javax.jws.HandlerChain;
 import javax.jws.Oneway;
 import javax.jws.WebMethod;
 import javax.jws.WebParam;
 import javax.jws.WebResult;
 import javax.jws.WebService;
+import javax.xml.ws.AsyncHandler;
 import javax.xml.ws.RequestWrapper;
 import javax.xml.ws.ResponseWrapper;
 
+import org.test.addnumbershandler.AddNumbersHandlerResponse;
 
 
 
@@ -19,6 +23,7 @@
  * 
  */
 @WebService(name = "AddNumbersHandlerPortType", targetNamespace = "http://org/test/addnumbershandler")
+//@HandlerChain(file="META-INF/AddNumbersClientHandlers.xml", name="")
 public interface AddNumbersHandlerPortType {
 
 
@@ -42,6 +47,25 @@
         throws AddNumbersHandlerFault_Exception
     ;
 
+    /**
+     * 
+     * @param asyncHandler
+     * @param arg0
+     * @return
+     *     returns java.util.concurrent.Future<? extends java.lang.Object>
+     */
+    @WebMethod
+    @RequestWrapper(localName = "addNumbersHandler", targetNamespace = "http://org/test/addnumbershandler", className = "org.test.addnumbershandler.AddNumbersHandler")
+    @ResponseWrapper(localName = "addNumbersHandlerResponse", targetNamespace = "http://org/test/addnumbershandler", className = "org.test.addnumbershandler.AddNumbersHandlerResponse")
+    public Future<?> addNumbersHandlerAsync(
+            @WebParam(name = "arg0", targetNamespace = "http://org/test/addnumbershandler")
+            int arg0,
+            @WebParam(name = "arg1", targetNamespace = "http://org/test/addnumbershandler")
+            int arg1,
+        @WebParam(name = "asyncHandler", targetNamespace = "")
+        AsyncHandler<AddNumbersHandlerResponse> asyncHandler);
+
+    
     /**
      * 
      * @param arg0

Modified: webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/AddNumbersHandlerPortTypeImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/AddNumbersHandlerPortTypeImpl.java?view=diff&rev=532615&r1=532614&r2=532615
==============================================================================
--- webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/AddNumbersHandlerPortTypeImpl.java (original)
+++ webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/AddNumbersHandlerPortTypeImpl.java Wed Apr 25 22:19:23 2007
@@ -18,8 +18,12 @@
  */
 package org.apache.axis2.jaxws.sample.addnumbershandler;
 
+import java.util.concurrent.Future;
 import javax.jws.WebService;
 import javax.jws.HandlerChain;
+import javax.xml.ws.AsyncHandler;
+import org.test.addnumbershandler.AddNumbersHandlerResponse;
+import org.apache.axis2.jaxws.TestLogger;
 
 
 @WebService(endpointInterface="org.apache.axis2.jaxws.sample.addnumbershandler.AddNumbersHandlerPortType")
@@ -30,15 +34,24 @@
 	 * @see org.apache.axis2.jaxws.sample.addnumbershandler.AddNumbersHandlerPortType#addNumbersHandler(int, int)
 	 */
 	public int addNumbersHandler(int arg0, int arg1) throws AddNumbersHandlerFault_Exception {
-	    System.out.println(">> Received addNumbersHandler request for " + arg0 + " and " + arg1);
+        TestLogger.logger
+                .debug(">> Received addNumbersHandler request for " + arg0 + " and " + arg1);
+        if (arg0 == 101)
+            throw new RuntimeException("blarg");
         return arg0+arg1;
 	}
 
+	public Future<?> addNumbersHandlerAsync(int arg0, int arg1, AsyncHandler<AddNumbersHandlerResponse> asyncHandler) {
+        return null;
+    }
+
+
+
 	/* (non-Javadoc)
 	 * @see org.apache.axis2.jaxws.sample.addnumbershandler.AddNumbersHandlerPortType#oneWayInt(int)
 	 */
 	public void oneWayInt(int arg0) {
-	    System.out.println(">> Received one-way request.");
+        TestLogger.logger.debug(">> Received one-way request.");
         return;
 	}
 

Modified: webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/AddNumbersLogicalHandler.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/AddNumbersLogicalHandler.java?view=diff&rev=532615&r1=532614&r2=532615
==============================================================================
--- webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/AddNumbersLogicalHandler.java (original)
+++ webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/AddNumbersLogicalHandler.java Wed Apr 25 22:19:23 2007
@@ -1,59 +1,99 @@
-package org.apache.axis2.jaxws.sample.addnumbershandler;
-
-import javax.xml.soap.SOAPMessage;
-import javax.xml.soap.SOAPPart;
-import javax.xml.ws.ProtocolException;
-import javax.xml.ws.handler.MessageContext;
-
-import org.apache.axis2.jaxws.handler.SoapMessageContext;
-
-public class AddNumbersLogicalHandler implements javax.xml.ws.handler.LogicalHandler {
-
-    public void close(MessageContext messagecontext) {
-        // TODO Auto-generated method stub
-        
-    }
-
-    public boolean handleFault(MessageContext messagecontext) {
-        Boolean outbound = (Boolean)messagecontext.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY);
-        if (outbound) {  // outbound response if we're on the server
-            SOAPMessage msg = ((SoapMessageContext)messagecontext).getMessage();
-            SOAPPart part = msg.getSOAPPart();
-            part.getFirstChild().getFirstChild().getFirstChild().setTextContent("a handler was here");
-        }
-        return true;
-    }
-
-    /*
-     * this test handleMessage method is obviously not what a customer might write, but it does
-     * the trick for kicking the tires in the handler framework.  The AddNumbers service takes two
-     * ints as incoming params, adds them, and returns the sum.  This method subtracts 1 from the 
-     * first int on the inbound request, and subtracts 1 from the int on the outbound response.
-     * So the client app should expect a sum 2 less than a sum without this handler manipulating
-     * the SOAP message.
-     */
-    public boolean handleMessage(MessageContext messagecontext) {
-        Boolean outbound = (Boolean)messagecontext.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY);
-        if (!outbound) {  // inbound request if we're on the server
-            SOAPMessage msg = ((SoapMessageContext)messagecontext).getMessage();
-            SOAPPart part = msg.getSOAPPart();
-            // hack-ish change, but it's for testing, so who cares.
-            String txt = part.getFirstChild().getFirstChild().getFirstChild().getFirstChild().getTextContent();
-            if (txt.equals("99")) {
-                throw new ProtocolException("I don't like the value 99");
-            }
-            txt = String.valueOf(Integer.valueOf(txt) - 1);
-            part.getFirstChild().getFirstChild().getFirstChild().getFirstChild().setTextContent(txt);
-            return true;
-        } else { // outbound response if we're on the server
-            SOAPMessage msg = ((SoapMessageContext)messagecontext).getMessage();
-            SOAPPart part = msg.getSOAPPart();
-            // hack-ish change, but it's for testing, so who cares.
-            String txt = part.getFirstChild().getFirstChild().getFirstChild().getTextContent();
-            txt = String.valueOf(Integer.valueOf(txt) - 1);
-            part.getFirstChild().getFirstChild().getFirstChild().getFirstChild().setTextContent(txt);
-            return true;
-        }
-    }
-
-}
+package org.apache.axis2.jaxws.sample.addnumbershandler;
+
+import java.io.ByteArrayOutputStream;
+import java.io.StringBufferInputStream;
+import java.util.StringTokenizer;
+import java.util.regex.Pattern;
+
+import javax.annotation.PostConstruct;
+import javax.xml.transform.OutputKeys;
+import javax.xml.transform.Source;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.stream.StreamResult;
+import javax.xml.transform.stream.StreamSource;
+import javax.xml.ws.LogicalMessage;
+import javax.xml.ws.ProtocolException;
+import javax.xml.ws.handler.MessageContext;
+
+import org.apache.axis2.jaxws.handler.LogicalMessageContext;
+
+public class AddNumbersLogicalHandler implements javax.xml.ws.handler.LogicalHandler<LogicalMessageContext> {
+
+    private int deduction = 1;
+    
+    public void close(MessageContext messagecontext) {
+        
+    }
+    
+    @PostConstruct
+    public void postConstruct() {
+        deduction = 2;
+    }
+
+    public boolean handleFault(LogicalMessageContext messagecontext) {
+        return true;
+    }
+
+    /*
+     * this test handleMessage method is obviously not what a customer might write, but it does
+     * the trick for kicking the tires in the handler framework.  The AddNumbers service takes two
+     * ints as incoming params, adds them, and returns the sum.  This method subtracts 1 from the 
+     * first int on the inbound request, and subtracts 1 from the int on the outbound response.
+     * So the client app should expect a sum 2 less than a sum without this handler manipulating
+     * the SOAP message.
+     */
+    public boolean handleMessage(LogicalMessageContext messagecontext) {
+        Boolean outbound = (Boolean)messagecontext.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY);
+        if (!outbound) {  // inbound request if we're on the server
+            LogicalMessage msg = messagecontext.getMessage();
+            String st = getStringFromSourcePayload(msg.getPayload());
+            if (st.contains("<arg0>99</arg0>"))
+                throw new ProtocolException("I don't like the value 99");
+            String txt = String.valueOf(Integer.valueOf(getFirstArg(st)) - 1);
+            st = replaceFirstArg(st, txt);
+            msg.setPayload(new StreamSource(new StringBufferInputStream(st)));
+            
+        } else { // outbound response if we're on the server
+            LogicalMessage msg = messagecontext.getMessage();
+            String st = getStringFromSourcePayload(msg.getPayload());
+            String txt = String.valueOf(Integer.valueOf(getFirstArg(st)) - deduction);
+            st = replaceFirstArg(st, txt);
+            msg.setPayload(new StreamSource(new StringBufferInputStream(st)));
+        }
+        return true;
+    }
+    
+    private static String getFirstArg(String payloadString) {
+        StringTokenizer st = new StringTokenizer(payloadString, ">");
+        st.nextToken();  // skip first token.
+        st.nextToken();  // skip second
+        String tempString = st.nextToken();
+        String returnString = new StringTokenizer(tempString, "<").nextToken();
+        return returnString;
+    }
+    
+    private static String replaceFirstArg(String payloadString, String newArg) {
+        String firstArg = getFirstArg(payloadString);
+        payloadString = payloadString.replaceFirst(firstArg, newArg);
+        return payloadString;
+    }
+    
+    private static String getStringFromSourcePayload(Source payload) {
+        try {
+
+            TransformerFactory factory = TransformerFactory.newInstance();
+            Transformer trans = factory.newTransformer();
+
+            ByteArrayOutputStream baos = new ByteArrayOutputStream();
+            StreamResult result = new StreamResult(baos);
+
+            trans.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
+            trans.transform(payload, result);
+
+            return new String(baos.toByteArray());
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
+}

Modified: webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/AddNumbersLogicalHandler2.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/AddNumbersLogicalHandler2.java?view=diff&rev=532615&r1=532614&r2=532615
==============================================================================
--- webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/AddNumbersLogicalHandler2.java (original)
+++ webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/AddNumbersLogicalHandler2.java Wed Apr 25 22:19:23 2007
@@ -1,39 +1,57 @@
-package org.apache.axis2.jaxws.sample.addnumbershandler;
-
-import javax.xml.soap.SOAPMessage;
-import javax.xml.soap.SOAPPart;
-import javax.xml.ws.ProtocolException;
-import javax.xml.ws.handler.MessageContext;
-
-import org.apache.axis2.jaxws.handler.SoapMessageContext;
-
-public class AddNumbersLogicalHandler2 implements javax.xml.ws.handler.LogicalHandler {
-
-    public void close(MessageContext messagecontext) {
-        // TODO Auto-generated method stub
-        
-    }
-
-    public boolean handleFault(MessageContext messagecontext) {
-        Boolean outbound = (Boolean)messagecontext.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY);
-        if (outbound) {  // outbound response if we're on the server
-            SOAPMessage msg = ((SoapMessageContext)messagecontext).getMessage();
-            SOAPPart part = msg.getSOAPPart();
-            part.getFirstChild().getFirstChild().getFirstChild().getFirstChild().getNextSibling().setTextContent("AddNumbersLogicalHandler2 was here");
-        }
-        return true;
-    }
-
-    /*
-     * this test handleMessage method is obviously not what a customer might write, but it does
-     * the trick for kicking the tires in the handler framework.  The AddNumbers service takes two
-     * ints as incoming params, adds them, and returns the sum.  This method subtracts 1 from the 
-     * first int on the inbound request, and subtracts 1 from the int on the outbound response.
-     * So the client app should expect a sum 2 less than a sum without this handler manipulating
-     * the SOAP message.
-     */
-    public boolean handleMessage(MessageContext messagecontext) {
-    	return true;
-    }
-
-}
+package org.apache.axis2.jaxws.sample.addnumbershandler;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+
+import javax.xml.transform.OutputKeys;
+import javax.xml.transform.Source;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.stream.StreamResult;
+import javax.xml.transform.stream.StreamSource;
+import javax.xml.ws.LogicalMessage;
+import javax.xml.ws.handler.MessageContext;
+
+import org.apache.axis2.jaxws.handler.LogicalMessageContext;
+
+public class AddNumbersLogicalHandler2 implements javax.xml.ws.handler.LogicalHandler<LogicalMessageContext> {
+
+    public void close(MessageContext messagecontext) {
+        
+    }
+
+    public boolean handleFault(LogicalMessageContext messagecontext) {
+        Boolean outbound = (Boolean)messagecontext.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY);
+        if (outbound) {  // outbound response if we're on the server
+            LogicalMessage msg = messagecontext.getMessage();
+            String st = getStringFromSourcePayload(msg.getPayload());
+            st = st.replaceFirst("blarg", "AddNumbersLogicalHandler2 was here");
+            st = st.replaceFirst("I don't like the value 99", "AddNumbersLogicalHandler2 was here");
+            msg.setPayload(new StreamSource(new ByteArrayInputStream(st.getBytes())));
+        }
+        return true;
+    }
+
+    public boolean handleMessage(LogicalMessageContext messagecontext) {
+    	return true;
+    }
+    
+    private static String getStringFromSourcePayload(Source payload) {
+        try {
+
+            TransformerFactory factory = TransformerFactory.newInstance();
+            Transformer trans = factory.newTransformer();
+
+            ByteArrayOutputStream baos = new ByteArrayOutputStream();
+            StreamResult result = new StreamResult(baos);
+
+            trans.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
+            trans.transform(payload, result);
+
+            return new String(baos.toByteArray());
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+}

Added: webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/AddNumbersProtocolHandler.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/AddNumbersProtocolHandler.java?view=auto&rev=532615
==============================================================================
--- webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/AddNumbersProtocolHandler.java (added)
+++ webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/AddNumbersProtocolHandler.java Wed Apr 25 22:19:23 2007
@@ -0,0 +1,26 @@
+package org.apache.axis2.jaxws.sample.addnumbershandler;
+
+import java.util.Set;
+
+import javax.xml.namespace.QName;
+import javax.xml.ws.handler.MessageContext;
+import javax.xml.ws.handler.soap.SOAPMessageContext;
+
+public class AddNumbersProtocolHandler implements javax.xml.ws.handler.soap.SOAPHandler<SOAPMessageContext> {
+
+    public void close(MessageContext messagecontext) {
+    }
+
+    public Set<QName> getHeaders() {
+        return null;
+    }
+    
+    public boolean handleFault(SOAPMessageContext messagecontext) {
+        return true;
+    }
+
+    public boolean handleMessage(SOAPMessageContext messagecontext) {
+        return true;
+    }
+
+}

Added: webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/AddNumbersProtocolHandler2.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/AddNumbersProtocolHandler2.java?view=auto&rev=532615
==============================================================================
--- webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/AddNumbersProtocolHandler2.java (added)
+++ webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/AddNumbersProtocolHandler2.java Wed Apr 25 22:19:23 2007
@@ -0,0 +1,26 @@
+package org.apache.axis2.jaxws.sample.addnumbershandler;
+
+import java.util.Set;
+
+import javax.xml.namespace.QName;
+import javax.xml.ws.handler.MessageContext;
+import javax.xml.ws.handler.soap.SOAPMessageContext;
+
+public class AddNumbersProtocolHandler2 implements javax.xml.ws.handler.soap.SOAPHandler<SOAPMessageContext> {
+
+    public void close(MessageContext messagecontext) {
+    }
+
+    public Set<QName> getHeaders() {
+        return null;
+    }
+    
+    public boolean handleFault(SOAPMessageContext messagecontext) {
+        return true;
+    }
+
+    public boolean handleMessage(SOAPMessageContext messagecontext) {
+        return true;
+    }
+
+}

Added: webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/META-INF/AddNumbersClientHandlers.xml
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/META-INF/AddNumbersClientHandlers.xml?view=auto&rev=532615
==============================================================================
--- webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/META-INF/AddNumbersClientHandlers.xml (added)
+++ webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/META-INF/AddNumbersClientHandlers.xml Wed Apr 25 22:19:23 2007
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<jws:handler-chains xmlns:jws="http://java.sun.com/xml/ns/javaee">
+
+	<jws:handler-chain name="LoggingHandlerChain">
+		<protocol-bindings>##SOAP11_HTTP</protocol-bindings>
+		<jws:handler>
+			<jws:handler-class>org.apache.axis2.jaxws.sample.addnumbershandler.AddNumbersClientLogicalHandler</jws:handler-class>
+		</jws:handler>
+	</jws:handler-chain>
+	
+</jws:handler-chains>
+

Modified: webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/META-INF/AddNumbersHandlers.xml
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/META-INF/AddNumbersHandlers.xml?view=diff&rev=532615&r1=532614&r2=532615
==============================================================================
--- webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/META-INF/AddNumbersHandlers.xml (original)
+++ webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addnumbershandler/META-INF/AddNumbersHandlers.xml Wed Apr 25 22:19:23 2007
@@ -1,15 +1,26 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<jws:handler-chains xmlns:jws="http://java.sun.com/xml/ns/javaee">
-
-	<jws:handler-chain name="LoggingHandlerChain">
-		<jws:handler>
-			<jws:handler-class>org.apache.axis2.jaxws.sample.addnumbershandler.AddNumbersLogicalHandler</jws:handler-class>
-		</jws:handler>
-		<jws:handler>
-			<jws:handler-class>org.apache.axis2.jaxws.sample.addnumbershandler.AddNumbersLogicalHandler2</jws:handler-class>
-		</jws:handler>
-	</jws:handler-chain>
-	
-</jws:handler-chains>
-
+<?xml version="1.0" encoding="UTF-8"?>
+
+<jws:handler-chains xmlns:jws="http://java.sun.com/xml/ns/javaee">
+
+	<jws:handler-chain name="LoggingHandlerChain">
+		<jws:protocol-bindings>##SOAP11_HTTP ##something blarg</jws:protocol-bindings>
+		<jws:port-name-pattern 
+              xmlns:ns1="http://addnumbershandler.sample.jaxws.axis2.apache.org/">ns1:AddNumbersHandlerP*</jws:port-name-pattern>
+        <jws:service-name-pattern 
+              xmlns:ns1="http://addnumbershandler.sample.jaxws.axis2.apache.org/">ns1:*</jws:service-name-pattern>
+		<jws:handler>
+			<jws:handler-class>org.apache.axis2.jaxws.sample.addnumbershandler.AddNumbersLogicalHandler</jws:handler-class>
+		</jws:handler>
+		<jws:handler>
+			<jws:handler-class>org.apache.axis2.jaxws.sample.addnumbershandler.AddNumbersProtocolHandler2</jws:handler-class>
+		</jws:handler>
+		<jws:handler>
+			<jws:handler-class>org.apache.axis2.jaxws.sample.addnumbershandler.AddNumbersLogicalHandler2</jws:handler-class>
+		</jws:handler>
+		<jws:handler>
+			<jws:handler-class>org.apache.axis2.jaxws.sample.addnumbershandler.AddNumbersProtocolHandler</jws:handler-class>
+		</jws:handler>
+	</jws:handler-chain>
+	
+</jws:handler-chains>
+

Modified: webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addressbook/AddressBookImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addressbook/AddressBookImpl.java?view=diff&rev=532615&r1=532614&r2=532615
==============================================================================
--- webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addressbook/AddressBookImpl.java (original)
+++ webservices/axis2/branches/java/1_2/modules/jaxws/test/org/apache/axis2/jaxws/sample/addressbook/AddressBookImpl.java Wed Apr 25 22:19:23 2007
@@ -16,6 +16,8 @@
  */
 package org.apache.axis2.jaxws.sample.addressbook;
 
+import org.apache.axis2.jaxws.TestLogger;
+
 import java.util.ArrayList;
 import java.util.Iterator;
 
@@ -49,11 +51,12 @@
     
     public boolean addEntry(AddressBookEntry entry) {
         if (entry != null) {
-            System.out.println("New AddressBookEntry received");
-            System.out.println("       [name] " + entry.getLastName() + ", " + entry.getFirstName());
-            System.out.println("      [phone] " + entry.getPhone());
-            System.out.println("     [street] " + entry.getStreet());
-            System.out.println("[city, state] " + entry.getCity() + ", " + entry.getState());
+            TestLogger.logger.debug("New AddressBookEntry received");
+            TestLogger.logger
+                    .debug("       [name] " + entry.getLastName() + ", " + entry.getFirstName());
+            TestLogger.logger.debug("      [phone] " + entry.getPhone());
+            TestLogger.logger.debug("     [street] " + entry.getStreet());
+            TestLogger.logger.debug("[city, state] " + entry.getCity() + ", " + entry.getState());
             data.add(entry);
             return true;
         }
@@ -63,8 +66,8 @@
     }
 
     public AddressBookEntry findEntryByName(String firstname, String lastname) {
-        System.out.println("New request received.");
-        System.out.println("Looking for entry: [" + firstname + "] [" + lastname + "]");
+        TestLogger.logger.debug("New request received.");
+        TestLogger.logger.debug("Looking for entry: [" + firstname + "] [" + lastname + "]");
         Iterator<AddressBookEntry> i = data.iterator();
         while (i.hasNext()) {
             AddressBookEntry entry = i.next();



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org