Author: dkulp
Date: Mon Sep 17 19:06:59 2007
New Revision: 576658
URL: http://svn.apache.org/viewvc?rev=576658&view=rev
Log:
Merged revisions 576536-576598 via svnmerge from
https://svn.apache.org/repos/asf/incubator/cxf/trunk
........
r576536 | dkulp | 2007-09-17 13:31:58 -0400 (Mon, 17 Sep 2007) | 2 lines
Remove prop that shouldn't be there
........
r576562 | dkulp | 2007-09-17 15:10:57 -0400 (Mon, 17 Sep 2007) | 3 lines
Remove bcprov jar from kits. Update distro NOTICE file with additional stuff
from the NOTICE files of the jars
........
r576586 | dkulp | 2007-09-17 17:06:33 -0400 (Mon, 17 Sep 2007) | 2 lines
[CXF-970] Patch from Jeff Yu applied.
........
r576598 | dkulp | 2007-09-17 17:49:57 -0400 (Mon, 17 Sep 2007) | 2 lines
[CXF-896] Patch from Zarar Siddigi applied.
........
Added:
incubator/cxf/tags/cxf-2.0.2-incubator/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/databinding/ElementDataWriter.java
- copied unchanged from r576598,
incubator/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/databinding/ElementDataWriter.java
Modified:
incubator/cxf/tags/cxf-2.0.2-incubator/ (props changed)
incubator/cxf/tags/cxf-2.0.2-incubator/distribution/pom.xml
incubator/cxf/tags/cxf-2.0.2-incubator/distribution/src/main/appended-resources/META-INF/NOTICE
incubator/cxf/tags/cxf-2.0.2-incubator/distribution/src/main/release/release_notes.txt
incubator/cxf/tags/cxf-2.0.2-incubator/parent/pom.xml
incubator/cxf/tags/cxf-2.0.2-incubator/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/databinding/AegisDatabinding.java
incubator/cxf/tags/cxf-2.0.2-incubator/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBEncoderDecoder.java
incubator/cxf/tags/cxf-2.0.2-incubator/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/io/DataWriterImpl.java
incubator/cxf/tags/cxf-2.0.2-incubator/rt/ws/security/pom.xml
incubator/cxf/tags/cxf-2.0.2-incubator/systests/src/test/java/org/apache/cxf/systest/basicDOCBare/DOCBareClientServerTest.java
incubator/cxf/tags/cxf-2.0.2-incubator/systests/src/test/java/org/apache/cxf/systest/basicDOCBare/PutLastTradedPriceImpl.java
incubator/cxf/tags/cxf-2.0.2-incubator/systests/src/test/java/org/apache/cxf/systest/outofband/header/OOBHdrServiceImpl.java
incubator/cxf/tags/cxf-2.0.2-incubator/testutils/src/main/java/org/apache/hello_world_soap_http/DocLitBareImpl.java
incubator/cxf/tags/cxf-2.0.2-incubator/testutils/src/main/resources/wsdl/doc_lit_bare.wsdl
Propchange: incubator/cxf/tags/cxf-2.0.2-incubator/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Mon Sep 17 19:06:59 2007
@@ -1 +1 @@
-/incubator/cxf/trunk:1-573640,573667-574161,574163-574834,574836-575221,575223-575253,575255-576516
+/incubator/cxf/trunk:1-573640,573667-574161,574163-574834,574836-575221,575223-575253,575255-576516,576536-576598
Modified: incubator/cxf/tags/cxf-2.0.2-incubator/distribution/pom.xml
URL:
http://svn.apache.org/viewvc/incubator/cxf/tags/cxf-2.0.2-incubator/distribution/pom.xml?rev=576658&r1=576657&r2=576658&view=diff
==============================================================================
--- incubator/cxf/tags/cxf-2.0.2-incubator/distribution/pom.xml (original)
+++ incubator/cxf/tags/cxf-2.0.2-incubator/distribution/pom.xml Mon Sep 17
19:06:59 2007
@@ -191,11 +191,18 @@
<artifactId>cxf-rt-ws-policy</artifactId>
<version>${pom.version}</version>
</dependency>
- <dependency>
+ <dependency>
<groupId>${pom.groupId}</groupId>
<artifactId>cxf-rt-ws-security</artifactId>
<version>${pom.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>bouncycastle</groupId>
+ <artifactId>bcprov-jdk14</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
+
<dependency>
<groupId>${pom.groupId}</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
Modified:
incubator/cxf/tags/cxf-2.0.2-incubator/distribution/src/main/appended-resources/META-INF/NOTICE
URL:
http://svn.apache.org/viewvc/incubator/cxf/tags/cxf-2.0.2-incubator/distribution/src/main/appended-resources/META-INF/NOTICE?rev=576658&r1=576657&r2=576658&view=diff
==============================================================================
---
incubator/cxf/tags/cxf-2.0.2-incubator/distribution/src/main/appended-resources/META-INF/NOTICE
(original)
+++
incubator/cxf/tags/cxf-2.0.2-incubator/distribution/src/main/appended-resources/META-INF/NOTICE
Mon Sep 17 19:06:59 2007
@@ -23,5 +23,21 @@
This Product also includes software developed by David Heinemeier Hansson.
(http://dev.rubyonrails.org/browser/trunk/activesupport/lib/active_support/inflections.rb)
+
+Portions of the included XmlSchema library are Copyright 2006 International
Business Machines Corp.
+
+
+Portions of the included xml-apis library were originally based on the
following:
+ - software copyright (c) 1999, IBM Corporation., http://www.ibm.com.
+ - software copyright (c) 1999, Sun Microsystems., http://www.sun.com.
+ - software copyright (c) 2000 World Wide Web Consortium, http://www.w3.org
+
+
+Portions of the included xbean library were originally based on the following:
+ - software copyright (c) 2000-2003, BEA Systems, <http://www.bea.com/>.
+
+
Additional copyright notices and license terms applicable are
present in the licenses directory of this distribution.
+
+
Modified:
incubator/cxf/tags/cxf-2.0.2-incubator/distribution/src/main/release/release_notes.txt
URL:
http://svn.apache.org/viewvc/incubator/cxf/tags/cxf-2.0.2-incubator/distribution/src/main/release/release_notes.txt?rev=576658&r1=576657&r2=576658&view=diff
==============================================================================
---
incubator/cxf/tags/cxf-2.0.2-incubator/distribution/src/main/release/release_notes.txt
(original)
+++
incubator/cxf/tags/cxf-2.0.2-incubator/distribution/src/main/release/release_notes.txt
Mon Sep 17 19:06:59 2007
@@ -49,6 +49,17 @@
For more details, see the Installation Guide.
+
+2.3 Bouncy Castle/JCE requirement for WS-Security
+
+To use the WS-Security features of CXF, you need to obtain a JCE crypto
provider
+that implements the algorithms that you plan to use. One option is to download
+the Bouncy Castle jar from:
+http://bouncycastle.org/download/bcprov-jdk14-136.jar
+and add that to the lib directory or classpath.
+
+
+
3. Building the Samples
Building the samples included in the binary distribution is easy. Change to
Modified: incubator/cxf/tags/cxf-2.0.2-incubator/parent/pom.xml
URL:
http://svn.apache.org/viewvc/incubator/cxf/tags/cxf-2.0.2-incubator/parent/pom.xml?rev=576658&r1=576657&r2=576658&view=diff
==============================================================================
--- incubator/cxf/tags/cxf-2.0.2-incubator/parent/pom.xml (original)
+++ incubator/cxf/tags/cxf-2.0.2-incubator/parent/pom.xml Mon Sep 17 19:06:59
2007
@@ -730,6 +730,11 @@
<artifactId>commons-lang</artifactId>
<version>2.1</version>
</dependency>
+ <dependency>
+ <groupId>bouncycastle</groupId>
+ <artifactId>bcprov-jdk14</artifactId>
+ <version>136</version>
+ </dependency>
</dependencies>
</dependencyManagement>
Modified:
incubator/cxf/tags/cxf-2.0.2-incubator/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/databinding/AegisDatabinding.java
URL:
http://svn.apache.org/viewvc/incubator/cxf/tags/cxf-2.0.2-incubator/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/databinding/AegisDatabinding.java?rev=576658&r1=576657&r2=576658&view=diff
==============================================================================
---
incubator/cxf/tags/cxf-2.0.2-incubator/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/databinding/AegisDatabinding.java
(original)
+++
incubator/cxf/tags/cxf-2.0.2-incubator/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/databinding/AegisDatabinding.java
Mon Sep 17 19:06:59 2007
@@ -31,6 +31,8 @@
import javax.xml.stream.XMLStreamReader;
import javax.xml.stream.XMLStreamWriter;
+import org.w3c.dom.Node;
+
import org.apache.cxf.aegis.DatabindingException;
import org.apache.cxf.aegis.type.DefaultTypeMappingRegistry;
import org.apache.cxf.aegis.type.Type;
@@ -106,6 +108,8 @@
public <T> DataWriter<T> createWriter(Class<T> cls) {
if (cls.equals(XMLStreamWriter.class)) {
return (DataWriter<T>)new XMLStreamDataWriter(this);
+ } else if (cls.equals(Node.class)) {
+ return (DataWriter<T>) new ElementDataWriter(this);
} else {
throw new UnsupportedOperationException();
}
Modified:
incubator/cxf/tags/cxf-2.0.2-incubator/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBEncoderDecoder.java
URL:
http://svn.apache.org/viewvc/incubator/cxf/tags/cxf-2.0.2-incubator/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBEncoderDecoder.java?rev=576658&r1=576657&r2=576658&view=diff
==============================================================================
---
incubator/cxf/tags/cxf-2.0.2-incubator/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBEncoderDecoder.java
(original)
+++
incubator/cxf/tags/cxf-2.0.2-incubator/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBEncoderDecoder.java
Mon Sep 17 19:06:59 2007
@@ -200,6 +200,27 @@
public static void marshall(JAXBContext context, Schema schema, Object
elValue, Object source) {
marshall(context, schema, elValue, null, source, null);
}
+
+ @SuppressWarnings("unchecked")
+ public static void marshallNullElement(JAXBContext context, Schema schema,
+ Object source, MessagePartInfo
part) {
+ Class<?> clazz = part != null ? (Class) part.getTypeClass() : null;
+ try {
+ Marshaller u = createMarshaller(context, clazz);
+ u.setSchema(schema);
+ try {
+ // The Marshaller.JAXB_FRAGMENT will tell the Marshaller not to
+ // generate the xml declaration.
+ u.setProperty(Marshaller.JAXB_FRAGMENT, true);
+ u.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, false);
+ } catch (javax.xml.bind.PropertyException e) {
+ // intentionally empty.
+ }
+ writeObject(u, source, new JAXBElement(part.getElementQName(),
clazz, null));
+ } catch (JAXBException e) {
+ throw new Fault(new Message("MARSHAL_ERROR", BUNDLE,
e.getMessage()), e);
+ }
+ }
public static void marshall(JAXBContext context, Schema schema,
Object elValue,
Modified:
incubator/cxf/tags/cxf-2.0.2-incubator/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/io/DataWriterImpl.java
URL:
http://svn.apache.org/viewvc/incubator/cxf/tags/cxf-2.0.2-incubator/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/io/DataWriterImpl.java?rev=576658&r1=576657&r2=576658&view=diff
==============================================================================
---
incubator/cxf/tags/cxf-2.0.2-incubator/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/io/DataWriterImpl.java
(original)
+++
incubator/cxf/tags/cxf-2.0.2-incubator/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/io/DataWriterImpl.java
Mon Sep 17 19:06:59 2007
@@ -41,6 +41,16 @@
|| !(part.getXmlSchema() instanceof XmlSchemaElement)) {
JAXBEncoderDecoder.marshall(getJAXBContext(), getSchema(), obj,
part, output,
getAttachmentMarrshaller());
+ } else if (obj == null && needToRender(obj, part)) {
+ JAXBEncoderDecoder.marshallNullElement(getJAXBContext(),
getSchema(), output, part);
}
+ }
+
+ private boolean needToRender(Object obj, MessagePartInfo part) {
+ if (part != null && part.getXmlSchema() instanceof XmlSchemaElement) {
+ XmlSchemaElement element = (XmlSchemaElement)part.getXmlSchema();
+ return element.isNillable() && element.getMinOccurs() > 0;
+ }
+ return false;
}
}
Modified: incubator/cxf/tags/cxf-2.0.2-incubator/rt/ws/security/pom.xml
URL:
http://svn.apache.org/viewvc/incubator/cxf/tags/cxf-2.0.2-incubator/rt/ws/security/pom.xml?rev=576658&r1=576657&r2=576658&view=diff
==============================================================================
--- incubator/cxf/tags/cxf-2.0.2-incubator/rt/ws/security/pom.xml (original)
+++ incubator/cxf/tags/cxf-2.0.2-incubator/rt/ws/security/pom.xml Mon Sep 17
19:06:59 2007
@@ -83,7 +83,6 @@
<dependency>
<groupId>bouncycastle</groupId>
<artifactId>bcprov-jdk14</artifactId>
- <version>136</version>
<scope>runtime</scope>
</dependency>
Modified:
incubator/cxf/tags/cxf-2.0.2-incubator/systests/src/test/java/org/apache/cxf/systest/basicDOCBare/DOCBareClientServerTest.java
URL:
http://svn.apache.org/viewvc/incubator/cxf/tags/cxf-2.0.2-incubator/systests/src/test/java/org/apache/cxf/systest/basicDOCBare/DOCBareClientServerTest.java?rev=576658&r1=576657&r2=576658&view=diff
==============================================================================
---
incubator/cxf/tags/cxf-2.0.2-incubator/systests/src/test/java/org/apache/cxf/systest/basicDOCBare/DOCBareClientServerTest.java
(original)
+++
incubator/cxf/tags/cxf-2.0.2-incubator/systests/src/test/java/org/apache/cxf/systest/basicDOCBare/DOCBareClientServerTest.java
Mon Sep 17 19:06:59 2007
@@ -98,6 +98,20 @@
}
}
}
+
+ @Test
+ public void testNillableParameter() throws Exception {
+ URL wsdl = getClass().getResource("/wsdl/doc_lit_bare.wsdl");
+ assertNotNull("WSDL is null", wsdl);
+
+ SOAPService service = new SOAPService(wsdl, serviceName);
+ assertNotNull("Service is null", service);
+
+ PutLastTradedPricePortType port = service.getPort(portName,
+
PutLastTradedPricePortType.class);
+ String result = port.nillableParameter(null);
+ assertNull(result);
+ }
}
Modified:
incubator/cxf/tags/cxf-2.0.2-incubator/systests/src/test/java/org/apache/cxf/systest/basicDOCBare/PutLastTradedPriceImpl.java
URL:
http://svn.apache.org/viewvc/incubator/cxf/tags/cxf-2.0.2-incubator/systests/src/test/java/org/apache/cxf/systest/basicDOCBare/PutLastTradedPriceImpl.java?rev=576658&r1=576657&r2=576658&view=diff
==============================================================================
---
incubator/cxf/tags/cxf-2.0.2-incubator/systests/src/test/java/org/apache/cxf/systest/basicDOCBare/PutLastTradedPriceImpl.java
(original)
+++
incubator/cxf/tags/cxf-2.0.2-incubator/systests/src/test/java/org/apache/cxf/systest/basicDOCBare/PutLastTradedPriceImpl.java
Mon Sep 17 19:06:59 2007
@@ -18,6 +18,8 @@
*/
package org.apache.cxf.systest.basicDOCBare;
+import java.math.BigDecimal;
+
import javax.xml.ws.Holder;
import org.apache.hello_world_doc_lit_bare.PutLastTradedPricePortType;
@@ -43,6 +45,9 @@
public String bareNoParam() {
return "testResponse";
+ }
+ public String nillableParameter(BigDecimal theRequest) {
+ return null;
}
Modified:
incubator/cxf/tags/cxf-2.0.2-incubator/systests/src/test/java/org/apache/cxf/systest/outofband/header/OOBHdrServiceImpl.java
URL:
http://svn.apache.org/viewvc/incubator/cxf/tags/cxf-2.0.2-incubator/systests/src/test/java/org/apache/cxf/systest/outofband/header/OOBHdrServiceImpl.java?rev=576658&r1=576657&r2=576658&view=diff
==============================================================================
---
incubator/cxf/tags/cxf-2.0.2-incubator/systests/src/test/java/org/apache/cxf/systest/outofband/header/OOBHdrServiceImpl.java
(original)
+++
incubator/cxf/tags/cxf-2.0.2-incubator/systests/src/test/java/org/apache/cxf/systest/outofband/header/OOBHdrServiceImpl.java
Mon Sep 17 19:06:59 2007
@@ -19,6 +19,7 @@
package org.apache.cxf.systest.outofband.header;
+import java.math.BigDecimal;
import java.util.Iterator;
import java.util.List;
@@ -30,6 +31,7 @@
import javax.xml.ws.Holder;
import javax.xml.ws.WebServiceContext;
import javax.xml.ws.handler.MessageContext;
+
import org.w3c.dom.Node;
import org.apache.cxf.headers.Header;
@@ -42,6 +44,7 @@
+
@javax.jws.WebService(serviceName = "SOAPService",
portName = "SoapPort",
endpointInterface =
"org.apache.hello_world_doc_lit_bare.PutLastTradedPricePortType",
@@ -140,6 +143,10 @@
public String bareNoParam() {
return "testResponse";
+ }
+
+ public String nillableParameter(BigDecimal theRequest) {
+ return null;
}
Modified:
incubator/cxf/tags/cxf-2.0.2-incubator/testutils/src/main/java/org/apache/hello_world_soap_http/DocLitBareImpl.java
URL:
http://svn.apache.org/viewvc/incubator/cxf/tags/cxf-2.0.2-incubator/testutils/src/main/java/org/apache/hello_world_soap_http/DocLitBareImpl.java?rev=576658&r1=576657&r2=576658&view=diff
==============================================================================
---
incubator/cxf/tags/cxf-2.0.2-incubator/testutils/src/main/java/org/apache/hello_world_soap_http/DocLitBareImpl.java
(original)
+++
incubator/cxf/tags/cxf-2.0.2-incubator/testutils/src/main/java/org/apache/hello_world_soap_http/DocLitBareImpl.java
Mon Sep 17 19:06:59 2007
@@ -19,6 +19,8 @@
package org.apache.hello_world_soap_http;
+import java.math.BigDecimal;
+
import javax.jws.WebService;
import javax.xml.ws.Holder;
import org.apache.hello_world_doc_lit_bare.PutLastTradedPricePortType;
@@ -55,5 +57,9 @@
public int getBareNoParamCount() {
return bareNoParamCallCount;
+ }
+
+ public String nillableParameter(BigDecimal theRequest) {
+ return null;
}
}
Modified:
incubator/cxf/tags/cxf-2.0.2-incubator/testutils/src/main/resources/wsdl/doc_lit_bare.wsdl
URL:
http://svn.apache.org/viewvc/incubator/cxf/tags/cxf-2.0.2-incubator/testutils/src/main/resources/wsdl/doc_lit_bare.wsdl?rev=576658&r1=576657&r2=576658&view=diff
==============================================================================
---
incubator/cxf/tags/cxf-2.0.2-incubator/testutils/src/main/resources/wsdl/doc_lit_bare.wsdl
(original)
+++
incubator/cxf/tags/cxf-2.0.2-incubator/testutils/src/main/resources/wsdl/doc_lit_bare.wsdl
Mon Sep 17 19:06:59 2007
@@ -29,6 +29,8 @@
<element name="in" type="tns:TradePriceData"/>
<element name="inout" type="tns:TradePriceData"/>
<element name="stringRespType" type="xsd:string"/>
+ <element name="inDecimal" nillable="true" type="xsd:decimal" />
+ <element name="outString" nillable="true" type="xsd:string" />
</schema>
</wsdl:types>
<message name="PutLastTradedPriceInput">
@@ -48,6 +50,14 @@
<message name="bareNoParamResponse">
<part element="x1:stringRespType" name="theResponse"/>
</message>
+
+ <message name="nillableRequest">
+ <part name="theRequest" element="x1:inDecimal" />
+ </message>
+
+ <message name="nillableResponse">
+ <part name="theResponse" element="x1:outString" />
+ </message>
<portType name="PutLastTradedPricePortType">
@@ -66,6 +76,11 @@
<output message="tns:bareNoParamResponse"/>
</operation>
+ <operation name="nillableParameter">
+ <input message="tns:nillableRequest" />
+ <output message="tns:nillableResponse" />
+ </operation>
+
</portType>
<binding name="PutLastTradedPriceSoapBinding"
type="tns:PutLastTradedPricePortType">
@@ -96,7 +111,17 @@
<output>
<soap:body use="literal"/>
</output>
- </operation>
+ </operation>
+
+ <operation name="nillableParameter">
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ </operation>
+
</binding>
<wsdl:service name="SOAPService">
<wsdl:port name="SoapPort" binding="tns:PutLastTradedPriceSoapBinding">