You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by mm...@apache.org on 2007/12/21 07:04:13 UTC
svn commit: r606109 - in /incubator/cxf/trunk/rt:
bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/
bindings/soap/src/test/java/org/apache/cxf/binding/soap/
core/src/main/java/org/apache/cxf/attachment/
core/src/main/java/org/apache/...
Author: mmao
Date: Thu Dec 20 22:04:12 2007
New Revision: 606109
URL: http://svn.apache.org/viewvc?rev=606109&view=rev
Log:
CXF-1324
* Configure the SOAPAction URI through the JAXWS context
* LoggingOut log the protocol headers and contentType
* Using the SOAPAction Constants instead of hard code string
Modified:
incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapActionInInterceptor.java
incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapActionOutInterceptor.java
incubator/cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/SoapActionInterceptorTest.java
incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/attachment/AttachmentDeserializer.java
incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/LoggingMessage.java
incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/LoggingOutInterceptor.java
incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/ContextPropertiesMapping.java
incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsEndpointImpl.java
incubator/cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/Names.java
incubator/cxf/trunk/rt/ws/addr/src/test/java/org/apache/cxf/ws/addressing/soap/MAPCodecTest.java
Modified: incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapActionInInterceptor.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapActionInInterceptor.java?rev=606109&r1=606108&r2=606109&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapActionInInterceptor.java (original)
+++ incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapActionInInterceptor.java Thu Dec 20 22:04:12 2007
@@ -25,6 +25,7 @@
import org.apache.cxf.binding.soap.Soap11;
import org.apache.cxf.binding.soap.Soap12;
+import org.apache.cxf.binding.soap.SoapBindingConstants;
import org.apache.cxf.binding.soap.SoapMessage;
import org.apache.cxf.binding.soap.model.SoapOperationInfo;
import org.apache.cxf.endpoint.Endpoint;
@@ -48,7 +49,7 @@
if (message.getVersion() instanceof Soap11) {
Map<String, List<String>> headers = CastUtils.cast((Map)message.get(Message.PROTOCOL_HEADERS));
if (headers != null) {
- List<String> sa = headers.get("SOAPAction");
+ List<String> sa = headers.get(SoapBindingConstants.SOAP_ACTION);
if (sa != null && sa.size() > 0) {
String action = sa.get(0);
if (action.startsWith("\"")) {
Modified: incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapActionOutInterceptor.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapActionOutInterceptor.java?rev=606109&r1=606108&r2=606109&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapActionOutInterceptor.java (original)
+++ incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapActionOutInterceptor.java Thu Dec 20 22:04:12 2007
@@ -67,8 +67,8 @@
message.put(Message.PROTOCOL_HEADERS, reqHeaders);
}
- if (!reqHeaders.containsKey("SOAPAction")) {
- reqHeaders.put("SOAPAction", Collections.singletonList(action));
+ if (!reqHeaders.containsKey(SoapBindingConstants.SOAP_ACTION)) {
+ reqHeaders.put(SoapBindingConstants.SOAP_ACTION, Collections.singletonList(action));
}
} else if (message.getVersion() instanceof Soap12 && !"\"\"".equals(action)) {
String ct = (String) message.get(Message.CONTENT_TYPE);
Modified: incubator/cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/SoapActionInterceptorTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/SoapActionInterceptorTest.java?rev=606109&r1=606108&r2=606109&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/SoapActionInterceptorTest.java (original)
+++ incubator/cxf/trunk/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/SoapActionInterceptorTest.java Thu Dec 20 22:04:12 2007
@@ -56,7 +56,7 @@
(new SoapActionOutInterceptor()).handleMessage(soapMessage);
Map<String, List<String>> reqHeaders = CastUtils.cast((Map)soapMessage.get(Message.PROTOCOL_HEADERS));
assertNotNull(reqHeaders);
- assertEquals("\"\"", reqHeaders.get("SOAPAction").get(0));
+ assertEquals("\"\"", reqHeaders.get(SoapBindingConstants.SOAP_ACTION).get(0));
sb.setSoapVersion(Soap12.getInstance());
soapMessage.clear();
Modified: incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/attachment/AttachmentDeserializer.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/attachment/AttachmentDeserializer.java?rev=606109&r1=606108&r2=606109&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/attachment/AttachmentDeserializer.java (original)
+++ incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/attachment/AttachmentDeserializer.java Thu Dec 20 22:04:12 2007
@@ -285,6 +285,7 @@
final String ct = headers.getHeader("Content-Type", null);
DataSource source = new AttachmentDataSource(ct, new DelegatingInputStream(partStream));
+ //DataSource source = new AttachmentDataSource(null, new DelegatingInputStream(partStream));
att.setDataHandler(new DataHandler(source));
for (Enumeration<?> e = headers.getAllHeaders(); e.hasMoreElements();) {
Modified: incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/LoggingMessage.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/LoggingMessage.java?rev=606109&r1=606108&r2=606109&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/LoggingMessage.java (original)
+++ incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/LoggingMessage.java Thu Dec 20 22:04:12 2007
@@ -59,7 +59,9 @@
buffer.append(encoding);
buffer.append("\nHeaders: ");
buffer.append(header);
+ buffer.append("\nMessages: ");
buffer.append(message);
+ buffer.append("\nPayload: ");
buffer.append(payload);
buffer.append("\n--------------------------------------");
return buffer.toString();
Modified: incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/LoggingOutInterceptor.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/LoggingOutInterceptor.java?rev=606109&r1=606108&r2=606109&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/LoggingOutInterceptor.java (original)
+++ incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/LoggingOutInterceptor.java Thu Dec 20 22:04:12 2007
@@ -74,11 +74,17 @@
// Write the output while caching it for the log message
final CacheAndWriteOutputStream newOut = new CacheAndWriteOutputStream(os);
message.setContent(OutputStream.class, newOut);
- newOut.registerCallback(new LoggingCallback());
+ newOut.registerCallback(new LoggingCallback(message));
}
}
class LoggingCallback implements CachedOutputStreamCallback {
+
+ private final Message message;
+
+ public LoggingCallback(final Message msg) {
+ this.message = msg;
+ }
public void onFlush(CachedOutputStream cos) {
@@ -86,6 +92,18 @@
public void onClose(CachedOutputStream cos) {
final LoggingMessage buffer = new LoggingMessage("Outbound Message\n---------------------------");
+
+ String encoding = (String)message.get(Message.ENCODING);
+
+ if (encoding != null) {
+ buffer.getEncoding().append(encoding);
+ }
+
+ Object headers = message.get(Message.PROTOCOL_HEADERS);
+
+ if (headers != null) {
+ buffer.getHeader().append(headers);
+ }
if (cos.getTempFile() == null) {
//buffer.append("Outbound Message:\n");
Modified: incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/ContextPropertiesMapping.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/ContextPropertiesMapping.java?rev=606109&r1=606108&r2=606109&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/ContextPropertiesMapping.java (original)
+++ incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/ContextPropertiesMapping.java Thu Dec 20 22:04:12 2007
@@ -31,6 +31,7 @@
import javax.xml.ws.handler.MessageContext;
import javax.xml.ws.handler.MessageContext.Scope;
+import org.apache.cxf.binding.soap.SoapBindingConstants;
import org.apache.cxf.binding.soap.SoapMessage;
import org.apache.cxf.configuration.security.AuthorizationPolicy;
import org.apache.cxf.endpoint.Endpoint;
@@ -91,6 +92,8 @@
"HTTP.RESPONSE");
jaxws2cxfMap.put(MessageContext.SERVLET_CONTEXT,
"HTTP.CONTEXT");
+
+ jaxws2cxfMap.put(BindingProvider.SOAPACTION_URI_PROPERTY, SoapBindingConstants.SOAP_ACTION);
}
private ContextPropertiesMapping() {
Modified: incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsEndpointImpl.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsEndpointImpl.java?rev=606109&r1=606108&r2=606109&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsEndpointImpl.java (original)
+++ incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsEndpointImpl.java Thu Dec 20 22:04:12 2007
@@ -86,7 +86,7 @@
public JaxWsEndpointImpl(Bus bus, Service s, EndpointInfo ei,
List<WebServiceFeature> wf) throws EndpointException {
- this(bus, s, ei, null, wf, null, true);
+ this(bus, s, ei, null, wf, new ArrayList<AbstractFeature>(), true);
}
public JaxWsEndpointImpl(Bus bus, Service s, EndpointInfo ei, JaxWsImplementorInfo implementorInfo,
Modified: incubator/cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/Names.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/Names.java?rev=606109&r1=606108&r2=606109&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/Names.java (original)
+++ incubator/cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/Names.java Thu Dec 20 22:04:12 2007
@@ -25,6 +25,8 @@
import java.util.Set;
import javax.xml.namespace.QName;
+import org.apache.cxf.binding.soap.SoapBindingConstants;
+
/**
* Holder for WS-Addressing names (of headers, namespaces etc.).
@@ -146,7 +148,7 @@
public static final String SOAP12HTTP_ADDRESSING_BINDING =
"http://www.w3.org/2003/05/soap-envelope?addressing=ms";
- public static final String SOAP_ACTION_HEADER = "SOAPAction";
+ public static final String SOAP_ACTION_HEADER = SoapBindingConstants.SOAP_ACTION;
/**
* The set of headers understood by the protocol binding.
Modified: incubator/cxf/trunk/rt/ws/addr/src/test/java/org/apache/cxf/ws/addressing/soap/MAPCodecTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/ws/addr/src/test/java/org/apache/cxf/ws/addressing/soap/MAPCodecTest.java?rev=606109&r1=606108&r2=606109&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/ws/addr/src/test/java/org/apache/cxf/ws/addressing/soap/MAPCodecTest.java (original)
+++ incubator/cxf/trunk/rt/ws/addr/src/test/java/org/apache/cxf/ws/addressing/soap/MAPCodecTest.java Thu Dec 20 22:04:12 2007
@@ -36,6 +36,7 @@
import org.w3c.dom.NodeList;
+import org.apache.cxf.binding.soap.SoapBindingConstants;
import org.apache.cxf.binding.soap.SoapFault;
import org.apache.cxf.binding.soap.SoapMessage;
import org.apache.cxf.binding.soap.SoapVersion;
@@ -337,7 +338,7 @@
if (preExistingSOAPAction) {
List<String> soapAction = new ArrayList<String>();
soapAction.add("\"foobar\"");
- mimeHeaders.put("SOAPAction", soapAction);
+ mimeHeaders.put(SoapBindingConstants.SOAP_ACTION, soapAction);
}
if (invalidMAP) {
message.put("org.apache.cxf.ws.addressing.map.fault.name",