Author: ffang
Date: Mon Sep  4 00:25:22 2006
New Revision: 439963

URL: http://svn.apache.org/viewvc?view=rev&rev=439963
Log:
get operation parameter in soap header working
1. write message part info into soap header
2. read message part info from soap header
3. find operation from message part infos

Modified:
    
incubator/cxf/trunk/common/src/main/java/org/apache/cxf/staxutils/StaxUtils.java
    
incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/ReadHeadersInterceptor.java
    
incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapOutInterceptor.java
    
incubator/cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/TestBase.java
    
incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/AbstractInDatabindingInterceptor.java
    
incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/BareInInterceptor.java
    
incubator/cxf/trunk/rt/databinding/jaxb/src/test/java/org/apache/cxf/jaxb/BareInInterceptorTest.java
    
incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/jaxws/ClientServerTest.java
    
incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/jaxws/HeaderClientServerTest.java

Modified: 
incubator/cxf/trunk/common/src/main/java/org/apache/cxf/staxutils/StaxUtils.java
URL: 
http://svn.apache.org/viewvc/incubator/cxf/trunk/common/src/main/java/org/apache/cxf/staxutils/StaxUtils.java?view=diff&rev=439963&r1=439962&r2=439963
==============================================================================
--- 
incubator/cxf/trunk/common/src/main/java/org/apache/cxf/staxutils/StaxUtils.java
 (original)
+++ 
incubator/cxf/trunk/common/src/main/java/org/apache/cxf/staxutils/StaxUtils.java
 Mon Sep  4 00:25:22 2006
@@ -21,6 +21,7 @@
 
 import java.io.*;
 import java.util.*;
+import java.util.logging.Logger;
 
 import javax.xml.namespace.QName;
 import javax.xml.parsers.DocumentBuilder;
@@ -35,12 +36,15 @@
 import org.w3c.dom.*;
 
 import org.apache.cxf.helpers.DOMUtils;
+import org.apache.cxf.helpers.XMLUtils;
 
 public final class StaxUtils {
 
+    private static final Logger LOG = 
Logger.getLogger(StaxUtils.class.getName());
+    
     private static final XMLInputFactory XML_INPUT_FACTORY = 
XMLInputFactory.newInstance();
     private static final XMLOutputFactory XML_OUTPUT_FACTORY = 
XMLOutputFactory.newInstance();
-
+    
     private static final String XML_NS = "http://www.w3.org/2000/xmlns/";;
     
     private StaxUtils() {
@@ -670,6 +674,16 @@
             }
 
             n++;
+        }
+    }
+    
+
+    public static void printXmlFragment(XMLStreamReader reader) {
+        XMLUtils.setIndention(4);
+        try {
+            LOG.info(XMLUtils.toString(StaxUtils.read(reader)));
+        } catch (XMLStreamException e) {
+            LOG.severe(e.getMessage());
         }
     }
 }

Modified: 
incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/ReadHeadersInterceptor.java
URL: 
http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/ReadHeadersInterceptor.java?view=diff&rev=439963&r1=439962&r2=439963
==============================================================================
--- 
incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/ReadHeadersInterceptor.java
 (original)
+++ 
incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/ReadHeadersInterceptor.java
 Mon Sep  4 00:25:22 2006
