You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by hi...@apache.org on 2011/05/07 14:10:47 UTC
svn commit: r1100518 -
/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/core/axis2/SOAPConversionTest.java
Author: hiranya
Date: Sat May 7 12:10:46 2011
New Revision: 1100518
URL: http://svn.apache.org/viewvc?rev=1100518&view=rev
Log:
Fixing some bugs in the SOAP conversion logic and adding a test case
Added:
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/core/axis2/SOAPConversionTest.java
Added: synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/core/axis2/SOAPConversionTest.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/core/axis2/SOAPConversionTest.java?rev=1100518&view=auto
==============================================================================
--- synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/core/axis2/SOAPConversionTest.java (added)
+++ synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/core/axis2/SOAPConversionTest.java Sat May 7 12:10:46 2011
@@ -0,0 +1,81 @@
+/*
+* Copyright (c) 2005-2010, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
+*
+* WSO2 Inc. licenses this file to you under the Apache License,
+* Version 2.0 (the "License"); you may not use this file except
+* in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied. See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*/
+
+package org.apache.synapse.core.axis2;
+
+import junit.framework.TestCase;
+import org.apache.axiom.om.OMAbstractFactory;
+import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMNamespace;
+import org.apache.axiom.soap.SOAPEnvelope;
+import org.apache.axiom.soap.SOAPFactory;
+import org.apache.axis2.context.MessageContext;
+import org.apache.synapse.mediators.TestUtils;
+import org.custommonkey.xmlunit.XMLTestCase;
+
+public class SOAPConversionTest extends XMLTestCase {
+
+ public void testSOAP11To12Conversion() throws Exception {
+ MessageContext msgCtx = TestUtils.getAxis2MessageContext("<test/>", null).
+ getAxis2MessageContext();
+ msgCtx.setEnvelope(getSOAP11Envelope());
+ SOAPUtils.convertSOAP11toSOAP12(msgCtx);
+
+ assertXMLEqual(getSOAP12Envelope().toString(), msgCtx.getEnvelope().toString());
+ }
+
+ public void testSOAP12To11Conversion() throws Exception {
+ MessageContext msgCtx = TestUtils.getAxis2MessageContext("<test/>", null).
+ getAxis2MessageContext();
+ msgCtx.setEnvelope(getSOAP12Envelope());
+ SOAPUtils.convertSOAP12toSOAP11(msgCtx);
+
+ assertXMLEqual(getSOAP11Envelope().toString(), msgCtx.getEnvelope().toString());
+ }
+
+ private SOAPEnvelope getSOAP11Envelope() {
+ SOAPFactory fac = OMAbstractFactory.getSOAP11Factory();
+ SOAPEnvelope envelope = fac.getDefaultEnvelope();
+ envelope.getBody().addChild(createPayload(fac));
+ populateHeader(envelope, fac);
+ return envelope;
+ }
+
+ private SOAPEnvelope getSOAP12Envelope() {
+ SOAPFactory fac = OMAbstractFactory.getSOAP12Factory();
+ SOAPEnvelope envelope = fac.getDefaultEnvelope();
+ envelope.getBody().addChild(createPayload(fac));
+ populateHeader(envelope, fac);
+ return envelope;
+ }
+
+ private void populateHeader(SOAPEnvelope envelope, SOAPFactory fac) {
+ OMNamespace ns = fac.createOMNamespace("http://custom.header.com", "syn");
+ envelope.getHeader().addHeaderBlock("Foo", ns);
+ envelope.getHeader().addHeaderBlock("Bar", ns);
+ }
+
+ private OMElement createPayload(SOAPFactory fac) {
+ OMNamespace ns = fac.createOMNamespace("http://samples.services", "m0");
+ OMElement getQuote = fac.createOMElement("getQuote", ns);
+ OMElement request = fac.createOMElement("request", ns);
+ request.setText("IBM");
+ getQuote.addChild(request);
+ return getQuote;
+ }
+}