You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by ff...@apache.org on 2009/06/02 08:00:38 UTC

svn commit: r780940 - in /servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src: main/java/org/apache/servicemix/cxfbc/interceptors/ test/resources/

Author: ffang
Date: Tue Jun  2 06:00:38 2009
New Revision: 780940

URL: http://svn.apache.org/viewvc?rev=780940&view=rev
Log:
[SMXCOMP-557]cxf bc should honor implicitly used soap header

Modified:
    servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/interceptors/JbiInWsdl1Interceptor.java
    servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/interceptors/JbiOutInterceptor.java
    servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/interceptors/JbiOutWsdl1Interceptor.java
    servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/resources/HelloWorld-DOC.wsdl

Modified: servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/interceptors/JbiInWsdl1Interceptor.java
URL: http://svn.apache.org/viewvc/servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/interceptors/JbiInWsdl1Interceptor.java?rev=780940&r1=780939&r2=780940&view=diff
==============================================================================
--- servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/interceptors/JbiInWsdl1Interceptor.java (original)
+++ servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/interceptors/JbiInWsdl1Interceptor.java Tue Jun  2 06:00:38 2009
@@ -54,7 +54,6 @@
 import org.apache.cxf.staxutils.DepthXMLStreamReader;
 import org.apache.cxf.staxutils.PartialXMLStreamReader;
 import org.apache.cxf.staxutils.StaxUtils;
-import org.apache.servicemix.jbi.util.QNameUtil;
 import org.apache.servicemix.soap.util.DomUtil;
 
 /**
@@ -211,15 +210,7 @@
                 MessagePartInfo part = header.getPart();
                 Header param = findHeader(headerElement, part);
                 int idx = part.getIndex();
-                QName element = part.isElement() ? part.getElementQName() : part.getTypeQName();
                 
-                
-                Header hdr = getHeaderElement(message, element);
-                if (hdr == null) {
-                    throw new Fault(new Exception(
-                            "Missing required header element: "
-                                    + QNameUtil.toString(element)));
-                }
                 if (idx > parts.size()) {
                     parts.add(param);
                 } else if (idx == -1) {

Modified: servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/interceptors/JbiOutInterceptor.java
URL: http://svn.apache.org/viewvc/servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/interceptors/JbiOutInterceptor.java?rev=780940&r1=780939&r2=780940&view=diff
==============================================================================
--- servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/interceptors/JbiOutInterceptor.java (original)
+++ servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/interceptors/JbiOutInterceptor.java Tue Jun  2 06:00:38 2009
@@ -137,6 +137,9 @@
         List<Header> headerList = message.getHeaders();
         List<SoapHeaderInfo> headers = msg.getExtensors(SoapHeaderInfo.class);
         for (SoapHeaderInfo header : headers) {
+            if (partsContent.size() == 0) {
+                break;
+            }
             NodeList nl = partsContent.get(0);
             if (header.getPart().getConcreteName().getNamespaceURI().equals(
                     nl.item(0).getNamespaceURI())

Modified: servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/interceptors/JbiOutWsdl1Interceptor.java
URL: http://svn.apache.org/viewvc/servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/interceptors/JbiOutWsdl1Interceptor.java?rev=780940&r1=780939&r2=780940&view=diff
==============================================================================
--- servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/interceptors/JbiOutWsdl1Interceptor.java (original)
+++ servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/interceptors/JbiOutWsdl1Interceptor.java Tue Jun  2 06:00:38 2009
@@ -232,6 +232,9 @@
         List<Header> headerList = message.getHeaders();
         List<SoapHeaderInfo> headers = msg.getExtensors(SoapHeaderInfo.class);
         for (SoapHeaderInfo header : headers) {
+            if (partsContent.size() == 0) {
+                break;
+            }
             NodeList nl = partsContent.get(0);
             if (header.getPart().getConcreteName().getNamespaceURI().equals(nl.item(0).getNamespaceURI())
                     && header.getPart().getConcreteName().getLocalPart().equals(nl.item(0).getLocalName())) {

Modified: servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/resources/HelloWorld-DOC.wsdl
URL: http://svn.apache.org/viewvc/servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/resources/HelloWorld-DOC.wsdl?rev=780940&r1=780939&r2=780940&view=diff
==============================================================================
--- servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/resources/HelloWorld-DOC.wsdl (original)
+++ servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/resources/HelloWorld-DOC.wsdl Tue Jun  2 06:00:38 2009
@@ -47,6 +47,13 @@
                     </all>
                 </complexType>
             </element>
+            <element name="ImplicitHeader">
+                <complexType>
+                    <all>
+                        <element name="id" type="string"/>
+                    </all>
+                </complexType>
+            </element>
             <element name="HelloFault">
                 <complexType>
                     <all>
@@ -70,6 +77,10 @@
         <part name="body" element="tns:HelloFault"/>
     </message>
 
+    <message name="implicit_header">
+        <part name="implicit_header" element="tns:ImplicitHeader"/>
+    </message>
+
     <portType name="HelloPortType">
         <operation name="Hello">
             <input message="tns:HelloRequest"/>
@@ -85,6 +96,7 @@
             <input>
                 <soap:body use="literal" parts="body"/>
                 <soap:header use="literal" message="tns:HelloRequest" part="header1"/>
+                <soap:header use="literal" message="tns:implicit_header" part="implicit_header"/>                 
             </input>
             <output>
                 <soap:body use="literal" parts="body"/>