@@ -49,6 +49,8 @@
 
     public void handleMessage(SoapMessage message) {
         XMLStreamReader xmlReader = message.getContent(XMLStreamReader.class);
+        
+                
         if (xmlReader == null) {
             InputStream in = 
(InputStream)message.getContent(InputStream.class);
             if (in == null) {
@@ -75,6 +77,7 @@
                         Element element = 
(Element)envelop.getChildNodes().item(i);
                         if (element.getLocalName().equals(header)) {
                             message.setHeaders(Element.class, element);
+                            message.put(Element.class, element);
                         }
                     }
                 }

Modified: 
incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapOutInterceptor.java
URL: 
http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapOutInterceptor.java?view=diff&rev=439963&r1=439962&r2=439963
==============================================================================
--- 
incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapOutInterceptor.java
 (original)
+++ 
incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapOutInterceptor.java
 Mon Sep  4 00:25:22 2006
@@ -20,26 +20,40 @@
 package org.apache.cxf.binding.soap.interceptor;
 
 
+import java.util.ArrayList;
+import java.util.List;
 import java.util.ResourceBundle;
 
 
 
+import javax.xml.namespace.QName;
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamWriter;
 
-
 import org.w3c.dom.Element;
 
+
+
 import org.apache.cxf.binding.soap.Soap11;
 import org.apache.cxf.binding.soap.SoapFault;
 import org.apache.cxf.binding.soap.SoapMessage;
 import org.apache.cxf.binding.soap.SoapVersion;
 import org.apache.cxf.common.i18n.BundleUtils;
+import org.apache.cxf.databinding.DataWriter;
+import org.apache.cxf.databinding.DataWriterFactory;
 
+import org.apache.cxf.interceptor.Fault;
+import org.apache.cxf.message.Exchange;
+import org.apache.cxf.message.Message;
 import org.apache.cxf.phase.Phase;
 
+import org.apache.cxf.service.Service;
+import org.apache.cxf.service.model.BindingOperationInfo;
+import org.apache.cxf.service.model.MessagePartInfo;
+import org.apache.cxf.service.model.ServiceModelUtil;
 import org.apache.cxf.staxutils.StaxUtils;
 
+
 public class SoapOutInterceptor extends AbstractSoapInterceptor {
     private static final ResourceBundle BUNDLE = 
BundleUtils.getBundle(SoapOutInterceptor.class);
 
@@ -69,15 +83,14 @@
                                   soapVersion.getNamespace());
             xtw.writeNamespace(soapVersion.getPrefix(), 
soapVersion.getNamespace());
             
-            //handleHeaderPart(message);
-
             Element eleHeaders = message.getHeaders(Element.class);
-            
-
             if (eleHeaders != null) {
                 StaxUtils.writeElement(eleHeaders, xtw, true);
-            }
+            } else {
             
+                handleHeaderPart(message);
+            }
+       
             xtw.writeStartElement(soapVersion.getPrefix(), 
                                   soapVersion.getBody().getLocalPart(),
                                   soapVersion.getNamespace());
@@ -98,21 +111,32 @@
         }
     }
     
