| /* |
| * Copyright 2002-2004 The Apache Software Foundation. |
| * |
| * Licensed 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 test.message; |
| |
| import junit.framework.TestCase; |
| import org.apache.axis.Message; |
| import org.apache.axis.message.SOAPBodyElement; |
| import org.apache.axis.message.SOAPHeaderElement; |
| |
| import javax.xml.soap.Name; |
| import javax.xml.soap.SOAPBody; |
| import javax.xml.soap.SOAPEnvelope; |
| import javax.xml.soap.SOAPException; |
| import javax.xml.soap.SOAPHeader; |
| |
| /** |
| * Test SOAPEnvelope class. |
| * |
| * @author Glyn Normington (glyn@apache.org) |
| */ |
| public class TestSOAPEnvelope extends TestCase { |
| |
| public TestSOAPEnvelope(String name) { |
| super(name); |
| } |
| |
| // Test JAXM methods... |
| |
| public void testName() throws Exception { |
| SOAPEnvelope env = new org.apache.axis.message.SOAPEnvelope(); |
| Name n = env.createName("local", "pref", "urn:blah"); |
| assertEquals("local part of name did not match", "local", |
| n.getLocalName()); |
| assertEquals("qname of name did not match", "pref:local", |
| n.getQualifiedName()); |
| assertEquals("prefix of name did not match", "pref", |
| n.getPrefix()); |
| assertEquals("uri of name did not match", "urn:blah", |
| n.getURI()); |
| Name n2 = env.createName("loc"); |
| assertEquals("local part of name2 did not match", "loc", |
| n2.getLocalName()); |
| } |
| |
| public void testHeader() throws Exception { |
| SOAPEnvelope env = new org.apache.axis.message.SOAPEnvelope(); |
| SOAPHeader h1 = env.getHeader(); |
| assertTrue("null initial header", h1 != null); |
| h1.detachNode(); |
| assertTrue("header not freed", env.getHeader() == null); |
| SOAPHeader h2 = env.addHeader(); |
| assertTrue("null created header", h2 != null); |
| assertEquals("wrong header retrieved", h2, env.getHeader()); |
| assertEquals("header parent incorrect", env, h2.getParentElement()); |
| try { |
| env.addHeader(); |
| assertTrue("second header added", false); |
| } catch (SOAPException e) { |
| } |
| } |
| |
| public void testBody() throws Exception { |
| SOAPEnvelope env = new org.apache.axis.message.SOAPEnvelope(); |
| SOAPBody b1 = env.getBody(); |
| assertTrue("null initial body", b1 != null); |
| b1.detachNode(); |
| assertTrue("body not freed", env.getBody() == null); |
| SOAPBody b2 = env.addBody(); |
| assertTrue("null created body", b2 != null); |
| assertEquals("wrong body retrieved", b2, env.getBody()); |
| assertEquals("body parent incorrect", env, b2.getParentElement()); |
| try { |
| env.addBody(); |
| assertTrue("second body added", false); |
| } catch (SOAPException e) { |
| } |
| } |
| |
| // Test for bug #14570 |
| public void testNullpointer() throws Exception{ |
| org.apache.axis.message.SOAPEnvelope env=new org.apache.axis.message.SOAPEnvelope(); |
| SOAPBodyElement bdy=new SOAPBodyElement(); |
| bdy.setName("testResponse"); |
| env.addBodyElement(bdy); |
| Message msg=new Message(env); |
| SOAPBodyElement sbe = msg.getSOAPEnvelope().getBodyByName(null,"testResponse"); |
| assertTrue(sbe != null); |
| } |
| |
| // Test for bug 14574 |
| public void testNullpointerInHeader() throws Exception{ |
| org.apache.axis.message.SOAPEnvelope env=new org.apache.axis.message.SOAPEnvelope(); |
| SOAPHeaderElement hdr=new SOAPHeaderElement("", "testHeader"); |
| env.addHeader(hdr); |
| Message msg=new Message(env); |
| SOAPHeaderElement she = msg.getSOAPEnvelope().getHeaderByName(null,"testHeader"); |
| assertTrue(she != null); |
| } |
| |
| public static void main(String args[]) throws Exception { |
| TestSOAPEnvelope tester = new TestSOAPEnvelope("TestSOAPEnvelope"); |
| tester.testNullpointer(); |
| tester.testNullpointerInHeader(); |
| } |
| } |