cxf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From m...@apache.org
Subject svn commit: r554819 [1/2] - in /incubator/cxf/trunk: api/src/main/java/org/apache/cxf/service/model/ rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/ rt/core/src/main/java/org/apache/cxf/binding/ rt/frontend/jaxws/src/main/java/org/apache/cx...
Date Tue, 10 Jul 2007 03:50:18 GMT
Author: mmao
Date: Mon Jul  9 20:50:15 2007
New Revision: 554819

URL: http://svn.apache.org/viewvc?view=rev&rev=554819
Log:
CXF-602, CXF-760, CXF-772

* CxF-760 Ant tasks for wsdl2java and java2wsdl
* CXF-602 is not really fix the out of band soap headers, it just fix the tools part, the runtime was not working
          The commit should fix both the tools and runtime
          However the message out part in tools also be cleaned up.

*         The default value of flag -exsh has been changed to true, i.e by default tools will generate 
          the out of band soap header as parameter, unless you turn it off

* Eclipse plugin updates, add more transports module dependencies.
      

Added:
    incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/soapheader/
    incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/soapheader/HeaderClientServerTest.java
    incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/soapheader/PizzaImpl.java
    incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/soapheader/Server.java
    incubator/cxf/trunk/systests/src/test/resources/wsdl/
    incubator/cxf/trunk/systests/src/test/resources/wsdl/pizza_service.wsdl
    incubator/cxf/trunk/tools/anttask/
    incubator/cxf/trunk/tools/anttask/pom.xml
    incubator/cxf/trunk/tools/anttask/src/
    incubator/cxf/trunk/tools/anttask/src/main/
    incubator/cxf/trunk/tools/anttask/src/main/java/
    incubator/cxf/trunk/tools/anttask/src/main/java/org/
    incubator/cxf/trunk/tools/anttask/src/main/java/org/apache/
    incubator/cxf/trunk/tools/anttask/src/main/java/org/apache/cxf/
    incubator/cxf/trunk/tools/anttask/src/main/java/org/apache/cxf/ant/
    incubator/cxf/trunk/tools/anttask/src/main/java/org/apache/cxf/ant/extensions/
    incubator/cxf/trunk/tools/anttask/src/main/java/org/apache/cxf/ant/extensions/CxfAntTask.java
    incubator/cxf/trunk/tools/anttask/src/main/java/org/apache/cxf/ant/extensions/Java2WSDLTask.java
    incubator/cxf/trunk/tools/anttask/src/main/java/org/apache/cxf/ant/extensions/WSDL2JavaTask.java
    incubator/cxf/trunk/tools/anttask/src/main/java/org/apache/cxf/ant/extensions/antlib.xml
    incubator/cxf/trunk/tools/wsdlto/test/src/test/resources/wsdl2java_wsdl/pizza_messages.wsdl
    incubator/cxf/trunk/tools/wsdlto/test/src/test/resources/wsdl2java_wsdl/pizza_schema.xml
Modified:
    incubator/cxf/trunk/api/src/main/java/org/apache/cxf/service/model/ServiceInfo.java
    incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingFactory.java
    incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/binding/AbstractBindingFactory.java
    incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/HandlerChainInvoker.java
    incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/soap/SOAPHandlerFaultInInterceptor.java
    incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/soap/SOAPHandlerInterceptor.java
    incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceFactoryBean.java
    incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java
    incubator/cxf/trunk/systests/pom.xml
    incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jaxb/TestServiceTest.java
    incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jaxb/util/ClassArrayFactoryBean.java
    incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/management/ManagedClientServerTest.java
    incubator/cxf/trunk/tools/eclipse-plugin/pom.xml
    incubator/cxf/trunk/tools/javato/test/pom.xml
    incubator/cxf/trunk/tools/wsdlto/core/src/main/java/org/apache/cxf/tools/wsdlto/WSDLToJavaContainer.java
    incubator/cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/jaxws-toolspec.xml
    incubator/cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/Messages.properties
    incubator/cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ParameterProcessor.java
    incubator/cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ServiceProcessor.java
    incubator/cxf/trunk/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenTest.java
    incubator/cxf/trunk/tools/wsdlto/test/src/test/resources/wsdl2java_wsdl/pizza.wsdl

Modified: incubator/cxf/trunk/api/src/main/java/org/apache/cxf/service/model/ServiceInfo.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/api/src/main/java/org/apache/cxf/service/model/ServiceInfo.java?view=diff&rev=554819&r1=554818&r2=554819
==============================================================================
--- incubator/cxf/trunk/api/src/main/java/org/apache/cxf/service/model/ServiceInfo.java (original)
+++ incubator/cxf/trunk/api/src/main/java/org/apache/cxf/service/model/ServiceInfo.java Mon Jul  9 20:50:15 2007
@@ -38,24 +38,24 @@
     Map<QName, MessageInfo> messages;
     List<SchemaInfo> schemas = new ArrayList<SchemaInfo>(4);
     private XmlSchemaCollection xmlSchemaCollection;
-    
+
     public ServiceInfo() {
     }
-    
+
     public String getTargetNamespace() {
         return targetNamespace;
     }
     public void setTargetNamespace(String ns) {
         targetNamespace = ns;
     }
-    
+
     public void setName(QName n) {
         name = n;
     }
     public QName getName() {
         return name;
     }
-    
+
     public InterfaceInfo createInterface(QName qn) {
         intf = new InterfaceInfo(this, qn);
         return intf;
@@ -66,7 +66,7 @@
     public InterfaceInfo getInterface() {
         return intf;
     }
-    
+
     public BindingInfo getBinding(QName qn) {
         return bindings.get(qn);
     }
@@ -79,26 +79,26 @@
     public void addEndpoint(EndpointInfo ep) {
         endpoints.put(ep.getName(), ep);
     }
-    
+
     public Collection<EndpointInfo> getEndpoints() {
         return Collections.unmodifiableCollection(endpoints.values());
     }
-    
+
     public Collection<BindingInfo> getBindings() {
         return Collections.unmodifiableCollection(bindings.values());
     }
-    
+
     public Map<QName, MessageInfo> getMessages() {
         if (messages == null) {
-            initMessagesMap();           
+            initMessagesMap();
         }
         return messages;
     }
-    
+
     public MessageInfo getMessage(QName qname) {
         return getMessages().get(qname);
     }
-    
+
     private void initMessagesMap() {
         messages = new ConcurrentHashMap<QName, MessageInfo>();
         for (OperationInfo operation : getInterface().getOperations()) {
@@ -108,20 +108,17 @@
             if (operation.getOutput() != null) {
                 messages.put(operation.getOutput().getName(), operation.getOutput());
             }
-        }       
+        }
     }
-    
+
     public void setMessages(Map<QName, MessageInfo> msgs) {
         messages = msgs;
     }
-    
-    public void addMessage(MessageInfo msg) {
-        if (messages == null) {
-            initMessagesMap();           
-        }
-        messages.put(msg.getName(), msg);
+
+    public void refresh() {
+        initMessagesMap();
     }
-    
+
     public void addSchema(SchemaInfo schemaInfo) {
         schemas.add(schemaInfo);
     }
@@ -138,7 +135,7 @@
         }
         return null;
     }
-    
+
     public Collection<SchemaInfo> getSchemas() {
         return Collections.unmodifiableCollection(schemas);
     }

Modified: incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingFactory.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingFactory.java?view=diff&rev=554819&r1=554818&r2=554819
==============================================================================
--- incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingFactory.java (original)
+++ incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingFactory.java Mon Jul  9 20:50:15 2007
@@ -95,7 +95,10 @@
 
     public static final String SOAP_11_BINDING = "http://schemas.xmlsoap.org/wsdl/soap/";
     public static final String SOAP_12_BINDING = "http://schemas.xmlsoap.org/wsdl/soap12/";