-    /*private void handleHeaderPart(SoapMessage message) {
+    private void handleHeaderPart(SoapMessage message) {
         //add MessagePart to soapHeader if necessary
         Exchange exchange = message.getExchange();
         BindingOperationInfo operation = 
(BindingOperationInfo)exchange.get(BindingOperationInfo.class
                                                                             
.getName());
-        Element soapHeaders = message.getHeaders(Element.class);
-         
-         
-         
+        if (operation == null) {
+            return;
+        }
+        XMLStreamWriter xtw = message.getContent(XMLStreamWriter.class);
+        
+        boolean hasHeader = false;
+                 
         int countParts = 0;
         List<MessagePartInfo> parts = null;
         if (!isRequestor(message)) {
-            parts = operation.getOutput().getMessageInfo().getMessageParts();
+            if (operation.getOperationInfo().hasOutput()) {
+                parts = 
operation.getOutput().getMessageInfo().getMessageParts();
+            } else {
+                parts = new ArrayList<MessagePartInfo>();
+            }
         } else {
-            parts = operation.getInput().getMessageInfo().getMessageParts();
+            if (operation.getOperationInfo().hasInput()) {
+                parts = 
operation.getInput().getMessageInfo().getMessageParts();
+            } else {
+                parts = new ArrayList<MessagePartInfo>();
+            }
         }
         countParts = parts.size();
  
@@ -126,40 +150,67 @@
                                    new RuntimeException("The number of 
arguments is not equal!"));
             }
  
+            SoapVersion soapVersion = message.getVersion();
             for (int idx = 0; idx < countParts; idx++) {
-                //Object arg = args[idx];
+                Object arg = args[idx];
                 MessagePartInfo part = (MessagePartInfo)els[idx];
                 if (!part.isInSoapHeader()) {
-                    //this part should be in header, so write to header
                     continue;
-                }
-                 
-                // todo write to header
-                if (soapHeaders == null) {
-                    DocumentBuilder builder = null;
-                    try {
-                        builder = 
DocumentBuilderFactory.newInstance().newDocumentBuilder();
-                    } catch (ParserConfigurationException e) {
-                        e.printStackTrace();
+                } else {
+                    if (!hasHeader) {
+                        try {
+                            xtw.writeStartElement(soapVersion.getPrefix(), 
+                                                  
soapVersion.getHeader().getLocalPart(),
+                                                  soapVersion.getNamespace());
+                        } catch (XMLStreamException e) {
+                            throw new SoapFault(
+                                new 
org.apache.cxf.common.i18n.Message("XML_WRITE_EXC", BUNDLE), 
+                                e, SoapFault.SENDER);
+                        }
                     }
-                    Document doc = builder.newDocument();
-                    SoapVersion version = message.getVersion();
-                    soapHeaders =
-                        doc.createElementNS(version.getNamespace(), 
version.getHeader().getLocalPart());
-                    QName headerPartQName = ServiceModelUtil.getPartName(part);
-                    soapHeaders.appendChild(
-                        doc.createElementNS(
-                            headerPartQName.getNamespaceURI(), 
headerPartQName.getLocalPart()));
+                    QName elName = ServiceModelUtil.getPartName(part);
+                    DataWriter<XMLStreamWriter> dataWriter = 
getDataWriter(message);
+                    dataWriter.write(arg, elName, xtw);
+                        
+                    hasHeader = true;
                 }
                  
             }
+            if (hasHeader) {
+                try {
+                    xtw.writeEndElement();
+                } catch (XMLStreamException e) {
+                    throw new SoapFault(
+                        new 
org.apache.cxf.common.i18n.Message("XML_WRITE_EXC", BUNDLE), 
+                        e, SoapFault.SENDER);
+                }
+            }
         }
-        message.setHeaders(Element.class, soapHeaders);
+
 
     }       
     
     protected boolean isRequestor(Message message) {
         return 
Boolean.TRUE.equals(message.containsKey(Message.REQUESTOR_ROLE));
-    }*/
+    }
 
+    protected DataWriter<XMLStreamWriter> getDataWriter(Message message) {
+        Service service = ServiceModelUtil.getService(message.getExchange());
+        DataWriterFactory factory = service.getDataWriterFactory();
+
+        DataWriter<XMLStreamWriter> dataWriter = null;
+        for (Class<?> cls : factory.getSupportedFormats()) {
+            if (cls == XMLStreamWriter.class) {
+                dataWriter = factory.createWriter(XMLStreamWriter.class);
+                break;
+            }
+        }
+
+        if (dataWriter == null) {
+            throw new Fault(new 
org.apache.cxf.common.i18n.Message("NO_DATAWRITER", BUNDLE, service
+                .getName()));
+        }
+
+        return dataWriter;
+    }
 }

Modified: 
incubator/cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/TestBase.java
URL: 
http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/TestBase.java?view=diff&rev=439963&r1=439962&r2=439963
==============================================================================
--- 
incubator/cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/TestBase.java
 (original)
+++ 
incubator/cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/TestBase.java
 Mon Sep  4 00:25:22 2006
@@ -56,6 +56,9 @@
     protected PhaseInterceptorChain chain;
     protected SoapMessage soapMessage;
 
