Author: veithen
Date: Sun Jul 20 07:34:05 2008
New Revision: 678277
URL: http://svn.apache.org/viewvc?rev=678277&view=rev
Log:
Solved SYNAPSE-402 and added the relevant test cases.
Modified:
synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/base/BaseUtils.java
synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/jms/JMSUtils.java
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/JMSListenerTest.java
Modified:
synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/base/BaseUtils.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/base/BaseUtils.java?rev=678277&r1=678276&r2=678277&view=diff
==============================================================================
---
synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/base/BaseUtils.java
(original)
+++
synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/base/BaseUtils.java
Sun Jul 20 07:34:05 2008
@@ -33,6 +33,7 @@
import org.apache.axiom.attachments.ByteArrayDataSource;
import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMOutputFormat;
import org.apache.axiom.om.OMText;
import org.apache.axiom.om.impl.builder.StAXBuilder;
@@ -228,15 +229,19 @@
try {
builder = new
StAXOMBuilder(StAXUtils.createXMLStreamReader(in, charSetEnc));
builder.setOMBuilderFactory(OMAbstractFactory.getOMFactory());
- String ns =
builder.getDocumentElement().getNamespace().getNamespaceURI();
+ OMNamespace ns = builder.getDocumentElement().getNamespace();
+ if (ns != null) {
+ String nsUri = ns.getNamespaceURI();
- if (SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI.equals(ns)) {
- envelope = BaseUtils.getEnvelope(in,
SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI);
-
- } else if
(SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI.equals(ns)) {
- envelope = BaseUtils.getEnvelope(in,
SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI);
-
- } else {
+ if
(SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI.equals(nsUri)) {
+ envelope = BaseUtils.getEnvelope(in,
SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI);
+
+ } else if
(SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI.equals(nsUri)) {
+ envelope = BaseUtils.getEnvelope(in,
SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI);
+
+ }
+ }
+ if (envelope == null) {
// this is POX ... mark message as REST
msgContext.setDoingREST(true);
envelope = soapFactory.getDefaultEnvelope();
Modified:
synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/jms/JMSUtils.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/jms/JMSUtils.java?rev=678277&r1=678276&r2=678277&view=diff
==============================================================================
---
synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/jms/JMSUtils.java
(original)
+++
synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/jms/JMSUtils.java
Sun Jul 20 07:34:05 2008
@@ -309,6 +309,7 @@
ByteArrayOutputStream out = new ByteArrayOutputStream();
BytesMessage byteMsg = (BytesMessage) message;
+ byteMsg.reset();
for (int bytesRead = byteMsg.readBytes(buffer); bytesRead !=
-1;
bytesRead = byteMsg.readBytes(buffer)) {
out.write(buffer, 0, bytesRead);
Modified:
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/JMSListenerTest.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/JMSListenerTest.java?rev=678277&r1=678276&r2=678277&view=diff
==============================================================================
---
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/JMSListenerTest.java
(original)
+++
synapse/trunk/java/modules/transports/src/test/java/org/apache/synapse/transport/jms/JMSListenerTest.java
Sun Jul 20 07:34:05 2008
@@ -160,8 +160,7 @@
TestStrategy strategy = new TestStrategyImpl(useTopic,
useContentTypeHeader);
if (useContentTypeHeader) {
addSOAPTests(strategy, suite);
- // TODO: POX tests don't work yet for JMS
- // addPOXTests(strategy, suite);
+ addPOXTests(strategy, suite);
addSwATests(strategy, suite);
} else {
// If no content type header is used, SwA can't be used
and the JMS transport
@@ -170,6 +169,8 @@
MessageContext.DEFAULT_CHAR_SET_ENCODING));
suite.addTest(new SOAP12TestCaseImpl(strategy, "SOAP12",
testString,
MessageContext.DEFAULT_CHAR_SET_ENCODING));
+ suite.addTest(new POXTestCaseImpl(strategy, "POX",
testString,
+ MessageContext.DEFAULT_CHAR_SET_ENCODING));
}
// TODO: these tests are temporarily disabled because of
SYNAPSE-304
// addTextPlainTests(strategy, suite);