-    
+
+    public static final String HEADER = "messagepart.isheader";
+    public static final String OUT_OF_BAND_HEADER = "messagepart.is_out_of_band_header";
+
     private boolean mtomEnabled = true;
 
     public BindingInfo createBindingInfo(ServiceInfo si, String bindingid, Object conf) {
@@ -113,29 +116,29 @@
         SoapBindingInfo info = new SoapBindingInfo(si,
                                                    bindingid,
                                                    config.getVersion());
-        
-        info.setName(new QName(si.getName().getNamespaceURI(), 
+
+        info.setName(new QName(si.getName().getNamespaceURI(),
                                si.getName().getLocalPart() + "SoapBinding"));
         info.setStyle(config.getStyle());
         info.setTransportURI(config.getTransportURI());
-        
+
         if (config.isMtomEnabled()) {
             info.setProperty(Message.MTOM_ENABLED, Boolean.TRUE);
         }
-        
+
         for (OperationInfo op : si.getInterface().getOperations()) {
             SoapOperationInfo sop = new SoapOperationInfo();
             sop.setAction(config.getSoapAction(op));
             sop.setStyle(config.getStyle(op));
-            
-            BindingOperationInfo bop = 
+
+            BindingOperationInfo bop =
                 info.buildOperation(op.getName(), op.getInputName(), op.getOutputName());
-            
+
             bop.addExtensor(sop);
-            
+
             info.addOperation(bop);
-            
-            
+
+
             BindingMessageInfo bInput = bop.getInput();
             if (bInput != null) {
                 MessageInfo input = null;
@@ -148,7 +151,7 @@
                 }
                 setupHeaders(bop, bInput, unwrappedMsg, input, config);
             }
-            
+
             BindingMessageInfo bOutput = bop.getOutput();
             if (bOutput != null) {
                 MessageInfo output = null;
@@ -168,7 +171,7 @@
         } catch (WSDLException e) {
             e.printStackTrace();
         }
-        
+
         return info;
     }
 
@@ -177,7 +180,7 @@
         boolean isSoap12 = bi.getSoapVersion() instanceof Soap12;
         ExtensionRegistry extensionRegistry = getBus().getExtension(WSDLManager.class)
             .getExtenstionRegistry();
-        
+
         SoapBinding soapBinding = SOAPBindingUtil.createSoapBinding(extensionRegistry, isSoap12);
         soapBinding.setStyle(bi.getStyle());
         soapBinding.setTransportURI(bi.getTransportURI());
@@ -191,7 +194,7 @@
                 faultInfo.addExtensor(soapFault);
             }
             SoapOperationInfo soi = b.getExtensor(SoapOperationInfo.class);
-                
+
             SoapOperation soapOperation = SOAPBindingUtil.createSoapOperation(extensionRegistry,
                                                                               isSoap12);
             soapOperation.setSoapActionURI(soi.getAction());
@@ -208,7 +211,7 @@
                     for (MessagePartInfo part : b.getInput().getMessageParts()) {
                         bodyParts.add(part.getName().getLocalPart());
                     }
-                        
+
                     SoapHeader soapHeader = SOAPBindingUtil.createSoapHeader(extensionRegistry,
                                                                              BindingInput.class,
                                                                              isSoap12);
@@ -218,7 +221,7 @@
                     bodyParts.remove(headerInfo.getPart().getName().getLocalPart());
                     b.getInput().addExtensor(soapHeader);
 
-                } 
+                }
                 SoapBody body = SOAPBindingUtil.createSoapBody(extensionRegistry,
                                                                BindingInput.class,
                                                                isSoap12);
@@ -263,16 +266,16 @@
                 if (bodyParts != null) {
                     body.setParts(bodyParts);
                 }
-                    
+
                 b.getOutput().addExtensor(body);
             }
         }
     }
-    
-    
-    private void setupHeaders(BindingOperationInfo op, 
-                              BindingMessageInfo bMsg, 
-                              BindingMessageInfo unwrappedBMsg, 
+
+
+    private void setupHeaders(BindingOperationInfo op,
+                              BindingMessageInfo bMsg,
+                              BindingMessageInfo unwrappedBMsg,
                               MessageInfo msg,
                               SoapBindingConfiguration config) {
         List<MessagePartInfo> parts = new ArrayList<MessagePartInfo>();
@@ -289,7 +292,7 @@
         }
         unwrappedBMsg.setMessageParts(parts);
     }
-    
+
     public Binding createBinding(BindingInfo binding) {
         // TODO what about the mix style/use?
 
@@ -316,7 +319,7 @@
                 if (boi.getUnwrappedOperation() == null) {
                     parameterStyle = SoapConstants.PARAMETER_STYLE_BARE;
                 }
-            }            
+            }
         } else {
             throw new RuntimeException("Can not initialize SoapBinding, BindingInfo is not SoapBindingInfo");
         }
@@ -326,12 +329,12 @@
         //Do not add any interceptors if it is Provider/Dispatch
         if (!Boolean.TRUE.equals(binding.getProperty(DATABINDING_DISABLED))) {
             sb.getInInterceptors().add(new AttachmentInInterceptor());
-            sb.getInInterceptors().add(new StaxInInterceptor());             
-            
+            sb.getInInterceptors().add(new StaxInInterceptor());
+
             sb.getOutInterceptors().add(new SoapActionInterceptor());
             sb.getOutInterceptors().add(new AttachmentOutInterceptor());
-            sb.getOutInterceptors().add(new StaxOutInterceptor());                     
-            
+            sb.getOutInterceptors().add(new StaxOutInterceptor());
+
             if (SoapConstants.BINDING_STYLE_RPC.equalsIgnoreCase(bindingStyle)) {
                 sb.getInInterceptors().add(new RPCInInterceptor());
                 sb.getOutInterceptors().add(new RPCOutInterceptor());
@@ -347,7 +350,7 @@
                 sb.getOutInterceptors().add(new BareOutInterceptor());
             }
             sb.getInInterceptors().add(new SoapHeaderInterceptor());
-            
+
             sb.getInInterceptors().add(new ReadHeadersInterceptor(getBus()));
             sb.getInInterceptors().add(new MustUnderstandInterceptor());
             sb.getOutInterceptors().add(new SoapPreProtocolOutInterceptor());
@@ -357,7 +360,7 @@
             // REVISIT: The phase interceptor chain seems to freak out if this added
             // first. Not sure what the deal is at the moment, I suspect the
             // ordering algorithm needs to be improved
-            sb.getInInterceptors().add(new URIMappingInterceptor());          
+            sb.getInInterceptors().add(new URIMappingInterceptor());
         }
 
         if (version.getVersion() == 1.1) {
@@ -366,38 +369,42 @@
         } else if (version.getVersion() == 1.2) {
             sb.getInFaultInterceptors().add(new Soap12FaultInInterceptor());
             sb.getOutFaultInterceptors().add(new Soap12FaultOutInterceptor());
-        }        
+        }
 
         return sb;
     }
-    
-    protected void addMessageFromBinding(ExtensibilityElement ext, ServiceInfo serviceInfo) {
+
+    protected void addMessageFromBinding(ExtensibilityElement ext, BindingOperationInfo bop) {
         SoapHeader header = SOAPBindingUtil.getSoapHeader(ext);
 
+        ServiceInfo serviceInfo = bop.getBinding().getService();
+
         if (header != null && serviceInfo.getMessage(header.getMessage()) == null) {
             Definition def = (Definition)serviceInfo.getProperty(WSDLServiceBuilder.WSDL_DEFINITION);
             XmlSchemaCollection schemas = (XmlSchemaCollection)serviceInfo
-            .getProperty(WSDLServiceBuilder.WSDL_SCHEMA_LIST);
-            
+                .getProperty(WSDLServiceBuilder.WSDL_SCHEMA_LIST);
+
             if (def != null && schemas != null) {
                 javax.wsdl.Message msg = def.getMessage(header.getMessage());
                 if (msg != null) {
-                    MessageInfo minfo = new MessageInfo(null, msg.getQName());
+                    MessageInfo minfo = bop.getOperationInfo().getInput();
+                    if (minfo == null) {
+                        minfo = new MessageInfo(null, msg.getQName());
+                    }
                     buildMessage(minfo, msg, schemas);
-
-                    serviceInfo.addMessage(minfo);
+                    serviceInfo.refresh();
                 } else {
                     //TODO: The header message is not defined in this wsdl, what to do
                 }
             }
         }
     }
-    
+
     private void buildMessage(MessageInfo minfo, javax.wsdl.Message msg,
                               XmlSchemaCollection schemas) {
         for (Part part : cast(msg.getParts().values(), Part.class)) {
             MessagePartInfo pi = minfo.addMessagePart(new QName(minfo.getName().getNamespaceURI(), part
-                .getName()));
+                                                                .getName()));
             if (part.getTypeName() != null) {
                 pi.setTypeQName(part.getTypeName());
                 pi.setElement(false);
@@ -407,34 +414,35 @@
                 pi.setElement(true);
                 pi.setXmlSchema(schemas.getElementByQName(part.getElementName()));
             }
+            pi.setProperty(OUT_OF_BAND_HEADER, Boolean.TRUE);
         }
     }
-   
+
     public BindingInfo createBindingInfo(ServiceInfo service, javax.wsdl.Binding binding, String ns) {
         SoapBindingInfo bi = new SoapBindingInfo(service, ns);
         // Copy all the extensors
         initializeBindingInfo(service, binding, bi);
-    
+
         SoapBinding wSoapBinding
             = SOAPBindingUtil.getSoapBinding(bi.getExtensors(ExtensibilityElement.class));
-       
-        
+
+
         bi.setTransportURI(wSoapBinding.getTransportURI());
         bi.setStyle(wSoapBinding.getStyle());
-    
+
         for (BindingOperationInfo boi : bi.getOperations()) {
             initializeBindingOperation(bi, boi);
         }
-    
+
         return bi;
     }