+    
+    
+    
     public void setUp() throws Exception {
         List<Phase> phases = new ArrayList<Phase>();
         Phase phase1 = new Phase("phase1", 1);

Modified: 
incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/AbstractInDatabindingInterceptor.java
URL: 
http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/AbstractInDatabindingInterceptor.java?view=diff&rev=439963&r1=439962&r2=439963
==============================================================================
--- 
incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/AbstractInDatabindingInterceptor.java
 (original)
+++ 
incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/AbstractInDatabindingInterceptor.java
 Mon Sep  4 00:25:22 2006
@@ -19,14 +19,19 @@
 
 package org.apache.cxf.interceptor;
 
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Iterator;
 import java.util.List;
 import java.util.ResourceBundle;
 
 import javax.xml.bind.JAXBElement;
+import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.stream.XMLStreamReader;
 
+import org.w3c.dom.Node;
+
+
 import org.apache.cxf.common.i18n.BundleUtils;
 import org.apache.cxf.databinding.DataReader;
 import org.apache.cxf.databinding.DataReaderFactory;
@@ -81,16 +86,48 @@
         }
         return dataReader;
     }
+    
+    protected DataReader<Node> getNodeDataReader(Message message) {
+        Service service = ServiceModelUtil.getService(message.getExchange());
+        DataReaderFactory factory = service.getDataReaderFactory();
+
+        DataReader<Node> dataReader = null;
+        for (Class<?> cls : factory.getSupportedFormats()) {
+            if (cls == Node.class) {
+                dataReader = factory.createReader(Node.class);
+                break;
+            }
+        }
+        if (dataReader == null) {
+            throw new Fault(new 
org.apache.cxf.common.i18n.Message("NO_DATAREADER", BUNDLE, 
+                service.getName()));
+        }
+        return dataReader;
+    }
 
     protected DepthXMLStreamReader getXMLStreamReader(Message message) {
         XMLStreamReader xr = message.getContent(XMLStreamReader.class);
         return new DepthXMLStreamReader(xr);
     }
 
