Author: thomas.diesler(a)jboss.com
Date: 2007-04-04 06:08:31 -0400 (Wed, 04 Apr 2007)
New Revision: 2753
Added:
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/MessageTrace.java
Removed:
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/MessageTracer.java
Modified:
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/CommonClient.java
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/HTTPMessageImpl.java
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/MessageAbstraction.java
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/client/RemotingConnectionImpl.java
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/jaxws/binding/BindingProviderImpl.java
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/jaxws/client/DispatchImpl.java
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/jaxws/handler/LogicalMessageImpl.java
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/server/AbstractServiceEndpointInvoker.java
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/server/ServiceEndpoint.java
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/soap/SOAPBodyImpl.java
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/soap/SOAPMessageImpl.java
branches/tdiesler/trunk/jbossws-tests/build.xml
branches/tdiesler/trunk/jbossws-tests/src/etc/log4j.xml
branches/tdiesler/trunk/jbossws-tests/src/java/org/jboss/test/ws/JBossWSTest.java
Log:
HTTPBinding, samples pass
Modified:
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/CommonClient.java
===================================================================
---
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/CommonClient.java 2007-04-03
21:36:00 UTC (rev 2752)
+++
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/CommonClient.java 2007-04-04
10:08:31 UTC (rev 2753)
@@ -38,7 +38,6 @@
import javax.xml.soap.AttachmentPart;
import javax.xml.soap.MessageFactory;
import javax.xml.soap.SOAPException;
-import javax.xml.soap.SOAPMessage;
import javax.xml.ws.addressing.AddressingProperties;
import javax.xml.ws.addressing.JAXWSAConstants;
@@ -47,11 +46,10 @@
import org.jboss.ws.WSException;
import org.jboss.ws.core.DirectionHolder.Direction;
import org.jboss.ws.core.client.EndpointInfo;
+import org.jboss.ws.core.client.SOAPRemotingConnection;
import org.jboss.ws.core.jaxrpc.ParameterWrapping;
import org.jboss.ws.core.jaxrpc.Style;
import org.jboss.ws.core.soap.MessageContextAssociation;
-import org.jboss.ws.core.soap.SOAPBodyImpl;
-import org.jboss.ws.core.soap.SOAPConnectionImpl;
import org.jboss.ws.core.soap.UnboundHeader;
import org.jboss.ws.core.utils.HolderUtils;
import org.jboss.ws.extensions.addressing.AddressingConstantsImpl;
@@ -75,9 +73,9 @@
{
// provide logging
private static Logger log = Logger.getLogger(CommonClient.class);
-
+
public static String SESSION_COOKIES =
"org.jboss.ws.maintain.session.cookies";
-
+
// The endpoint together with the operationName uniquely identify the call operation
protected EndpointMetaData epMetaData;
// The current operation name
@@ -223,7 +221,7 @@
protected abstract void setInboundContextProperties();
protected abstract void setOutboundContextProperties();
-
+
protected abstract boolean shouldMaintainSession();
/** Call invokation goes as follows:
@@ -273,7 +271,7 @@
setOutboundContextProperties();
// Bind the request message
- SOAPMessage reqMessage = (SOAPMessage)binding.bindRequestMessage(opMetaData,
epInv, unboundHeaders);
+ MessageAbstraction reqMessage = binding.bindRequestMessage(opMetaData, epInv,
unboundHeaders);
// Add possible attachment parts
addAttachmentParts(reqMessage);
@@ -284,8 +282,8 @@
handlerPass = handlerPass && callRequestHandlerChain(portName,
handlerType[2]);
// Handlers might have replaced the message
- reqMessage = msgContext.getSOAPMessage();
-
+ reqMessage = msgContext.getMessageAbstraction();
+
if (handlerPass)
{
String targetAddress = getTargetEndpointAddress();
@@ -315,32 +313,25 @@
if (targetAddress == null)
throw new WSException("Target endpoint address not set");
- Map<String, Object> callProps = new HashMap<String,
Object>(getRequestContext());
+ Map<String, Object> callProps = new HashMap<String,
Object>(getRequestContext());
EndpointInfo epInfo = new EndpointInfo(epMetaData, targetAddress,
callProps);
if (shouldMaintainSession())
addSessionInfo(reqMessage, callProps);
- SOAPMessage resMessage;
- if (oneway)
- {
- resMessage = new SOAPConnectionImpl().callOneWay(reqMessage, epInfo);
- }
- else
- {
- resMessage = new SOAPConnectionImpl().call(reqMessage, epInfo);
- }
-
+ SOAPRemotingConnection remotingConnection = new SOAPRemotingConnection();
+ MessageAbstraction resMessage = remotingConnection.invoke(reqMessage, epInfo,
oneway);
+
if (shouldMaintainSession())
saveSessionInfo(callProps, getRequestContext());
// At pivot the message context might be replaced
msgContext = processPivotInternal(msgContext, direction);
-
+
// Copy the remoting meta data
msgContext.put(CommonMessageContext.REMOTING_METADATA, callProps);
// Associate response message with message context
- msgContext.setSOAPMessage(resMessage);
+ msgContext.setMessageAbstraction(resMessage);
}
setInboundContextProperties();
@@ -371,7 +362,7 @@
faultType[0] = null;
// Check if protocol handlers modified the payload
- if (((SOAPBodyImpl)reqMessage.getSOAPBody()).isModifiedFromSource())
+ if (reqMessage.isModified())
{
log.debug("Handler modified body payload, unbind message
again");
MessageAbstraction resMessage = msgContext.getMessageAbstraction();
@@ -403,53 +394,53 @@
closeHandlerChain(portName, handlerType[0]);
}
}
-
+
private void saveSessionInfo(Map<String, Object> remotingMetadata,
Map<String, Object> requestContext)
{
- Map<String, String> cookies = (Map) remotingMetadata.get(SESSION_COOKIES);
+ Map<String, String> cookies = (Map)remotingMetadata.get(SESSION_COOKIES);
if (cookies == null)
{
cookies = new HashMap<String, String>();
requestContext.put(SESSION_COOKIES, cookies);
}
-
+
List<String> setCookies = new ArrayList<String>();
-
+
List<String> setCookies1 =
(List)remotingMetadata.get("Set-Cookie");
if (setCookies1 != null)
setCookies.addAll(setCookies1);
-
+
List<String> setCookies2 =
(List)remotingMetadata.get("Set-Cookie2");
if (setCookies2 != null)
setCookies.addAll(setCookies2);
-
+
// TODO: The parsing here should be improved to be fully compliant with the RFC
for (String setCookie : setCookies)
{
int index = setCookie.indexOf(';');
if (index == -1)
continue;
-
+
String pair = setCookie.substring(0, index);
index = pair.indexOf('=');
if (index == -1)
continue;
-
+
String name = pair.substring(0, index);
String value = pair.substring(index + 1);
-
+
cookies.put(name, value);
}
}
- protected void addSessionInfo(SOAPMessage reqMessage, Map<String, Object>
callProperties)
+ protected void addSessionInfo(MessageAbstraction reqMessage, Map<String, Object>
callProperties)
{
- Map<String, String> cookies = (Map) callProperties.get(SESSION_COOKIES);
+ Map<String, String> cookies = (Map)callProperties.get(SESSION_COOKIES);
if (cookies != null)
{
for (Map.Entry<String, String> cookie : cookies.entrySet())
{
- reqMessage.getMimeHeaders().addHeader("Cookie" , cookie.getKey() +
"=" + cookie.getValue());
+ reqMessage.getMimeHeaders().addHeader("Cookie", cookie.getKey() +
"=" + cookie.getValue());
}
}
}
@@ -464,12 +455,11 @@
return msgContext;
}
- protected void addAttachmentParts(SOAPMessage reqMessage)
+ protected void addAttachmentParts(MessageAbstraction reqMessage)
{
for (AttachmentPart part : attachmentParts)
{
- if (log.isDebugEnabled())
- log.debug("Adding attachment part: " + part.getContentId());
+ log.debug("Adding attachment part: " + part.getContentId());
reqMessage.addAttachmentPart(part);
}
}
Modified:
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/HTTPMessageImpl.java
===================================================================
---
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/HTTPMessageImpl.java 2007-04-03
21:36:00 UTC (rev 2752)
+++
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/HTTPMessageImpl.java 2007-04-04
10:08:31 UTC (rev 2753)
@@ -25,11 +25,13 @@
import java.io.InputStream;
import java.io.OutputStream;
+import javax.xml.soap.AttachmentPart;
import javax.xml.soap.MimeHeaders;
import javax.xml.transform.Result;
import javax.xml.transform.Source;
import javax.xml.transform.stream.StreamSource;
+import org.jboss.util.NotImplementedException;
import org.jboss.ws.core.soap.XMLFragment;
import org.jboss.ws.core.soap.attachment.MimeConstants;
@@ -43,6 +45,7 @@
{
private MimeHeaders mimeHeaders;
private XMLFragment xmlFragment;
+ private boolean modified;
public HTTPMessageImpl(MimeHeaders mimeHeaders, InputStream inputStream)
{
@@ -103,4 +106,20 @@
{
return false;
}
+
+ public void addAttachmentPart(AttachmentPart part)
+ {
+ throw new NotImplementedException();
+ }
+
+ public boolean isModified()
+ {
+ return modified;
+ }
+
+ public void setModified(boolean modifiedInHandler)
+ {
+ this.modified = modifiedInHandler;
+ }
+
}
Modified:
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/MessageAbstraction.java
===================================================================
---
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/MessageAbstraction.java 2007-04-03
21:36:00 UTC (rev 2752)
+++
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/MessageAbstraction.java 2007-04-04
10:08:31 UTC (rev 2753)
@@ -24,6 +24,7 @@
import java.io.IOException;
import java.io.OutputStream;
+import javax.xml.soap.AttachmentPart;
import javax.xml.soap.MimeHeaders;
/**
@@ -39,4 +40,11 @@
void writeTo(OutputStream outputStream) throws IOException;
boolean isFaultMessage();
+
+ boolean isModified();
+
+ void setModified(boolean flag);
+
+ void addAttachmentPart(AttachmentPart part);
+
}
Copied: branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/MessageTrace.java
(from rev 2752,
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/MessageTracer.java)
===================================================================
--- branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/MessageTrace.java
(rev 0)
+++
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/MessageTrace.java 2007-04-04
10:08:31 UTC (rev 2753)
@@ -0,0 +1,84 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ */
+package org.jboss.ws.core;
+
+// $Id$
+
+import javax.xml.soap.SOAPEnvelope;
+import javax.xml.soap.SOAPException;
+import javax.xml.soap.SOAPMessage;
+
+import org.jboss.logging.Logger;
+import org.jboss.ws.core.soap.SOAPElementImpl;
+import org.jboss.ws.core.soap.SOAPElementWriter;
+import org.jboss.ws.core.utils.DOMWriter;
+import org.w3c.dom.Element;
+
+/**
+ * Trace incomming/outgoing messages
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 04-Apr-2007
+ */
+public final class MessageTrace
+{
+ private static Logger msgLog = Logger.getLogger(MessageTrace.class);
+
+ // Hide ctor
+ private MessageTrace()
+ {
+ }
+
+ public static void traceMessage(String messagePrefix, MessageAbstraction message)
+ {
+ if (msgLog.isTraceEnabled())
+ {
+ if (message instanceof SOAPMessage)
+ {
+ try
+ {
+ SOAPEnvelope soapEnv =
((SOAPMessage)message).getSOAPPart().getEnvelope();
+ if (soapEnv != null)
+ {
+ String envStr =
SOAPElementWriter.writeElement((SOAPElementImpl)soapEnv, true);
+ msgLog.trace(messagePrefix + "\n" + envStr);
+ }
+ }
+ catch (SOAPException ex)
+ {
+ msgLog.error("Cannot trace SOAPMessage", ex);
+ }
+ }
+ else if (message instanceof HTTPMessageImpl)
+ {
+ HTTPMessageImpl httpMessage = (HTTPMessageImpl)message;
+ Element root = httpMessage.getXmlFragment().toElement();
+ String xmlString = DOMWriter.printNode(root, true);
+ msgLog.trace(messagePrefix + "\n" + xmlString);
+ }
+ else
+ {
+ msgLog.warn("Unsupported message type: " + message);
+ }
+ }
+ }
+}
Deleted:
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/MessageTracer.java
===================================================================
---
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/MessageTracer.java 2007-04-03
21:36:00 UTC (rev 2752)
+++
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/MessageTracer.java 2007-04-04
10:08:31 UTC (rev 2753)
@@ -1,46 +0,0 @@
-package org.jboss.ws.core;
-
-import javax.xml.soap.SOAPEnvelope;
-import javax.xml.soap.SOAPException;
-import javax.xml.soap.SOAPMessage;
-
-import org.jboss.logging.Logger;
-import org.jboss.ws.core.soap.SOAPElementImpl;
-import org.jboss.ws.core.soap.SOAPElementWriter;
-
-public final class MessageTracer
-{
- private static Logger msgLog = Logger.getLogger("jbossws.SOAPMessage");
-
- // Hide ctor
- private MessageTracer()
- {
- }
-
- public static void traceMessage(String string, MessageAbstraction message)
- {
- if (msgLog.isTraceEnabled())
- {
- if (message instanceof SOAPMessage)
- {
- try
- {
- SOAPEnvelope soapEnv =
((SOAPMessage)message).getSOAPPart().getEnvelope();
- if (soapEnv != null)
- {
- String envStr =
SOAPElementWriter.writeElement((SOAPElementImpl)soapEnv, true);
- msgLog.trace(string + "\n" + envStr);
- }
- }
- catch (SOAPException ex)
- {
- msgLog.error("Cannot trace SOAPMessage", ex);
- }
- }
- else
- {
- msgLog.warn("Unsupported message type: " + message);
- }
- }
- }
-}
Modified:
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/client/RemotingConnectionImpl.java
===================================================================
---
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/client/RemotingConnectionImpl.java 2007-04-03
21:36:00 UTC (rev 2752)
+++
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/client/RemotingConnectionImpl.java 2007-04-04
10:08:31 UTC (rev 2753)
@@ -45,7 +45,7 @@
import org.jboss.remoting.marshal.UnMarshaller;
import org.jboss.ws.WSException;
import org.jboss.ws.core.MessageAbstraction;
-import org.jboss.ws.core.MessageTracer;
+import org.jboss.ws.core.MessageTrace;
import org.jboss.ws.core.StubExt;
import org.jboss.ws.core.WSTimeoutException;
@@ -157,7 +157,7 @@
try
{
// debug the outgoing message
- MessageTracer.traceMessage("Outgoing Request Message", reqMessage);
+ MessageTrace.traceMessage("Outgoing Request Message", reqMessage);
MessageAbstraction resMessage = null;
try
@@ -186,7 +186,7 @@
callProps.putAll(metadata);
// trace the incomming response message
- MessageTracer.traceMessage("Incoming Response Message", resMessage);
+ MessageTrace.traceMessage("Incoming Response Message", resMessage);
return resMessage;
}
Modified:
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/jaxws/binding/BindingProviderImpl.java
===================================================================
---
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/jaxws/binding/BindingProviderImpl.java 2007-04-03
21:36:00 UTC (rev 2752)
+++
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/jaxws/binding/BindingProviderImpl.java 2007-04-04
10:08:31 UTC (rev 2753)
@@ -31,6 +31,7 @@
import javax.xml.ws.EndpointReference;
import javax.xml.ws.WebServiceException;
import javax.xml.ws.Service.Mode;
+import javax.xml.ws.http.HTTPBinding;
import org.jboss.util.NotImplementedException;
import org.jboss.ws.core.CommonBindingProvider;
@@ -63,13 +64,15 @@
protected void initBinding(String bindingId, Type type)
{
super.initBinding(bindingId, type);
- if (binding == null)
+
+ if (HTTPBinding.HTTP_BINDING.equals(bindingId) == false)
{
- if (epMetaData != null && epMetaData.getServiceMode() == Mode.MESSAGE)
+ Mode serviceMode = (epMetaData != null ? epMetaData.getServiceMode() : null);
+ if (serviceMode == Mode.MESSAGE)
{
binding = new MessageBinding();
}
- else if (epMetaData != null && epMetaData.getServiceMode() ==
Mode.PAYLOAD)
+ else if (serviceMode == Mode.PAYLOAD)
{
binding = new PayloadBinding();
}
Modified:
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/jaxws/client/DispatchImpl.java
===================================================================
---
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/jaxws/client/DispatchImpl.java 2007-04-03
21:36:00 UTC (rev 2752)
+++
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/jaxws/client/DispatchImpl.java 2007-04-04
10:08:31 UTC (rev 2753)
@@ -72,7 +72,7 @@
public DispatchImpl(ExecutorService executor, EndpointMetaData epMetaData,
Class<T> type, Mode mode)
{
- this.bindingProvider = new BindingProviderImpl(epMetaData.getBindingId());
+ this.bindingProvider = new BindingProviderImpl(epMetaData);
this.epMetaData = epMetaData;
this.executor = executor;
this.type = type;
@@ -82,7 +82,7 @@
public DispatchImpl(ExecutorService executor, EndpointMetaData epMetaData, JAXBContext
jbc, Mode mode)
{
- this.bindingProvider = new BindingProviderImpl(epMetaData.getBindingId());
+ this.bindingProvider = new BindingProviderImpl(epMetaData);
this.epMetaData = epMetaData;
this.executor = executor;
this.type = Object.class;
Modified:
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/jaxws/handler/LogicalMessageImpl.java
===================================================================
---
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/jaxws/handler/LogicalMessageImpl.java 2007-04-03
21:36:00 UTC (rev 2752)
+++
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/jaxws/handler/LogicalMessageImpl.java 2007-04-04
10:08:31 UTC (rev 2753)
@@ -142,14 +142,13 @@
{
soapBody.setSource(source);
}
- // The body payload has been modified
- soapBody.setModifiedFromSource(true);
}
else if (message instanceof HTTPMessageImpl)
{
HTTPMessageImpl httpMessage = (HTTPMessageImpl)message;
httpMessage.setXmlFragment(new XMLFragment(source));
}
+ message.setModified(true);
}
public Object getPayload(JAXBContext jaxbContext)
Modified:
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/server/AbstractServiceEndpointInvoker.java
===================================================================
---
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/server/AbstractServiceEndpointInvoker.java 2007-04-03
21:36:00 UTC (rev 2752)
+++
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/server/AbstractServiceEndpointInvoker.java 2007-04-04
10:08:31 UTC (rev 2753)
@@ -37,7 +37,6 @@
import javax.xml.soap.SOAPBodyElement;
import javax.xml.soap.SOAPException;
import javax.xml.soap.SOAPHeader;
-import javax.xml.soap.SOAPMessage;
import javax.xml.ws.http.HTTPBinding;
import org.jboss.logging.Logger;
@@ -56,7 +55,6 @@
import org.jboss.ws.core.jaxws.handler.HandlerDelegateJAXWS;
import org.jboss.ws.core.jaxws.handler.MessageContextJAXWS;
import org.jboss.ws.core.soap.MessageContextAssociation;
-import org.jboss.ws.core.soap.SOAPBodyImpl;
import org.jboss.ws.core.soap.SOAPMessageImpl;
import org.jboss.ws.core.utils.JavaUtils;
import org.jboss.ws.extensions.xop.XOPContext;
@@ -198,15 +196,10 @@
try
{
// Check if protocol handlers modified the payload
- if (reqMessage instanceof SOAPMessage)
+ if (reqMessage.isModified())
{
- SOAPMessageImpl soapMessage = (SOAPMessageImpl)reqMessage;
- SOAPBodyImpl soapBody = (SOAPBodyImpl)soapMessage.getSOAPBody();
- if (soapBody.isModifiedFromSource())
- {
- log.debug("Handler modified body payload, unbind message
again");
- epInv = binding.unbindRequestMessage(opMetaData, reqMessage);
- }
+ log.debug("Handler modified payload, unbind message again");
+ epInv = binding.unbindRequestMessage(opMetaData, reqMessage);
}
// Invoke the service endpoint
Modified:
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/server/ServiceEndpoint.java
===================================================================
---
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/server/ServiceEndpoint.java 2007-04-03
21:36:00 UTC (rev 2752)
+++
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/server/ServiceEndpoint.java 2007-04-04
10:08:31 UTC (rev 2753)
@@ -43,7 +43,7 @@
import org.jboss.ws.core.CommonMessageContext;
import org.jboss.ws.core.HTTPMessageImpl;
import org.jboss.ws.core.MessageAbstraction;
-import org.jboss.ws.core.MessageTracer;
+import org.jboss.ws.core.MessageTrace;
import org.jboss.ws.core.jaxrpc.binding.BindingException;
import org.jboss.ws.core.soap.MessageContextAssociation;
import org.jboss.ws.core.soap.MessageFactoryImpl;
@@ -201,7 +201,7 @@
msgContext.setMessageAbstraction(reqMessage);
// debug the incomming message
- MessageTracer.traceMessage("Incoming Request Message", reqMessage);
+ MessageTrace.traceMessage("Incoming Request Message", reqMessage);
// Set the thread context class loader
ClassLoader classLoader = sepMetaData.getClassLoader();
@@ -278,7 +278,7 @@
}
// debug the outgoing message
- MessageTracer.traceMessage("Outgoing Response Message", resMessage);
+ MessageTrace.traceMessage("Outgoing Response Message", resMessage);
}
catch (Exception ex)
{
Modified:
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/soap/SOAPBodyImpl.java
===================================================================
---
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/soap/SOAPBodyImpl.java 2007-04-03
21:36:00 UTC (rev 2752)
+++
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/soap/SOAPBodyImpl.java 2007-04-04
10:08:31 UTC (rev 2753)
@@ -68,7 +68,6 @@
// Generic JAXWS payload
private XMLFragment xmlFragment;
private boolean isDOMValid = true;
- private boolean isModifiedFromSource;
public SOAPBodyImpl(String prefix, String namespace)
{
@@ -80,16 +79,6 @@
return isDOMValid;
}
- public boolean isModifiedFromSource()
- {
- return isModifiedFromSource;
- }
-
- public void setModifiedFromSource(boolean isModified)
- {
- this.isModifiedFromSource = isModified;
- }
-
public Source getSource()
{
Source source;
@@ -372,7 +361,8 @@
}
finally
{
- isModifiedFromSource = true;
+ // Mark the message as modified
+
log.trace("END expandToDOM");
}
}
Modified:
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/soap/SOAPMessageImpl.java
===================================================================
---
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/soap/SOAPMessageImpl.java 2007-04-03
21:36:00 UTC (rev 2752)
+++
branches/tdiesler/trunk/jbossws-core/src/java/org/jboss/ws/core/soap/SOAPMessageImpl.java 2007-04-04
10:08:31 UTC (rev 2753)
@@ -69,6 +69,7 @@
private boolean isXOPMessage;
private boolean isSWARefMessage;
private SOAPPartImpl soapPart;
+ private boolean modified;
private MultipartRelatedEncoder multipartRelatedEncoder;
// Cache the associated operation meta data
@@ -505,4 +506,14 @@
while (attachmentItr.next() != null)
attachmentItr.remove();
}
+
+ public boolean isModified()
+ {
+ return modified;
+ }
+
+ public void setModified(boolean modifiedInHandler)
+ {
+ this.modified = modifiedInHandler;
+ }
}
Modified: branches/tdiesler/trunk/jbossws-tests/build.xml
===================================================================
--- branches/tdiesler/trunk/jbossws-tests/build.xml 2007-04-03 21:36:00 UTC (rev 2752)
+++ branches/tdiesler/trunk/jbossws-tests/build.xml 2007-04-04 10:08:31 UTC (rev 2753)
@@ -474,7 +474,7 @@
<antcall target="tests-main">
<param name="include.wildcard"
value="org/jboss/test/ws/tools/**/*TestCase.class"/>
<param name="exclude.wildcard"
value="no-wildcard-exclude-see-excludesfile"/>
- <param name="haltonfailure" value="false"/>
+ <param name="haltonfailure" value="true"/>
</antcall>
<antcall target="tests-report"/>
</target>
@@ -487,7 +487,7 @@
<antcall target="tests-main">
<param name="include.wildcard"
value="org/jboss/test/ws/${test}/**/*TestCase.class"/>
<param name="exclude.wildcard"
value="no-wildcard-exclude-see-excludesfile"/>
- <param name="haltonfailure" value="false"/>
+ <param name="haltonfailure" value="true"/>
</antcall>
</target>
Modified: branches/tdiesler/trunk/jbossws-tests/src/etc/log4j.xml
===================================================================
--- branches/tdiesler/trunk/jbossws-tests/src/etc/log4j.xml 2007-04-03 21:36:00 UTC (rev
2752)
+++ branches/tdiesler/trunk/jbossws-tests/src/etc/log4j.xml 2007-04-04 10:08:31 UTC (rev
2753)
@@ -56,6 +56,10 @@
<priority value="DEBUG"/>
</category>
+ <category name="org.jboss.ws.core.MessageTrace">
+ <priority value="TRACE" class="org.jboss.logging.XLevel"/>
+ </category>
+
<category name="org.jboss.remoting">
<priority value="INFO"/>
</category>
@@ -65,11 +69,6 @@
<priority value="INFO"/>
</category>
- <!-- Enable SOAP message tracing -->
- <category name="jbossws.SOAPMessage">
- <priority value="TRACE" class="org.jboss.logging.XLevel"/>
- </category>
-
<!--
<category name="org.jboss.xb">
<priority value="TRACE" class="org.jboss.logging.XLevel"/>
Modified:
branches/tdiesler/trunk/jbossws-tests/src/java/org/jboss/test/ws/JBossWSTest.java
===================================================================
---
branches/tdiesler/trunk/jbossws-tests/src/java/org/jboss/test/ws/JBossWSTest.java 2007-04-03
21:36:00 UTC (rev 2752)
+++
branches/tdiesler/trunk/jbossws-tests/src/java/org/jboss/test/ws/JBossWSTest.java 2007-04-04
10:08:31 UTC (rev 2753)
@@ -30,7 +30,9 @@
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
+import javax.xml.transform.OutputKeys;
import javax.xml.transform.Source;
+import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMResult;
@@ -151,9 +153,12 @@
public Element getElementFromSource(Source retObj) throws TransformerException
{
+ TransformerFactory tf = TransformerFactory.newInstance();
+ Transformer transformer = tf.newTransformer();
+ transformer.setOutputProperty(OutputKeys.METHOD, "xml");
+
DOMResult domResult = new DOMResult();
- TransformerFactory tf = TransformerFactory.newInstance();
- tf.newTransformer().transform(retObj, domResult);
+ transformer.transform(retObj, domResult);
Document doc = (Document)domResult.getNode();
Element docElement = doc.getDocumentElement();
return docElement;