-    
+
     private void initializeBindingOperation(SoapBindingInfo bi, BindingOperationInfo boi) {
         SoapOperationInfo soi = new SoapOperationInfo();
 
-        SoapOperation soapOp = 
+        SoapOperation soapOp =
             SOAPBindingUtil.getSoapOperation(boi.getExtensors(ExtensibilityElement.class));
-        
+
         if (soapOp != null) {
             String action = soapOp.getSoapActionURI();
             if (action == null) {
@@ -462,7 +470,7 @@
         List<MessagePartInfo> messageParts = new ArrayList<MessagePartInfo>();
         messageParts.addAll(msg.getMessageParts());
 
-        List<SoapHeader> headers = 
+        List<SoapHeader> headers =
             SOAPBindingUtil.getSoapHeaders(bmsg.getExtensors(ExtensibilityElement.class));
         if (headers != null) {
             for (SoapHeader header : headers) {
@@ -476,7 +484,7 @@
                     bmsg.addExtensor(headerInfo);
                 }
             }
-            
+
             // Exclude the header parts from the message part list.
             bmsg.setMessageParts(messageParts);
         }
@@ -493,7 +501,7 @@
             bodyInfo.setUse(soapBody.getUse());
             parts = soapBody.getParts();
         }
-        
+
         // Initialize the body parts.
         List<MessagePartInfo> attParts = null;
         if (parts != null) {
@@ -510,12 +518,12 @@
                         if (content instanceof MIMEContent) {
                             MIMEContent mc = (MIMEContent)content;
                             partName = mc.getPart();
-                            
+
                             if (attParts == null) {
                                 attParts = new LinkedList<MessagePartInfo>();
                             }
-    
-                            MessagePartInfo mpi = 
+
+                            MessagePartInfo mpi =
                                 msg.getMessagePart(new QName(msg.getName().getNamespaceURI(),
                                                              partName));
                             mpi.setProperty(Message.CONTENT_TYPE, mc.getType());
@@ -527,7 +535,7 @@
                             if (sb.getParts().size() == 1) {
                                 partName = (String) sb.getParts().get(0);
                             }
-                            
+
                             // We can have a list of empty part names here.
                             if (partName != null) {
                                 addSoapBodyPart(msg, bodyParts, partName);
@@ -537,7 +545,7 @@
 
                             SoapHeaderInfo headerInfo = new SoapHeaderInfo();
                             headerInfo.setUse(header.getUse());
-                            MessagePartInfo mpi = 
+                            MessagePartInfo mpi =
                                 msg.getMessagePart(new QName(msg.getName().getNamespaceURI(), header
                                             .getPart()));
                             if (mpi != null) {
@@ -546,7 +554,7 @@
                                 bmsg.getMessageParts().remove(mpi);
                                 bmsg.addExtensor(headerInfo);
                             }
-                        }                  
+                        }
                     }
                 } else {
                     addSoapBodyPart(msg, bodyParts, (String)part);
@@ -565,15 +573,15 @@
                                                            partName));
         bodyParts.add(mpi);
     }
-    
+
     @Override
     public synchronized void addListener(Destination d, Endpoint e) {
         MessageObserver mo = d.getMessageObserver();
         if (mo == null) {
             super.addListener(d, e);
             return;
-        } 
-        
+        }
+
         if (mo instanceof ChainInitiationObserver) {
             ChainInitiationObserver cio = (ChainInitiationObserver) mo;
             MultipleEndpointObserver newMO = new MultipleEndpointObserver(getBus()) {
@@ -582,28 +590,28 @@
                     return new SoapMessage(message);
                 }
             };
-            
+
             newMO.getBindingInterceptors().add(new AttachmentInInterceptor());
-            newMO.getBindingInterceptors().add(new StaxInInterceptor()); 
-            
+            newMO.getBindingInterceptors().add(new StaxInInterceptor());
+
             // This will not work if we one of the endpoints disables message
-            // processing. But, if you've disabled message processing, you 
+            // processing. But, if you've disabled message processing, you
             // probably aren't going to use this feature.
             newMO.getBindingInterceptors().add(new ReadHeadersInterceptor(getBus()));
 
             // Add in a default selection interceptor
             newMO.getRoutingInterceptors().add(new EndpointSelectionInterceptor());
-            
+
             newMO.getEndpoints().add(cio.getEndpoint());
-            
+
             mo = newMO;
         }
-        
+
         if (mo instanceof MultipleEndpointObserver) {
             MultipleEndpointObserver meo = (MultipleEndpointObserver) mo;
             meo.getEndpoints().add(e);
         }
-        
+
         d.setMessageObserver(mo);
     }
 
@@ -613,5 +621,5 @@
 
     public boolean isMtomEnabled() {
         return mtomEnabled;
-    }    
+    }
 }

Modified: incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/binding/AbstractBindingFactory.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/binding/AbstractBindingFactory.java?view=diff&rev=554819&r1=554818&r2=554819
==============================================================================
--- incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/binding/AbstractBindingFactory.java (original)
+++ incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/binding/AbstractBindingFactory.java Mon Jul  9 20:50:15 2007
@@ -46,9 +46,9 @@
 public abstract class AbstractBindingFactory implements BindingFactory, WSDLBindingFactory {
 
     public static final String DATABINDING_DISABLED = "databinding.disabled";
-    
+
     Collection<String> activationNamespaces;
-    
+
     Bus bus;
 
     @PostConstruct
@@ -58,10 +58,10 @@
             manager.registerBindingFactory(ns, this);
         }
     }