-    protected OperationInfo findOperation(Collection<OperationInfo> 
operations, List<Object> parameters) {
+    protected OperationInfo findOperation(Collection<OperationInfo> 
operations, 
+                                          List<Object> parameters, boolean 
isRequestor) {
         // first check for exact matches
         for (OperationInfo o : operations) {
-            List messageParts = o.getInput().getMessageParts();
+            List messageParts = null;
+            if (isRequestor) {
+                if (o.hasOutput()) {
+                    messageParts = o.getOutput().getMessageParts();
+                } else {
+                    messageParts = new ArrayList();
+                }
+            } else {
+                if (o.hasInput()) {
+                    messageParts = o.getInput().getMessageParts();
+                } else {
+                    messageParts = new ArrayList();
+                }
+            }
             if (messageParts.size() == parameters.size() 
                     && checkExactParameters(messageParts, parameters)) {
                 return o;
@@ -122,10 +159,18 @@
         Iterator messagePartIterator = messageParts.iterator();
         for (Iterator parameterIterator = parameters.iterator(); 
parameterIterator.hasNext();) {
             Object param = parameterIterator.next();
+            JAXBElement paramEl = null;
+            MessagePartInfo mpi = (MessagePartInfo)messagePartIterator.next();
             if (param instanceof JAXBElement) {
-                JAXBElement paramEl = (JAXBElement)param;
-                MessagePartInfo mpi = 
(MessagePartInfo)messagePartIterator.next();
+                paramEl = (JAXBElement)param;
                 if (!mpi.getElementQName().equals(paramEl.getName())) {
+                    return false;
+                }
+            } else {
+                
+                if (!mpi.getElementQName().getLocalPart().equals(
+                    
param.getClass().getAnnotation(XmlRootElement.class).name())) {
+               
                     return false;
                 }
             }

Modified: 
incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/BareInInterceptor.java
URL: 
http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/BareInInterceptor.java?view=diff&rev=439963&r1=439962&r2=439963
==============================================================================
--- 
incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/BareInInterceptor.java
 (original)
+++ 
incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/BareInInterceptor.java
 Mon Sep  4 00:25:22 2006
@@ -26,6 +26,9 @@
 import javax.xml.bind.JAXBElement;
 import javax.xml.stream.XMLStreamReader;
 
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+
 import org.apache.cxf.databinding.DataReader;
 import org.apache.cxf.endpoint.Endpoint;
 import org.apache.cxf.message.Exchange;
@@ -33,6 +36,7 @@
 import org.apache.cxf.phase.Phase;
 import org.apache.cxf.service.Service;
 import org.apache.cxf.service.model.BindingOperationInfo;
+import org.apache.cxf.service.model.MessagePartInfo;
 import org.apache.cxf.service.model.OperationInfo;
 import org.apache.cxf.staxutils.DepthXMLStreamReader;
 import org.apache.cxf.staxutils.StaxUtils;
@@ -53,30 +57,40 @@
         DataReader<XMLStreamReader> dr = getDataReader(message);
         List<Object> parameters = new ArrayList<Object>();
 
-        //StaxUtils.nextEvent(xmlReader);
         while (StaxUtils.toNextElement(xmlReader)) {
             Object o = dr.read(xmlReader);
             
             parameters.add(o);
         }
 
-        // If we didn't know the operation going into this, lets try to figure
-        // it out
-        if (operation == null) {
-            Endpoint ep = exchange.get(Endpoint.class);
-            Service service = ep.getService();
+        Endpoint ep = exchange.get(Endpoint.class);
+        Service service = ep.getService();
 
+        if (message.get(Element.class) != null) {
+            
parameters.addAll(abstractParamsFromHeader(message.get(Element.class), ep, 
message));
+        }
+        
+        if (operation == null) {
+            
+            // If we didn't know the operation going into this, lets try to 
figure
+            // it out
+            
             OperationInfo op = 
findOperation(service.getServiceInfo().getInterface().getOperations(),
-                                             parameters);
+                                             parameters, isRequestor(message));
+            
 
             for (BindingOperationInfo bop : 
ep.getEndpointInfo().getBinding().getOperations()) {
                 if (bop.getOperationInfo().equals(op)) {
+                    operation = bop;
                     exchange.put(BindingOperationInfo.class, bop);
                     exchange.setOneWay(bop.getOutput() == null);
                     break;
                 }
             }
         }
+        
+        
+        
         List<Object> newParameters = new ArrayList<Object>();
         for (Iterator iter = parameters.iterator(); iter.hasNext();) {
             Object element = (Object)iter.next();
@@ -86,6 +100,44 @@
             newParameters.add(element);
             
         }
+       
         message.setContent(List.class, newParameters);
+    }
+    
+    private List<Object> abstractParamsFromHeader(Element headerElement, 
Endpoint ep,  
+                                                  Message message) {
+ 
+        List<Object> paramInHeader = new ArrayList<Object>();
+        List<MessagePartInfo> parts = null;
+        for (BindingOperationInfo bop : 
ep.getEndpointInfo().getBinding().getOperations()) {
+           
+            if (isRequestor(message)) {
+                parts = bop.getOutput().getMessageInfo().getMessageParts();
+            } else {
+                parts = bop.getInput().getMessageInfo().getMessageParts();
+            }
+                        
+            
+            for (MessagePartInfo mpi : parts) {
+                if (mpi.isInSoapHeader()) {
+                    NodeList nodeList = headerElement.getChildNodes();
+                    if (nodeList != null) {
+                        for (int i = 0; i < nodeList.getLength(); i++) {
+                            if (nodeList.item(i).getNamespaceURI().equals(
+                                mpi.getElementQName().getNamespaceURI()) 
+                                && nodeList.item(i).getLocalName().equals(
+                                    mpi.getElementQName().getLocalPart())) {
+                                Element param = (Element)nodeList.item(i);
+                                
paramInHeader.add(getNodeDataReader(message).read(param));
+                            }
+                        }
+                        
+                    }
+                    
+                }
+            }
+        }
+                            
+        return paramInHeader;
     }
 }

Modified: 
incubator/cxf/trunk/rt/databinding/jaxb/src/test/java/org/apache/cxf/jaxb/BareInInterceptorTest.java
URL: 
http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/databinding/jaxb/src/test/java/org/apache/cxf/jaxb/BareInInterceptorTest.java?view=diff&rev=439963&r1=439962&r2=439963
==============================================================================
--- 
incubator/cxf/trunk/rt/databinding/jaxb/src/test/java/org/apache/cxf/jaxb/BareInInterceptorTest.java
 (original)
+++ 
incubator/cxf/trunk/rt/databinding/jaxb/src/test/java/org/apache/cxf/jaxb/BareInInterceptorTest.java
 Mon Sep  4 00:25:22 2006
@@ -54,9 +54,8 @@
         
         BindingOperationInfo bop = 
message.getExchange().get(BindingOperationInfo.class);
         assertNotNull(bop);
-        // this doesn't pass yet as we can't introspect the message part type 
classes to find
-        // the correct operation. One possibility is to try to match QNames 
instead.
-        // assertEquals("greetMe", bop.getName().getLocalPart());
+        
+        assertEquals("greetMe", bop.getName().getLocalPart());
     }
 
     public void testInterceptorOutbound() throws Exception {
@@ -64,7 +63,7 @@
 
         message.setContent(XMLStreamReader.class, XMLInputFactory.newInstance()
             .createXMLStreamReader(getTestStream(getClass(), 
"resources/GreetMeDocLiteralResp.xml")));
-
+        message.put(Message.REQUESTOR_ROLE, Boolean.TRUE);
         interceptor.handleMessage(message);
 
         List<?> parameters = message.getContent(List.class);

Modified: 
incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/jaxws/ClientServerTest.java
URL: 
http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/jaxws/ClientServerTest.java?view=diff&rev=439963&r1=439962&r2=439963
==============================================================================
--- 
incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/jaxws/ClientServerTest.java
 (original)
+++ 
incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/jaxws/ClientServerTest.java
 Mon Sep  4 00:25:22 2006
@@ -91,7 +91,7 @@
                 assertTrue("server did not launch correctly", 
launchServer(Server.class));
             }
         };
-        
+                
         
         
     }

