You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2009/09/29 04:55:45 UTC
svn commit: r819803 - in /cxf/branches/2.2.x-fixes: ./
rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/
rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/header/
testutils/src/main/java/org/apache/header_test/ testutils/src/main/re...
Author: dkulp
Date: Tue Sep 29 02:55:45 2009
New Revision: 819803
URL: http://svn.apache.org/viewvc?rev=819803&view=rev
Log:
Merged revisions 819802 via svnmerge from
https://svn.apache.org/repos/asf/cxf/trunk
........
r819802 | dkulp | 2009-09-28 22:53:32 -0400 (Mon, 28 Sep 2009) | 2 lines
[CXF-2451] Fix an issue with implicit headers and no-arg methods causing
exceptions
........
Modified:
cxf/branches/2.2.x-fixes/ (props changed)
cxf/branches/2.2.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassInInterceptor.java
cxf/branches/2.2.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/header/HeaderClientServerTest.java
cxf/branches/2.2.x-fixes/testutils/src/main/java/org/apache/header_test/TestHeaderImpl.java
cxf/branches/2.2.x-fixes/testutils/src/main/resources/wsdl/soapheader.wsdl
Propchange: cxf/branches/2.2.x-fixes/
------------------------------------------------------------------------------
svn:mergeinfo = /cxf/trunk:819802
Propchange: cxf/branches/2.2.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified: cxf/branches/2.2.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassInInterceptor.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassInInterceptor.java?rev=819803&r1=819802&r2=819803&view=diff
==============================================================================
--- cxf/branches/2.2.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassInInterceptor.java (original)
+++ cxf/branches/2.2.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassInInterceptor.java Tue Sep 29 02:55:45 2009
@@ -135,6 +135,7 @@
newParams = new MessageContentsList(helper.getWrapperParts(wrappedObject));
List<Integer> removes = null;
+ int count = 0;
for (MessagePartInfo part : messageInfo.getMessageParts()) {
if (Boolean.TRUE.equals(part.getProperty(ReflectionServiceFactoryBean.HEADER))) {
MessagePartInfo mpi = wrappedMessageInfo.getMessagePart(part.getName());
@@ -147,14 +148,19 @@
}
removes.add(mpi.getIndex());
}
+ } else {
+ ++count;
}
}
- if (removes != null) {
+ if (count == 0) {
+ newParams.clear();
+ } else if (removes != null) {
Collections.sort(removes, Collections.reverseOrder());
for (Integer i : removes) {
newParams.remove(i.intValue());
}
}
+
} catch (Exception e) {
throw new Fault(e);
}
Modified: cxf/branches/2.2.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/header/HeaderClientServerTest.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/header/HeaderClientServerTest.java?rev=819803&r1=819802&r2=819803&view=diff
==============================================================================
--- cxf/branches/2.2.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/header/HeaderClientServerTest.java (original)
+++ cxf/branches/2.2.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/header/HeaderClientServerTest.java Tue Sep 29 02:55:45 2009
@@ -234,7 +234,16 @@
// fail("No exception should happen in testHeader4");
}
}
-
+ @Test
+ public void testHeader7() {
+ URL wsdl = getClass().getResource("/wsdl/soapheader.wsdl");
+ assertNotNull(wsdl);
+
+ SOAPHeaderService service = new SOAPHeaderService(wsdl, serviceName);
+ assertNotNull(service);
+ TestHeader proxy = service.getPort(portName, TestHeader.class);
+ assertEquals("Hello", proxy.testHeader7());
+ }
@Test
public void testRPCInHeader() throws Exception {
URL wsdl = getClass().getResource("/wsdl/soapheader_rpc.wsdl");
Modified: cxf/branches/2.2.x-fixes/testutils/src/main/java/org/apache/header_test/TestHeaderImpl.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/testutils/src/main/java/org/apache/header_test/TestHeaderImpl.java?rev=819803&r1=819802&r2=819803&view=diff
==============================================================================
--- cxf/branches/2.2.x-fixes/testutils/src/main/java/org/apache/header_test/TestHeaderImpl.java (original)
+++ cxf/branches/2.2.x-fixes/testutils/src/main/java/org/apache/header_test/TestHeaderImpl.java Tue Sep 29 02:55:45 2009
@@ -137,4 +137,8 @@
return ss;
}
+ public String testHeader7() {
+ return "Hello";
+ }
+
}
Modified: cxf/branches/2.2.x-fixes/testutils/src/main/resources/wsdl/soapheader.wsdl
URL: http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/testutils/src/main/resources/wsdl/soapheader.wsdl?rev=819803&r1=819802&r2=819803&view=diff
==============================================================================
--- cxf/branches/2.2.x-fixes/testutils/src/main/resources/wsdl/soapheader.wsdl (original)
+++ cxf/branches/2.2.x-fixes/testutils/src/main/resources/wsdl/soapheader.wsdl Tue Sep 29 02:55:45 2009
@@ -106,6 +106,22 @@
</sequence>
</complexType>
</element>
+
+
+ <element name="testHeader7">
+ <complexType>
+ <sequence>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="testHeader7Response">
+ <complexType>
+ <sequence>
+ <element name="responseType" nillable="true" type="string"/>
+ </sequence>
+ </complexType>
+ </element>
+
</schema>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://apache.org/tests/type_test/all">
@@ -189,6 +205,12 @@
<wsdl:message name="testHeaderMessage">
<wsdl:part name="inoutHeader" element="x1:testHeaderMessage"/>
</wsdl:message>
+ <wsdl:message name="testHeader7Request">
+ <wsdl:part name="in" element="x1:testHeader7"/>
+ </wsdl:message>
+ <wsdl:message name="testHeader7Response">
+ <wsdl:part name="out" element="x1:testHeader7Response"/>
+ </wsdl:message>
<message name="AnyTypeRequest">
<part name="x" element="all:test_all"/>
<part name="y" element="chc:test_chc"/>
@@ -229,6 +251,10 @@
<input name="send_receive_any_type_request" message="tns:AnyTypeRequest"/>
<output name="send_receive_any_type_response" message="tns:AnyTypeResponse"/>
</operation>
+ <wsdl:operation name="testHeader7">
+ <wsdl:input name="testHeader7Request" message="tns:testHeader7Request"/>
+ <wsdl:output name="testHeader7Response" message="tns:testHeader7Response"/>
+ </wsdl:operation>
</wsdl:portType>
<wsdl:binding name="TestHeader_SOAPBinding" type="tns:TestHeader">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
@@ -306,6 +332,16 @@
<soap:body use="literal"/>
</output>
</operation>
+ <wsdl:operation name="testHeader7">
+ <soap:operation style="document"/>
+ <wsdl:input>
+ <soap:body use="literal"/>
+ <soap:header message="tns:testHeaderMessage" part="inoutHeader" use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
</wsdl:binding>
<wsdl:service name="SOAPHeaderService">
<wsdl:port name="SoapHeaderPort" binding="tns:TestHeader_SOAPBinding">