You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by ve...@apache.org on 2008/07/20 16:34:05 UTC
svn commit: r678277 - in /synapse/trunk/java/modules/transports/src:
main/java/org/apache/synapse/transport/base/BaseUtils.java
main/java/org/apache/synapse/transport/jms/JMSUtils.java
test/java/org/apache/synapse/transport/jms/JMSListenerTest.java
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);