Modified: 
incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/jaxws/HeaderClientServerTest.java
URL: 
http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/jaxws/HeaderClientServerTest.java?view=diff&rev=439963&r1=439962&r2=439963
==============================================================================
--- 
incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/jaxws/HeaderClientServerTest.java
 (original)
+++ 
incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/jaxws/HeaderClientServerTest.java
 Mon Sep  4 00:25:22 2006
@@ -33,7 +33,7 @@
 import junit.framework.TestSuite;
 
 
-//import org.apache.cxf.systest.common.ClientServerSetupBase;
+
 import org.apache.cxf.systest.common.ClientServerSetupBase;
 import org.apache.cxf.systest.common.ClientServerTestBase;
 import org.apache.cxf.systest.common.TestServerBase;
@@ -90,8 +90,6 @@
             }
         };
         
-        
-
     }  
 
     
@@ -112,10 +110,8 @@
                 assertEquals(TestHeader1.class.getSimpleName(), 
returnVal.getResponseType());
             }
         } catch (UndeclaredThrowableException ex) {
-            //throw (Exception)ex.getCause();
-        } catch (Exception e) {
-            //should get Exception since Holder is not supported now
-        }
+            throw (Exception)ex.getCause();
+        } 
     } 
 
     /*public void testOutHeader() throws Exception {


Reply via email to