Author: dkulp
Date: Wed Feb 6 13:00:08 2008
New Revision: 619152
URL: http://svn.apache.org/viewvc?rev=619152&view=rev
Log:
[CXF-1419, CXF-1418] Patch from Balaji applied (with fixes to pass tests)
Added flags to AbstractPhaseInterceptor to create unique id
Delay creation of databinding till needed so we don't create one if it's just
going to be discard. (example: databinding configured in spring)
Modified:
incubator/cxf/trunk/api/src/main/java/org/apache/cxf/phase/AbstractPhaseInterceptor.java
incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/service/factory/AbstractServiceFactoryBean.java
incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java
incubator/cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSDestination.java
incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/rest/RestClientServerBookTest.java
incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/rest/resources/expected_get_book123_xmlwrapped.txt
incubator/cxf/trunk/systests/src/test/resources/wsdl/add_numbers-fromjava.wsdl
incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/WSIBPValidator.java
Modified:
incubator/cxf/trunk/api/src/main/java/org/apache/cxf/phase/AbstractPhaseInterceptor.java
URL:
http://svn.apache.org/viewvc/incubator/cxf/trunk/api/src/main/java/org/apache/cxf/phase/AbstractPhaseInterceptor.java?rev=619152&r1=619151&r2=619152&view=diff
==============================================================================
---
incubator/cxf/trunk/api/src/main/java/org/apache/cxf/phase/AbstractPhaseInterceptor.java
(original)
+++
incubator/cxf/trunk/api/src/main/java/org/apache/cxf/phase/AbstractPhaseInterceptor.java
Wed Feb 6 13:00:08 2008
@@ -34,14 +34,25 @@
private final Set<String> after = new SortedArraySet<String>();
public AbstractPhaseInterceptor(String phase) {
- this(null, phase);
+ this(null, phase, false);
}
public AbstractPhaseInterceptor(String i, String p) {
- super();
- id = i == null ? getClass().getName() : i;
+ this(i, p, false);
+ }
+ public AbstractPhaseInterceptor(String phase, boolean uniqueId) {
+ this(null, phase, uniqueId);
+ }
+ public AbstractPhaseInterceptor(String i, String p, boolean uniqueId) {
+ if (i == null) {
+ i = getClass().getName();
+ }
+ if (uniqueId) {
+ i += System.identityHashCode(this);
+ }
+ id = i;
phase = p;
}
-
+
public void setBefore(Collection<String> i) {
before.clear();
before.addAll(i);
Modified:
incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/service/factory/AbstractServiceFactoryBean.java
URL:
http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/service/factory/AbstractServiceFactoryBean.java?rev=619152&r1=619151&r2=619152&view=diff
==============================================================================
---
incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/service/factory/AbstractServiceFactoryBean.java
(original)
+++
incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/service/factory/AbstractServiceFactoryBean.java
Wed Feb 6 13:00:08 2008
@@ -52,7 +52,13 @@
}
public DataBinding getDataBinding() {
+ if (dataBinding == null) {
+ dataBinding = createDefaultDataBinding();
+ }
return dataBinding;
+ }
+ protected DataBinding createDefaultDataBinding() {
+ return null;
}
public void setDataBinding(DataBinding dataBinding) {
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?rev=619152&r1=619151&r2=619152&view=diff
==============================================================================
---
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
Wed Feb 6 13:00:08 2008
@@ -54,6 +54,7 @@
import org.apache.cxf.common.logging.LogUtils;
import org.apache.cxf.common.xmlschema.SchemaCollection;
import org.apache.cxf.common.xmlschema.XmlSchemaTools;
+import org.apache.cxf.databinding.DataBinding;
import org.apache.cxf.databinding.source.mime.MimeAttribute;
import org.apache.cxf.databinding.source.mime.MimeSerializer;
import org.apache.cxf.endpoint.Endpoint;
@@ -156,8 +157,6 @@
public ReflectionServiceFactoryBean() {
getServiceConfigurations().add(0, new DefaultServiceConfiguration());
- setDataBinding(new JAXBDataBinding(getQualifyWrapperSchema()));
-
ignoredClasses.add("java.lang.Object");
ignoredClasses.add("java.lang.Throwable");
ignoredClasses.add("org.omg.CORBA_2_3.portable.ObjectImpl");
@@ -166,11 +165,14 @@
ignoredClasses.add("javax.rmi.CORBA.Stub");
}
+
+
+ protected DataBinding createDefaultDataBinding() {
+ return new JAXBDataBinding(getQualifyWrapperSchema());
+ }
+
@Override
public Service create() {
- // System.setProperty(Constants.SystemConstants.EXTENSION_REGISTRY_KEY,
- // CustomExtensionRegistry.class.getName());
-
initializeServiceConfigurations();
initializeServiceModel();
Modified:
incubator/cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSDestination.java
URL:
http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSDestination.java?rev=619152&r1=619151&r2=619152&view=diff
==============================================================================
---
incubator/cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSDestination.java
(original)
+++
incubator/cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSDestination.java
Wed Feb 6 13:00:08 2008
@@ -374,6 +374,12 @@
// setup the message to be send back
message.put(JMSConstants.JMS_REQUEST_MESSAGE,
inMessage.get(JMSConstants.JMS_REQUEST_MESSAGE));
+
+ if (!message.containsKey(JMSConstants.JMS_SERVER_RESPONSE_HEADERS)
+ &&
inMessage.containsKey(JMSConstants.JMS_SERVER_RESPONSE_HEADERS)) {
+ message.put(JMSConstants.JMS_SERVER_RESPONSE_HEADERS,
+
inMessage.get(JMSConstants.JMS_SERVER_RESPONSE_HEADERS));
+ }
message.setContent(OutputStream.class,
new JMSOutputStream(inMessage, message));
}
@@ -402,7 +408,7 @@
private void commitOutputMessage() throws IOException {
JMSMessageHeadersType headers =
- (JMSMessageHeadersType)
inMessage.get(JMSConstants.JMS_SERVER_RESPONSE_HEADERS);
+ (JMSMessageHeadersType)
outMessage.get(JMSConstants.JMS_SERVER_RESPONSE_HEADERS);
javax.jms.Message request =
(javax.jms.Message)
inMessage.get(JMSConstants.JMS_REQUEST_MESSAGE);
@@ -444,7 +450,6 @@
msgType);
setReplyCorrelationID(request, reply);
-
base.setMessageProperties(headers, reply);
Map<String, List<String>> protHeaders =
CastUtils.cast((Map<?,
?>)outMessage.get(Message.PROTOCOL_HEADERS));
Modified:
incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/rest/RestClientServerBookTest.java
URL:
http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/rest/RestClientServerBookTest.java?rev=619152&r1=619151&r2=619152&view=diff
==============================================================================
---
incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/rest/RestClientServerBookTest.java
(original)
+++
incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/rest/RestClientServerBookTest.java
Wed Feb 6 13:00:08 2008
@@ -114,7 +114,7 @@
InputStream expected = getClass()
.getResourceAsStream("resources/expected_get_book123_xmlwrapped.txt");
- String expectedString = getStringFromInputStream(expected);
+ String expectedString = getStringFromInputStream(expected).trim();
//System.out.println("---" + getStringFromInputStream(in));
assertEquals(expectedString, expectedString,
getStringFromInputStream(in));
}
Modified:
incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/rest/resources/expected_get_book123_xmlwrapped.txt
URL:
http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/rest/resources/expected_get_book123_xmlwrapped.txt?rev=619152&r1=619151&r2=619152&view=diff
==============================================================================
---
incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/rest/resources/expected_get_book123_xmlwrapped.txt
(original)
+++
incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/rest/resources/expected_get_book123_xmlwrapped.txt
Wed Feb 6 13:00:08 2008
@@ -1 +1 @@
-<ns1:getBookResponse
xmlns:ns1="http://book.customer.cxf.apache.org/"><ns2:Book
xmlns:ns2="http://book.customer.cxf.apache.org/"
xmlns="http://book.acme.com"><id>123</id><name>CXF in
Action</name></ns2:Book></ns1:getBookResponse>
\ No newline at end of file
+<ns1:getBookResponse xmlns:ns1="http://book.customer.cxf.apache.org/"><Book
xmlns:ns2="http://book.acme.com"><ns2:id>123</ns2:id><ns2:name>CXF in
Action</ns2:name></Book></ns1:getBookResponse>
\ No newline at end of file
Modified:
incubator/cxf/trunk/systests/src/test/resources/wsdl/add_numbers-fromjava.wsdl
URL:
http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/resources/wsdl/add_numbers-fromjava.wsdl?rev=619152&r1=619151&r2=619152&view=diff
==============================================================================
---
incubator/cxf/trunk/systests/src/test/resources/wsdl/add_numbers-fromjava.wsdl
(original)
+++
incubator/cxf/trunk/systests/src/test/resources/wsdl/add_numbers-fromjava.wsdl
Wed Feb 6 13:00:08 2008
@@ -24,7 +24,7 @@
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<wsdl:types>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:tns="http://server.addr_fromjava.ws.systest.cxf.apache.org/"
- attributeFormDefault="unqualified"
elementFormDefault="qualified"
+ attributeFormDefault="unqualified"
elementFormDefault="unqualified"
targetNamespace="http://server.addr_fromjava.ws.systest.cxf.apache.org/">
<xsd:element name="AddNumbersException"
type="tns:AddNumbersException"/>
<xsd:complexType name="AddNumbersException">
Modified:
incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/WSIBPValidator.java
URL:
http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/WSIBPValidator.java?rev=619152&r1=619151&r2=619152&view=diff
==============================================================================
---
incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/WSIBPValidator.java
(original)
+++
incubator/cxf/trunk/tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/WSIBPValidator.java
Wed Feb 6 13:00:08 2008
@@ -246,6 +246,13 @@
continue;
}
BindingOperation bop = wsdlHelper.getBindingOperation(def,
operation.getName());
+ if (bop == null) {
+ addErrorMessage(getErrorPrefix("WSI-BP-1.0 R2718")
+ + "A wsdl:binding in a DESCRIPTION MUST
have the same set of "
+ + "wsdl:operations as the wsdl:portType to
which it refers. "
+ + operation.getName() + " not found in
wsdl:binding.");
+ return false;
+ }
Binding binding = wsdlHelper.getBinding(bop, def);
String bindingStyle = binding != null ?
SOAPBindingUtil.getBindingStyle(binding) : "";
String style =
StringUtils.isEmpty(SOAPBindingUtil.getSOAPOperationStyle(bop))
@@ -258,7 +265,6 @@
return false;
}
} else {
- System.out.println("Style: " + style);
if (!checkR2717AndR2726(bop)) {
return false;
}