-    
+
     /**
-     * Creates a "default" BindingInfo object for the service.  Called by 
-     * createBindingInfo(Service service, String binding, Object config) to actually 
+     * Creates a "default" BindingInfo object for the service.  Called by
+     * createBindingInfo(Service service, String binding, Object config) to actually
      * create the BindingInfo.  Can return a subclass which can then process
      * the extensors within the subclass.
      * @param service
@@ -70,22 +70,22 @@
     public BindingInfo createBindingInfo(ServiceInfo service, String namespace, Object config) {
         return new BindingInfo(service, namespace);
     }
-    
+
     /**
-     * Creates a "default" BindingInfo object for the service.  Can return a subclass 
-     * which can then process the extensors within the subclass.   By default, just 
+     * Creates a "default" BindingInfo object for the service.  Can return a subclass
+     * which can then process the extensors within the subclass.   By default, just
      * creates it for the first ServiceInfo in the service
-     */    
+     */
     public BindingInfo createBindingInfo(Service service, String namespace, Object config) {
         BindingInfo bi = createBindingInfo(service.getServiceInfos().get(0), namespace, config);
         if (bi.getName() == null) {
-            bi.setName(new QName(service.getName().getNamespaceURI(), 
+            bi.setName(new QName(service.getName().getNamespaceURI(),
                                  service.getName().getLocalPart() + "Binding"));
         }
         return bi;
     }
-    
-    
+
+
     /**
      * Copies extensors from the Binding to BindingInfo.
      * @param service
@@ -100,7 +100,7 @@
 
     protected BindingInfo initializeBindingInfo(ServiceInfo service, Binding binding, BindingInfo bi) {
         bi.setName(binding.getQName());
-        copyExtensors(bi, binding.getExtensibilityElements(), service);
+        copyExtensors(bi, binding.getExtensibilityElements(), null);
 
         for (BindingOperation bop : cast(binding.getBindingOperations(), BindingOperation.class)) {
             String inName = null;
@@ -122,39 +122,40 @@
                 }
             }
             if (bop2 != null) {
-                copyExtensors(bop2, bop.getExtensibilityElements(), service);
+                copyExtensors(bop2, bop.getExtensibilityElements(), bop2);
                 if (bop.getBindingInput() != null) {
-                    copyExtensors(bop2.getInput(), bop.getBindingInput().getExtensibilityElements(), service);
+                    copyExtensors(bop2.getInput(), bop.getBindingInput().getExtensibilityElements(), bop2);
                 }
                 if (bop.getBindingOutput() != null) {
                     copyExtensors(bop2.getOutput(), bop.getBindingOutput().getExtensibilityElements(),
-                                  service);
+                                  bop2);
                 }
                 for (BindingFault f : cast(bop.getBindingFaults().values(), BindingFault.class)) {
                     copyExtensors(bop2.getFault(new QName(service.getTargetNamespace(), f.getName())),
-                                  bop.getBindingFault(f.getName()).getExtensibilityElements(), service);
+                                  bop.getBindingFault(f.getName()).getExtensibilityElements(), bop2);
                 }
             }
         }
         return bi;
     }
 
-    private void copyExtensors(AbstractPropertiesHolder info, List<?> extList, ServiceInfo service) {
+    private void copyExtensors(AbstractPropertiesHolder info, List<?> extList, BindingOperationInfo bop) {
         if (info != null) {
             for (ExtensibilityElement ext : cast(extList, ExtensibilityElement.class)) {
                 info.addExtensor(ext);
-                addMessageFromBinding(ext, service);
+                if (bop != null) {
+                    addMessageFromBinding(ext, bop);
+                }
             }
         }
     }
-    
-    protected void addMessageFromBinding(ExtensibilityElement ext, ServiceInfo serviceInfo) {
-        
+
+    protected void addMessageFromBinding(ExtensibilityElement ext, BindingOperationInfo bop) {
     }
-    
+
     public void addListener(Destination d, Endpoint e) {
         ChainInitiationObserver observer = new ChainInitiationObserver(e, bus);
-        
+
         d.setMessageObserver(observer);
     }
 
@@ -175,5 +176,5 @@
     public void setActivationNamespaces(Collection<String> activationNamespaces) {
         this.activationNamespaces = activationNamespaces;
     }
-    
+
 }

Modified: incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/HandlerChainInvoker.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/HandlerChainInvoker.java?view=diff&rev=554819&r1=554818&r2=554819
==============================================================================
--- incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/HandlerChainInvoker.java (original)
+++ incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/HandlerChainInvoker.java Mon Jul  9 20:50:15 2007
@@ -201,11 +201,11 @@
         if (LOG.isLoggable(Level.FINE)) {
             LOG.log(Level.FINE, "closing protocol handlers - handler count:" + invokedHandlers.size());
         }
-        
+
         if (isClosed()) {
             return;
         }
-        
+
         invokeReversedClose();
     }
 
@@ -223,7 +223,7 @@
     /**
      * Allows an the logical handler chain for one invoker to be used as an
      * alternate chain for another.
-     * 
+     *
      * @param invoker the invoker encalsulting the alternate logical handler
      *            chain
      */
@@ -276,7 +276,7 @@
         if (isClosed()) {
             return false;
         }
-        
+
         //The fault is raised from previous handlers, in this case, we only invoke handleFault
         //if the fault is a ProtocolException
         if (fault != null && !(fault instanceof ProtocolException)) {
@@ -298,7 +298,7 @@
 
         return continueProcessing;
     }
-    
+
     @SuppressWarnings("unchecked")
     private boolean invokeHandleFault(List<? extends Handler> handlerChain, MessageContext ctx) {
         boolean continueProcessing = true;
@@ -308,7 +308,6 @@
                 if (invokeThisHandler(h)) {
                     closeHandlers.add(h);
                     markHandlerInvoked(h);
-                    //System.out.println("===========handleFault " + h.toString());
                     continueProcessing = h.handleFault(ctx);
                 }
                 if (!continueProcessing) {
@@ -332,7 +331,6 @@
                 if (invokeThisHandler(h)) {
                     closeHandlers.add(h);
                     markHandlerInvoked(h);
-                    //System.out.println("===========handlerMessage " + h.toString());
                     continueProcessing = h.handleMessage(ctx);
                 }
                 if (!continueProcessing) {
@@ -346,7 +344,7 @@
             }
         } catch (ProtocolException e) {
             LOG.log(Level.FINE, "handleMessage raised exception", e);
-             
+
             if (responseExpected) {
                 changeMessageDirection(ctx);
                 messageDirectionReversed = true;
@@ -368,18 +366,18 @@
             throw e;
         } catch (RuntimeException e) {
             LOG.log(Level.WARNING, "HANDLER_RAISED_RUNTIME_EXCEPTION", e);
- 
+
             if (responseExpected) {
                 changeMessageDirection(ctx);
                 messageDirectionReversed = true;
             }
-            
+
             //special case for client side, this is because we do nothing in client fault
             //observer, we have to call close here.
             if (isRequestor()) {
                 invokeReversedClose();
             }
-            
+
             continueProcessing = false;
             setFault(e);
             throw e;
@@ -390,7 +388,7 @@
     /*
      * When the message direction is reversed, if the message is not already a
      * fault message then it is replaced with a fault message
-     */    
+     */
     private void setFaultMessage(MessageContext mc, Exception exception) {
         Message msg = ((WrappedMessageContext)mc).getWrappedMessage();
         msg.setContent(Exception.class, exception);
@@ -433,7 +431,7 @@
             // do nothing
         }
     }
- 
+
     @SuppressWarnings("unchecked")
     private boolean invokeReversedHandleFault(MessageContext ctx) {
         boolean continueProcessing = true;
@@ -442,7 +440,6 @@
             int index = invokedHandlers.size() - 2;
             while (index >= 0 && continueProcessing) {
                 Handler h = invokedHandlers.get(index);
-                //System.out.println("===========invokeReversedHandleFault " + h.toString());
                 if (h instanceof LogicalHandler) {
                     continueProcessing = h.handleFault(logicalMessageContext);
                 } else {
@@ -476,7 +473,6 @@
         int index = invokedHandlers.size() - 1;
         while (index >= 0) {
             Handler handler = invokedHandlers.get(index);
-            //System.out.println("===========invokeReversedClose " + handler.toString());
             if (handler instanceof LogicalHandler) {
                 handler.close(logicalMessageContext);
             } else {
@@ -506,7 +502,7 @@
     private boolean isTheLastInvokedHandler(Handler h) {
         return invokedHandlers.contains(h) && invokedHandlers.indexOf(h) == (invokedHandlers.size() - 1);
     }
-    
+
     private void markHandlerInvoked(Handler h) {
         if (!invokedHandlers.contains(h)) {
             invokedHandlers.add(h);

Modified: incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/soap/SOAPHandlerFaultInInterceptor.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/soap/SOAPHandlerFaultInInterceptor.java?view=diff&rev=554819&r1=554818&r2=554819
==============================================================================
--- incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/soap/SOAPHandlerFaultInInterceptor.java (original)
+++ incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/soap/SOAPHandlerFaultInInterceptor.java Mon Jul  9 20:50:15 2007
@@ -45,7 +45,7 @@
 public class SOAPHandlerFaultInInterceptor extends
         AbstractProtocolHandlerInterceptor<SoapMessage> implements
         SoapInterceptor {
-    
+
     public SOAPHandlerFaultInInterceptor(Binding binding) {
         super(binding, Phase.PRE_PROTOCOL);
     }
@@ -77,11 +77,11 @@
         MessageContext context = createProtocolMessageContext(message);
         HandlerChainInvoker invoker = getInvoker(message);
         invoker.setProtocolMessageContext(context);
-        
+
         if (!invoker.invokeProtocolHandlersHandleFault(isRequestor(message), context)) {
             handleAbort(message, context);
-        }          
-        
+        }
+
         SOAPMessage msg = message.getContent(SOAPMessage.class);
         if (msg != null) {
             XMLStreamReader xmlReader = createXMLStreamReaderFromSOAPMessage(msg);
@@ -89,7 +89,7 @@
         }
 
     }
-    
+
     private void handleAbort(SoapMessage message, MessageContext context) {
         if (isRequestor(message)) {
 
@@ -99,9 +99,8 @@
             } else {
                 // client side inbound - Normal handler message processing
                 // stops, but the inbound interceptor chain still continues, dispatch the message
-                //By onCompletion here, we can skip rest Logical handlers 
+                //By onCompletion here, we can skip rest Logical handlers
                 onCompletion(message);
-                //System.out.println("SOAP Handler handleMessage returns false on client inbound, aborting");
             }
         } else {
             if (!getInvoker(message).isOutbound()) {
@@ -113,12 +112,12 @@
             }
         }
     }
-    
+
     @Override
     protected MessageContext createProtocolMessageContext(SoapMessage message) {
         return new SOAPMessageContextImpl(message);
     }
-    
+
     private XMLStreamReader createXMLStreamReaderFromSOAPMessage(SOAPMessage soapMessage) {
         // responseMsg.setContent(SOAPMessage.class, soapMessage);
         XMLStreamReader xmlReader = null;

Modified: incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/soap/SOAPHandlerInterceptor.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/soap/SOAPHandlerInterceptor.java?view=diff&rev=554819&r1=554818&r2=554819
==============================================================================
--- incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/soap/SOAPHandlerInterceptor.java (original)
+++ incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/soap/SOAPHandlerInterceptor.java Mon Jul  9 20:50:15 2007
@@ -60,7 +60,7 @@
         AbstractProtocolHandlerInterceptor<SoapMessage> implements
         SoapInterceptor {
     private static final SAAJOutInterceptor SAAJ_OUT = new SAAJOutInterceptor();
-    
+
     AbstractSoapInterceptor ending = new AbstractSoapInterceptor(
             SOAPHandlerInterceptor.class.getName() + ".ENDING",
             Phase.USER_PROTOCOL) {
@@ -69,7 +69,7 @@
             handleMessageInternal(message);
         }
     };
-    
+
     public SOAPHandlerInterceptor(Binding binding) {
         super(binding, Phase.PRE_PROTOCOL);
         addAfter(MustUnderstandInterceptor.class.getName());
@@ -110,35 +110,35 @@
             SOAPMessage msg = message.getContent(SOAPMessage.class);
             if (msg != null) {
                 XMLStreamReader xmlReader = createXMLStreamReaderFromSOAPMessage(msg);
-                message.setContent(XMLStreamReader.class, xmlReader);   
+                message.setContent(XMLStreamReader.class, xmlReader);
                 // replace headers
                 try {
                     SAAJInInterceptor.replaceHeaders(msg, message);
                 } catch (SOAPException e) {
                     e.printStackTrace();
-                }                
+                }
             }
         }
     }
-    
+
     private void handleMessageInternal(SoapMessage message) {
         MessageContext context = createProtocolMessageContext(message);
         HandlerChainInvoker invoker = getInvoker(message);
         invoker.setProtocolMessageContext(context);
-        
+
         if (!invoker.invokeProtocolHandlers(isRequestor(message), context)) {
             handleAbort(message, context);
-        } 
-        
+        }
+
         // If this is the outbound and end of MEP, call MEP completion
-        if (isRequestor(message) && invoker.getLogicalHandlers().isEmpty() 
+        if (isRequestor(message) && invoker.getLogicalHandlers().isEmpty()
             && !isOutbound(message) && isMEPComlete(message)) {
             onCompletion(message);
         } else if (isOutbound(message) && isMEPComlete(message)) {
             onCompletion(message);
         }
     }
-    
+
     private void handleAbort(SoapMessage message, MessageContext context) {
         if (isRequestor(message)) {
             // client side outbound
@@ -162,15 +162,14 @@
                                     SOAPHandlerInterceptor.class.getName());
                     observer.onMessage(responseMsg);
                 }
-                
-                //We dont call onCompletion here, as onCompletion will be called by inbound 
+
+                //We dont call onCompletion here, as onCompletion will be called by inbound
                 //LogicalHandlerInterceptor
             } else {
                 // client side inbound - Normal handler message processing
                 // stops, but the inbound interceptor chain still continues, dispatch the message
-                //By onCompletion here, we can skip following Logical handlers 
+                //By onCompletion here, we can skip following Logical handlers
                 onCompletion(message);
-                //System.out.println("SOAP Handler handleMessage returns false on client inbound, aborting");
             }
         } else {
             if (!getInvoker(message).isOutbound()) {
@@ -198,11 +197,10 @@
             } else {
                 // server side outbound - Normal handler message processing
                 // stops, but still continue the outbound interceptor chain, dispatch the message
-                //System.out.println("SOAP Handler handleMessage returns false on server outbound, aborting");
             }
         }
     }
-    
+
     @Override
     protected MessageContext createProtocolMessageContext(SoapMessage message) {
         SOAPMessageContextImpl sm = new SOAPMessageContextImpl(message);
@@ -210,7 +208,7 @@
         ContextPropertiesMapping.mapCxf2Jaxws(message.getExchange(), sm, requestor);
         return sm;
     }
-    
+
     private XMLStreamReader createXMLStreamReaderFromSOAPMessage(SOAPMessage soapMessage) {
         // responseMsg.setContent(SOAPMessage.class, soapMessage);
         XMLStreamReader xmlReader = null;

Modified: incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceFactoryBean.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceFactoryBean.java?view=diff&rev=554819&r1=554818&r2=554819
==============================================================================
--- incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceFactoryBean.java (original)
+++ incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceFactoryBean.java Mon Jul  9 20:50:15 2007
@@ -66,7 +66,7 @@
  */
 public class JaxWsServiceFactoryBean extends ReflectionServiceFactoryBean {
     private static final Logger LOG = LogUtils.getL7dLogger(JaxWsServiceFactoryBean.class);
-    
+
     private AbstractServiceConfiguration jaxWsConfiguration;
 
     private JaxWsImplementorInfo implInfo;
@@ -88,7 +88,7 @@
     protected Invoker createInvoker() {
         return null;
     }
-    
+
     protected SimpleMethodDispatcher getMethodDispatcher() {
         return methodDispatcher;
     }
@@ -157,7 +157,7 @@
 
         // rpc out-message-part-info class mapping
         Operation op = (Operation)o.getProperty(WSDLServiceBuilder.WSDL_OPERATION);
-        
+
         initializeClassInfo(o, method, op == null ? null
             : CastUtils.cast(op.getParameterOrdering(), String.class));
     }
@@ -171,7 +171,7 @@
         }
     }
 
- 
+
     protected void initializeWSDLOperationsForProvider() {
         Type[] genericInterfaces = getServiceClass().getGenericInterfaces();
         ParameterizedType pt = (ParameterizedType)genericInterfaces[0];
@@ -285,7 +285,7 @@
                 || java.rmi.RemoteException.class.isAssignableFrom(exClass)) {
                 return null;
             }
-            
+
             Method getFaultInfo = exClass.getMethod("getFaultInfo", new Class[0]);
 
             return getFaultInfo.getReturnType();
@@ -298,7 +298,7 @@
 
     /**
      * set the holder generic type info into message part info
-     * 
+     *
      * @param o
      * @param method
      */
@@ -310,17 +310,17 @@
                 //make it.
                 WSDLServiceBuilder.checkForWrapped(o, true);
             }
-            
+
             if (o.hasInput()) {
                 MessageInfo input = o.getInput();
-                MessagePartInfo part = input.getMessageParts().get(0);                
+                MessagePartInfo part = input.getMessageParts().get(0);
                 part.setTypeClass(getRequestWrapper(method));
                 part.setProperty("REQUEST.WRAPPER.CLASSNAME", getRequestWrapperClassName(method));
             }
 
             if (o.hasOutput()) {
                 MessageInfo input = o.getOutput();
-                MessagePartInfo part = input.getMessageParts().get(0);                
+                MessagePartInfo part = input.getMessageParts().get(0);
                 part.setTypeClass(getResponseWrapper(method));
                 part.setProperty("RESPONSE.WRAPPER.CLASSNAME", getResponseWrapperClassName(method));
                 part.setIndex(-1);
@@ -341,7 +341,7 @@
         Type[] genericTypes = method.getGenericParameterTypes();
         for (int i = 0; i < paramTypes.length; i++) {
             Class paramType = paramTypes[i];
-            Type genericType = genericTypes[i];            
+            Type genericType = genericTypes[i];
             initializeParameter(o, method, i, paramType, genericType);
         }
 
@@ -354,7 +354,7 @@
         setFaultClassInfo(o, method);
     }
 
-    private void initializeParameter(OperationInfo o, Method method, int i, 
+    private void initializeParameter(OperationInfo o, Method method, int i,
                                      Class paramType, Type genericType) {
         boolean isIn = isInParam(method, i);
         boolean isOut = isOutParam(method, i);
@@ -395,8 +395,8 @@
             part.setProperty(ReflectionServiceFactoryBean.MODE_INOUT, Boolean.TRUE);
             initializeParameter(part, paramType, genericType);
             part.setIndex(i);
-            
-            name = getOutPartName(o, method, i); 
+
+            name = getOutPartName(o, method, i);
             part = o.getOutput().getMessagePart(name);
             part.setProperty(ReflectionServiceFactoryBean.MODE_INOUT, Boolean.TRUE);
             initializeParameter(part, paramType, genericType);

Modified: incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java?view=diff&rev=554819&r1=554818&r2=554819
==============================================================================
--- incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java (original)
+++ incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java Mon Jul  9 20:50:15 2007
@@ -103,7 +103,7 @@
 
     protected Class<?> serviceClass;
 
-    private List<AbstractServiceConfiguration> serviceConfigurations = 
+    private List<AbstractServiceConfiguration> serviceConfigurations =
         new ArrayList<AbstractServiceConfiguration>();
     private QName serviceName;
     private Invoker invoker;
@@ -114,11 +114,11 @@
     private Map<String, Object> properties;
     private QName endpointName;
     private boolean populateFromClass;
-    
+
 
     public ReflectionServiceFactoryBean() {
         getServiceConfigurations().add(0, new DefaultServiceConfiguration());
-        
+
         setDataBinding(new JAXBDataBinding());
 
         ignoredClasses.add("java.lang.Object");
@@ -302,7 +302,7 @@
 
             initializeWSDLOperation(intf, o, selected);
         }
-        
+
         //Some of the operations may have switched from unwrapped to wrapped.  Update the bindings.
         for (ServiceInfo service : getService().getServiceInfos()) {
             for (BindingInfo bi : service.getBindings()) {
@@ -402,7 +402,7 @@
                     QName wraperBeanName = op.getInput().getMessageParts().get(0).getElementQName();
                     XmlSchemaElement e = null;
                     for (SchemaInfo s : serviceInfo.getSchemas()) {
-                        e = s.getElementByQName(wraperBeanName);                        
+                        e = s.getElementByQName(wraperBeanName);
                         if (e != null) {
                             op.getInput().getMessageParts().get(0).setXmlSchema(e);
                             break;
@@ -412,19 +412,19 @@
                         createWrappedSchema(serviceInfo, op.getInput(),
                                             op.getUnwrappedOperation().getInput(), wraperBeanName);
                     }
-                    
+
                     for (MessagePartInfo mpi : op.getInput().getMessageParts()) {
                         if (Boolean.TRUE.equals(mpi.getProperty(HEADER))) {
                             QName qn = (QName)mpi.getProperty(ELEMENT_NAME);
                             mpi.setElement(true);
                             mpi.setElementQName(qn);
-                            
-                            
+
+
                             checkForHeaderElement(serviceInfo, mpi);
                         }
                     }
-                    
-                  
+
+
                 }
                 if (op.hasOutput()) {
                     QName wraperBeanName = op.getOutput().getMessageParts().get(0).getElementQName();
@@ -439,13 +439,13 @@
                         createWrappedSchema(serviceInfo, op.getOutput(), op.getUnwrappedOperation()
                             .getOutput(), wraperBeanName);
                     }
-                    
+
                     for (MessagePartInfo mpi : op.getOutput().getMessageParts()) {
                         if (Boolean.TRUE.equals(mpi.getProperty(HEADER))) {
                             QName qn = (QName)mpi.getProperty(ELEMENT_NAME);
                             mpi.setElement(true);
                             mpi.setElementQName(qn);
-                            
+
                             checkForHeaderElement(serviceInfo, mpi);
                         }
                     }
@@ -454,7 +454,7 @@
         }
 
     }
-    
+
     protected void checkForHeaderElement(ServiceInfo serviceInfo, MessagePartInfo mpi) {
         for (SchemaInfo s : serviceInfo.getSchemas()) {
             XmlSchemaElement e = s.getElementByQName(mpi.getElementQName());
@@ -464,7 +464,7 @@
         }
         SchemaInfo si = getOrCreateSchema(serviceInfo, mpi.getElementQName().getNamespaceURI());
         XmlSchema schema = si.getSchema();
-        
+
         XmlSchemaElement el = new XmlSchemaElement();
         el.setQName(mpi.getElementQName());
         el.setName(mpi.getElementQName().getLocalPart());
@@ -474,12 +474,12 @@
         el.setMinOccurs(1);
         el.setMaxOccurs(0);
         el.setNillable(true);
-        
+
         XmlSchemaType tp = (XmlSchemaType)mpi.getXmlSchema();
         el.setSchemaTypeName(tp.getQName());
     }
 
-    
+
     protected boolean qualifyWrapperSchema() {
         return true;
     }
@@ -487,18 +487,18 @@
     protected void createWrappedSchema(ServiceInfo serviceInfo, AbstractMessageContainer wrappedMessage,
                                        AbstractMessageContainer unwrappedMessage, QName wraperBeanName) {
         SchemaInfo schemaInfo = getOrCreateSchema(serviceInfo, wraperBeanName.getNamespaceURI());
-        
-        createWrappedMessageSchema(serviceInfo, wrappedMessage, unwrappedMessage, 
+
+        createWrappedMessageSchema(serviceInfo, wrappedMessage, unwrappedMessage,
                                    schemaInfo.getSchema(), wraperBeanName);
     }
 
-    protected void createBareMessage(ServiceInfo serviceInfo, 
+    protected void createBareMessage(ServiceInfo serviceInfo,
                                      OperationInfo opInfo, boolean isOut) {
 
         SchemaInfo schemaInfo = null;
         XmlSchema schema = null;
         MessageInfo message = isOut ?  opInfo.getOutput() : opInfo.getInput();
-        
+
         if (message.getMessageParts().size() == 0) {
             return;
         }
@@ -506,7 +506,7 @@
         Method method = (Method)opInfo.getProperty(METHOD);
         int paraNumber = 0;
         for (MessagePartInfo mpi : message.getMessageParts()) {
-            QName qname = (QName)mpi.getProperty(ELEMENT_NAME);          
+            QName qname = (QName)mpi.getProperty(ELEMENT_NAME);
             if (message.getMessageParts().size() == 1) {
                 qname = qname == null && !isOut ? getInParameterName(opInfo, method, -1) : qname;
                 qname = qname == null && isOut ? getOutParameterName(opInfo, method, -1) : qname;
@@ -514,19 +514,19 @@
                     qname = isOut
                         ? new QName(qname.getNamespaceURI(), method.getName() + "Response") : new QName(qname
                             .getNamespaceURI(), method.getName());
-                }               
-                
+                }
+
             }
-            
+
             if (isOut && message.getMessageParts().size() > 1 && qname == null) {
                 while (!isOutParam(method, paraNumber)) {
                     paraNumber++;
                 }
-                qname = getOutParameterName(opInfo, method, paraNumber);                     
-            } else if (qname == null) {               
+                qname = getOutParameterName(opInfo, method, paraNumber);
+            } else if (qname == null) {
                 qname = getInParameterName(opInfo, method, paraNumber);
-            }                 
-                
+            }
+
             for (SchemaInfo s : serviceInfo.getSchemas()) {
                 if (s.getNamespaceURI().equals(qname.getNamespaceURI())) {
                     schemaInfo = s;
@@ -558,7 +558,7 @@
             XmlSchemaElement el = new XmlSchemaElement();
             el.setQName(qname);
             el.setName(qname.getLocalPart());
-            
+
             if (!isExistSchemaElement(schema, qname)) {
                 schema.getItems().add(el);
             }
@@ -574,7 +574,7 @@
                 String ns = mpi.getTypeQName().getNamespaceURI();
                 if (!ns.equals(schema.getTargetNamespace()) && !ns.equals(WSDLConstants.NU_SCHEMA_XSD)) {
                     XmlSchemaImport is = new XmlSchemaImport();
-                    is.setNamespace(ns);                   
+                    is.setNamespace(ns);
                     if (!isExistImport(schema, ns)) {
                         schema.getItems().add(is);
                     }
@@ -605,7 +605,7 @@
         return isExist;
 
     }
-    
+
     private boolean isExistSchemaElement(XmlSchema schema, QName qn) {
         boolean isExist = false;
         for (Iterator ite = schema.getItems().getIterator(); ite.hasNext();) {
@@ -620,11 +620,11 @@
         }
         return isExist;
     }
-    
-    
+
+
     private void createWrappedMessageSchema(ServiceInfo serviceInfo,
                                             AbstractMessageContainer wrappedMessage,
-                                            AbstractMessageContainer unwrappedMessage, 
+                                            AbstractMessageContainer unwrappedMessage,
                                             XmlSchema schema,
                                             QName wrapperName) {
         XmlSchemaElement el = new XmlSchemaElement();
@@ -679,7 +679,7 @@
                 }
             }
         }
-        
+
     }
 
     private SchemaInfo getOrCreateSchema(ServiceInfo serviceInfo, String namespaceURI) {
@@ -697,7 +697,7 @@
         }
         serviceInfo.setXmlSchemaCollection(col);
         schemaInfo.setSchema(schema);
-        
+
         NamespaceMap nsMap = new NamespaceMap();
         nsMap.add(WSDLConstants.NP_SCHEMA_XSD, WSDLConstants.NU_SCHEMA_XSD);
         schema.setNamespaceContext(nsMap);
@@ -747,7 +747,7 @@
                 if (!isRPC(method) && !isWrapped(method)) {
                     part.setProperty(ELEMENT_NAME, q2);
                 }
-                
+
                 if (isHeader(method, -1)) {
                     part.setProperty(HEADER, Boolean.TRUE);
                     if (isRPC(method) || !isWrapped(method)) {
@@ -756,7 +756,7 @@
                         part.setProperty(ELEMENT_NAME, q2);
                     }
                 }
-                
+
                 part.setIndex(-1);
             }
 
@@ -861,7 +861,7 @@
         } else if (getResponseWrapperClassName(method) != null) {
             part.setProperty("RESPONSE.WRAPPER.CLASSNAME", getResponseWrapperClassName(method));
         }
-        
+
         for (MessagePartInfo mpart : op.getOutput().getMessageParts()) {
             if (Boolean.TRUE.equals(mpart.getProperty(HEADER))) {
                 int idx = mpart.getIndex();
@@ -1056,7 +1056,7 @@
         return true;
     }
 
-    protected void initializeFaults(final InterfaceInfo service, 
+    protected void initializeFaults(final InterfaceInfo service,
                                     final OperationInfo op, final Method method) {
         // Set up the fault messages
         final Class[] exceptionClasses = method.getExceptionTypes();
@@ -1096,7 +1096,7 @@
                 .addMessagePart(new QName(fi.getName().getNamespaceURI(), field.getName()));
             mpi.setProperty(Class.class.getName(), field.getType());
         }
-        
+
         MessagePartInfo mpi = fi.addMessagePart(new QName(fi.getName().getNamespaceURI(), "message"));
         mpi.setProperty(Class.class.getName(), String.class);
     }
@@ -1147,7 +1147,7 @@
      * to the end. I.e. if there is already two methods named
      * <code>doSomething</code>, the first one will have an operation name of
      * "doSomething" and the second "doSomething1".
-     * 
+     *
      * @param service
      * @param method
      */
@@ -1270,7 +1270,7 @@
         }
         return null;
     }
-    
+
     protected SimpleMethodDispatcher getMethodDispatcher() {
         return methodDispatcher;
     }
@@ -1390,12 +1390,12 @@
     }
 
     /**
-     *  Returns non-null if wrapped mode was explicitely disabled or enabled. 
+     *  Returns non-null if wrapped mode was explicitely disabled or enabled.
      */
     public Boolean getWrapped() {
         return this.wrappedStyle;
     }
-    
+
     public Map<String, Object> getProperties() {
         return properties;
     }

Modified: incubator/cxf/trunk/systests/pom.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/pom.xml?view=diff&rev=554819&r1=554818&r2=554819
==============================================================================
--- incubator/cxf/trunk/systests/pom.xml (original)
+++ incubator/cxf/trunk/systests/pom.xml Mon Jul  9 20:50:15 2007
@@ -7,9 +7,9 @@
   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
@@ -37,6 +37,45 @@
     </scm>
     <build>
         <plugins>
+            <plugin>
+                <groupId>org.apache.cxf</groupId>
+                <artifactId>cxf-codegen-plugin</artifactId>
+                <version>${project.version}</version>
+                <executions>
+                    <execution>
+                        <id>generate-test-sources</id>
+                        <phase>generate-test-sources</phase>
+                        <configuration>
+                            <testSourceRoot>${basedir}/target/generated/src/test/java</testSourceRoot>
+                            <wsdlOptions>
+                                <wsdlOption>
+                                    <wsdl>${basedir}/src/test/resources/wsdl/pizza_service.wsdl</wsdl>
+                                    <!--
+                                        By default CXF will generate the extra header (a.k.a out of band header) parameter
+                                    -->
+                                    <!--
+                                        <extraargs>
+                                        <extraarg>-exsh</extraarg>
+                                        <extraarg>true</extraarg>
+                                        </extraargs>
+                                    -->
+                                </wsdlOption>
+                            </wsdlOptions>
+                        </configuration>
+                        <goals>
+                            <goal>wsdl2java</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <dependencies>
+                  <dependency>
+                    <groupId>org.apache.cxf</groupId>
+                    <artifactId>cxf-rt-bindings-soap</artifactId>
+                    <version>${project.version}</version>
+                  </dependency>
+                </dependencies>
+            </plugin>
+
             <plugin>
                 <artifactId>maven-jar-plugin</artifactId>
                 <executions>

Modified: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jaxb/TestServiceTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jaxb/TestServiceTest.java?view=diff&rev=554819&r1=554818&r2=554819
==============================================================================
--- incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jaxb/TestServiceTest.java (original)
+++ incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jaxb/TestServiceTest.java Mon Jul  9 20:50:15 2007
@@ -41,7 +41,6 @@
         Widget expected = new ExtendedWidget(42, "blah", "blah", true, true);
 
         Widget widgetFromService = testClient.getWidgetById((long)42);
-        System.out.println(widgetFromService.toString());
 
         assertEquals(expected, widgetFromService);
 
@@ -49,7 +48,7 @@
 
     /*
      * (non-Javadoc)
-     * 
+     *
      * @see org.springframework.test.AbstractSingleSpringContextTests#getConfigLocations()
      */
     @Override

Modified: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jaxb/util/ClassArrayFactoryBean.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jaxb/util/ClassArrayFactoryBean.java?view=diff&rev=554819&r1=554818&r2=554819
==============================================================================
--- incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jaxb/util/ClassArrayFactoryBean.java (original)
+++ incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jaxb/util/ClassArrayFactoryBean.java Mon Jul  9 20:50:15 2007
@@ -29,7 +29,7 @@
 
     /*
      * (non-Javadoc)
-     * 
+     *
      * @see org.springframework.beans.factory.FactoryBean#getObject()
      */
     public Object getObject() throws Exception {
@@ -37,14 +37,13 @@
         final Class<?>[] classes = new Class<?>[classNames.size()];
         for (int i = 0; i < classNames.size(); i++) {
             classes[i] = Class.forName(classNames.get(i));
-            System.out.println("Class: " + classes[i].toString());
         }
         return classes;
     }
 
     /*
      * (non-Javadoc)
-     * 
+     *
      * @see org.springframework.beans.factory.FactoryBean#getObjectType()
      */
     public Class<?> getObjectType() {
@@ -53,7 +52,7 @@
 
     /*
      * (non-Javadoc)
-     * 
+     *
      * @see org.springframework.beans.factory.FactoryBean#isSingleton()
      */
     public boolean isSingleton() {

Modified: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/management/ManagedClientServerTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/management/ManagedClientServerTest.java?view=diff&rev=554819&r1=554818&r2=554819
==============================================================================
--- incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/management/ManagedClientServerTest.java (original)
+++ incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/management/ManagedClientServerTest.java Mon Jul  9 20:50:15 2007
@@ -43,13 +43,13 @@
 
 
 public class ManagedClientServerTest extends AbstractBusClientServerTestBase {
-    
-    private final QName portName = 
+
+    private final QName portName =
         new QName("http://apache.org/hello_world_soap_http",
-                  "SoapPort");    
-    
-    public static class Server extends AbstractBusTestServerBase {        
-        
+                  "SoapPort");
+
+    public static class Server extends AbstractBusTestServerBase {
+
         protected void run() {
             SpringBusFactory bf = new SpringBusFactory();
             Bus bus = bf.createBus("org/apache/cxf/systest/management/managed-spring.xml", true);
@@ -70,7 +70,7 @@
             }
         }
     }
-    
+
     @BeforeClass
     public static void startServers() throws Exception {
         assertTrue("server did not launch correctly", launchServer(Server.class, true));
@@ -80,7 +80,7 @@
     public static void shutdownBus() throws Exception {
         BusFactory.getDefaultBus().shutdown(false);
     }
-    
+
     @Test
     public void testManagedEndpoint() throws Exception {
         Bus bus = SpringBusFactory.getDefaultBus();
@@ -89,50 +89,49 @@
         InstrumentationManagerImpl impl = (InstrumentationManagerImpl)im;
         assertTrue(impl.isEnabled());
         assertNotNull(impl.getMBeanServer());
-        
-        MBeanServer mbs = im.getMBeanServer();        
-        ObjectName name = new ObjectName(ManagementConstants.DEFAULT_DOMAIN_NAME 
+
+        MBeanServer mbs = im.getMBeanServer();
+        ObjectName name = new ObjectName(ManagementConstants.DEFAULT_DOMAIN_NAME
                                          + ":type=Bus.Service.Endpoint,*");
-        Set s = mbs.queryNames(name, null); 
-        System.out.println("the size is " + s.size());
+        Set s = mbs.queryNames(name, null);
         assertTrue(s.size() == 1);
         name = (ObjectName)s.iterator().next();
-        
-        Object val = mbs.invoke(name, "getState", new Object[0], new String[0]);    
+
+        Object val = mbs.invoke(name, "getState", new Object[0], new String[0]);
         assertEquals("Service should have been started.", "STARTED", val);
-        
+
         SOAPService service = new SOAPService();
         assertNotNull(service);
-        
+
         Greeter greeter = service.getPort(portName, Greeter.class);
-        
+
         String response = new String("Bonjour");
         String reply = greeter.sayHi();
         assertNotNull("no response received from service", reply);
-        assertEquals(response, reply);        
-        
-        mbs.invoke(name, "stop", new Object[0], new String[0]);    
+        assertEquals(response, reply);
+
+        mbs.invoke(name, "stop", new Object[0], new String[0]);
 
         val = mbs.getAttribute(name, "State");
-        
+
         assertEquals("Service should have been stopped.", "STOPPED", val);
-        
+
         try {
             reply = greeter.sayHi();
             fail("Endpoint should not be active at this point.");
         } catch (Exception ex) {
             //Expected
         }
-        
-        mbs.invoke(name, "start", new Object[0], new String[0]);    
 
-        val = mbs.invoke(name, "getState", new Object[0], new String[0]);    
+        mbs.invoke(name, "start", new Object[0], new String[0]);
+
+        val = mbs.invoke(name, "getState", new Object[0], new String[0]);
         assertEquals("Service should have been started.", "STARTED", val);
-        
+
         reply = greeter.sayHi();
         assertNotNull("no response received from service", reply);
-        assertEquals(response, reply); 
-        
+        assertEquals(response, reply);
+
     }
-    
+
 }

Added: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/soapheader/HeaderClientServerTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/soapheader/HeaderClientServerTest.java?view=auto&rev=554819
==============================================================================
--- incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/soapheader/HeaderClientServerTest.java (added)
+++ incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/soapheader/HeaderClientServerTest.java Mon Jul  9 20:50:15 2007
@@ -0,0 +1,76 @@
+/**
+ * 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.cxf.systest.soapheader;
+
+import java.net.URL;
+
+import javax.xml.namespace.QName;
+
+import com.mypizzaco.pizza.PizzaPortType;
+import com.mypizzaco.pizza.PizzaService;
+import com.mypizzaco.pizza.types.CallerIDHeaderType;
+import com.mypizzaco.pizza.types.OrderPizzaResponseType;
+import com.mypizzaco.pizza.types.OrderPizzaType;
+import com.mypizzaco.pizza.types.ToppingsListType;
+import org.apache.cxf.testutil.common.AbstractBusClientServerTestBase;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+public class HeaderClientServerTest extends AbstractBusClientServerTestBase {
+
+    private final QName serviceName = new QName("http://mypizzaco.com/pizza", "PizzaService");
+
+    @BeforeClass
+    public static void startServers() throws Exception {
+        assertTrue("server did not launch correctly", launchServer(Server.class));
+    }
+
+    @Test
+    public void testBasicConnection() throws Exception {
+        PizzaPortType port = getPort();
+
+        OrderPizzaType req = new OrderPizzaType();
+        ToppingsListType t = new ToppingsListType();
+        t.getTopping().add("test");
+        req.setToppings(t);
+
+        CallerIDHeaderType header = new CallerIDHeaderType();
+        header.setName("mao");
+        header.setPhoneNumber("108");
+
+        OrderPizzaResponseType res =  port.orderPizza(req, header);
+
+        assertEquals(208, res.getMinutesUntilReady());
+    }
+
+    private PizzaPortType getPort() {
+        URL wsdl = getClass().getResource("/wsdl/pizza_service.wsdl");
+        assertNotNull("WSDL is null", wsdl);
+
+        PizzaService service = new PizzaService(wsdl, serviceName);
+        assertNotNull("Service is ull ", service);
+
+        return service.getPizzaPort();
+    }
+
+}
+

Added: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/soapheader/PizzaImpl.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/soapheader/PizzaImpl.java?view=auto&rev=554819
==============================================================================
--- incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/soapheader/PizzaImpl.java (added)
+++ incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/soapheader/PizzaImpl.java Mon Jul  9 20:50:15 2007
@@ -0,0 +1,34 @@
+/**
+ * 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.cxf.systest.soapheader;
+
+import com.mypizzaco.pizza.PizzaPortType;
+import com.mypizzaco.pizza.types.CallerIDHeaderType;
+import com.mypizzaco.pizza.types.OrderPizzaResponseType;
+import com.mypizzaco.pizza.types.OrderPizzaType;
+
+public class PizzaImpl implements PizzaPortType {
+
+    public OrderPizzaResponseType orderPizza(OrderPizzaType body, CallerIDHeaderType callerID) {
+        OrderPizzaResponseType resp = new OrderPizzaResponseType();
+        resp.setMinutesUntilReady(100 + Integer.parseInt(callerID.getPhoneNumber()));
+        return resp;
+    }
+}

Added: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/soapheader/Server.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/soapheader/Server.java?view=auto&rev=554819
==============================================================================
--- incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/soapheader/Server.java (added)
+++ incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/soapheader/Server.java Mon Jul  9 20:50:15 2007
@@ -0,0 +1,45 @@
+/**
+ * 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.cxf.systest.soapheader;
+
+import javax.xml.ws.Endpoint;
+
+import org.apache.cxf.testutil.common.AbstractBusTestServerBase;
+
+public class Server extends AbstractBusTestServerBase {
+
+    protected void run()  {
+        Object implementor = new PizzaImpl();
+        String address = "http://localhost:9013/pizza_service/services/PizzaService";
+        Endpoint.publish(address, implementor);
+    }
+
+    public static void main(String[] args) {
+        try {
+            Server s = new Server();
+            s.start();
+        } catch (Exception ex) {
+            ex.printStackTrace();
+            System.exit(-1);
+        } finally {
+            System.out.println("done!");
+        }
+    }
+}

Added: incubator/cxf/trunk/systests/src/test/resources/wsdl/pizza_service.wsdl
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/resources/wsdl/pizza_service.wsdl?view=auto&rev=554819
==============================================================================
--- incubator/cxf/trunk/systests/src/test/resources/wsdl/pizza_service.wsdl (added)
+++ incubator/cxf/trunk/systests/src/test/resources/wsdl/pizza_service.wsdl Mon Jul  9 20:50:15 2007
@@ -0,0 +1,106 @@
+<?xml version="1.0" ?>
+<!--
+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.
+-->
+  <wsdl:definitions
+      name="PizzaService"
+      targetNamespace="http://mypizzaco.com/pizza"
+      xmlns:tns="http://mypizzaco.com/pizza"
+      xmlns:types="http://mypizzaco.com/pizza/types"
+      xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+      xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+
+    <wsdl:types>
+      <xsd:schema targetNamespace="http://mypizzaco.com/pizza/types"
+                  xmlns:tns="http://mypizzaco.com/pizza/types"
+                  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+                  elementFormDefault="qualified"
+                  version="1.0">
+
+        <xsd:element name="CallerIDHeader" type="tns:CallerIDHeaderType" />
+
+        <xsd:complexType name="CallerIDHeaderType">
+          <xsd:sequence>
+            <xsd:element name="Name" type="xsd:string" />
+            <xsd:element name="PhoneNumber" type="xsd:string" />
+          </xsd:sequence>
+        </xsd:complexType>
+
+        <xsd:element name="OrderRequest" type="tns:OrderPizzaType" />
+
+        <xsd:complexType name="OrderPizzaType">
+          <xsd:sequence>
+            <xsd:element name="Toppings" type="tns:ToppingsListType" />
+          </xsd:sequence>
+        </xsd:complexType>
+
+        <xsd:element name="OrderResponse" type="tns:OrderPizzaResponseType" />
+
+        <xsd:complexType name="OrderPizzaResponseType">
+          <xsd:sequence>
+            <xsd:element name="MinutesUntilReady" type="xsd:int" />
+          </xsd:sequence>
+        </xsd:complexType>
+
+        <xsd:complexType name="ToppingsListType">
+          <xsd:sequence>
+            <xsd:element name="Topping" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:schema>
+    </wsdl:types>
+
+    <wsdl:portType name="PizzaPortType">
+      <wsdl:operation name="OrderPizza">
+        <wsdl:input message="tns:OrderPizzaRequest" />
+        <wsdl:output message="tns:OrderPizzaResponse" />
+      </wsdl:operation>
+    </wsdl:portType>
+
+    <wsdl:message name="CallerIDHeader">
+      <wsdl:part name="callerID" element="types:CallerIDHeader"/>
+    </wsdl:message>
+
+    <wsdl:message name="OrderPizzaRequest">
+      <wsdl:part name="body" element="types:OrderRequest"/>
+    </wsdl:message>
+    <wsdl:message name="OrderPizzaResponse">
+      <wsdl:part name="body" element="types:OrderResponse"/>
+    </wsdl:message>
+
+  <wsdl:binding name="PizzaPortBinding" type="tns:PizzaPortType">
+    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
+    <wsdl:operation name="OrderPizza">
+      <soap:operation soapAction=""/>
+      <wsdl:input>
+        <soap:header message="tns:CallerIDHeader" part="callerID" use="literal" />
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+
+  <wsdl:service name="PizzaService">
+    <wsdl:port name="PizzaPort" binding="tns:PizzaPortBinding">
+      <soap:address location="http://localhost:9013/pizza_service/services/PizzaService"/>
+    </wsdl:port>
+  </wsdl:service>
+
+</wsdl:definitions>
\ No newline at end of file

Added: incubator/cxf/trunk/tools/anttask/pom.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/anttask/pom.xml?view=auto&rev=554819
==============================================================================
--- incubator/cxf/trunk/tools/anttask/pom.xml (added)
+++ incubator/cxf/trunk/tools/anttask/pom.xml Mon Jul  9 20:50:15 2007
@@ -0,0 +1,89 @@
+<!--
+  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.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.apache.cxf</groupId>
+    <artifactId>cxf-anttasks</artifactId>
+    <packaging>jar</packaging>
+    <name>Apache CXF Ant Tasks</name>
+    <version>2.1-incubator-SNAPSHOT</version>
+    <url>http://cwiki.apache.org/CXF</url>
+
+    <parent>
+        <groupId>org.apache.cxf</groupId>
+        <artifactId>cxf-parent</artifactId>
+        <version>2.1-incubator-SNAPSHOT</version>
+        <relativePath>../../parent/pom.xml</relativePath>
+    </parent>
+
+    <dependencies>
+        <dependency>
+            <groupId>${pom.groupId}</groupId>
+            <artifactId>cxf-tools-wsdlto-core</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>${pom.groupId}</groupId>
+            <artifactId>cxf-tools-java2wsdl</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>ant</groupId>
+            <artifactId>ant</artifactId>
+            <version>1.6.5</version>
+        </dependency>
+        <dependency>
+            <groupId>ant</groupId>
+            <artifactId>ant-nodeps</artifactId>
+            <version>1.6.5</version>
+        </dependency>
+
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+
+
+    <build>
+        <pluginManagement>
+            <plugins>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-compiler-plugin</artifactId>
+                    <version>2.0.2</version>
+                    <configuration>
+                        <source>1.5</source>
+                        <target>1.5</target>
+                        <maxmem>256M</maxmem>
+                    </configuration>
+                </plugin>
+            </plugins>
+        </pluginManagement>
+
+    </build>
+
+    <scm>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/incubator/cxf/trunk/tools/anttask</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/incubator/cxf/trunk/tools/anttask</developerConnection>
+        <url>http://svn.apache.org/viewvc/incubator/cxf/trunk/cxf-parent/cxf-anttasks</url>
+  </scm>
+
+</project>

Added: incubator/cxf/trunk/tools/anttask/src/main/java/org/apache/cxf/ant/extensions/CxfAntTask.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/anttask/src/main/java/org/apache/cxf/ant/extensions/CxfAntTask.java?view=auto&rev=554819
==============================================================================
--- incubator/cxf/trunk/tools/anttask/src/main/java/org/apache/cxf/ant/extensions/CxfAntTask.java (added)
+++ incubator/cxf/trunk/tools/anttask/src/main/java/org/apache/cxf/ant/extensions/CxfAntTask.java Mon Jul  9 20:50:15 2007
@@ -0,0 +1,58 @@
+/**
+ * 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.cxf.ant.extensions;
+
+import java.io.File;
+import org.apache.tools.ant.Task;
+import org.apache.tools.ant.types.Commandline;
+import org.apache.tools.ant.types.CommandlineJava;
+
+public class CxfAntTask extends Task {
+    protected boolean verbose;
+    protected CommandlineJava cmd = new CommandlineJava();
+    protected File classesDir;
+    protected File sourcesDir;
+
+    public void setFork(boolean b) {
+        //we always fork, but the silly TCK requires this param for some reason
+    }
+    public void setKeep(boolean b) {
+        //we always "keep", but TCK requires this flag
+    }
+    public void setDebug(boolean b) {
+        // TCK requires this flag
+    }
+
+    public void setVerbose(boolean b) {
+        verbose = b;
+    }
+
+    public Commandline.Argument createJvmarg() {
+        return cmd.createVmArgument();
+    }
+
+    public void setSourceDestDir(File f) {
+        sourcesDir = f;
+    }
+
+    public void setDestdir(File c) {
+        classesDir = c;
+    }
+
+}
\ No newline at end of file



Mime
View raw message