Return-Path: Delivered-To: apmail-ws-axis-dev-archive@www.apache.org Received: (qmail 18332 invoked from network); 29 Aug 2005 17:24:40 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 29 Aug 2005 17:24:40 -0000 Received: (qmail 92836 invoked by uid 500); 29 Aug 2005 17:24:39 -0000 Delivered-To: apmail-ws-axis-dev-archive@ws.apache.org Received: (qmail 92577 invoked by uid 500); 29 Aug 2005 17:24:38 -0000 Mailing-List: contact axis-cvs-help@ws.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list axis-cvs@ws.apache.org Received: (qmail 92564 invoked by uid 99); 29 Aug 2005 17:24:38 -0000 X-ASF-Spam-Status: No, hits=-9.8 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [209.237.227.194] (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.29) with SMTP; Mon, 29 Aug 2005 10:24:37 -0700 Received: (qmail 99936 invoked by uid 65534); 29 Aug 2005 16:24:36 -0000 Message-ID: <20050829162436.99935.qmail@minotaur.apache.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r264164 - in /webservices/axis/trunk/java/modules/xml: src/org/apache/axis2/soap/impl/llom/builder/ test-resources/soap/ test/org/apache/axis2/om/infoset/ test/org/apache/axis2/soap/ Date: Mon, 29 Aug 2005 16:24:35 -0000 To: axis-cvs@ws.apache.org From: chinthaka@apache.org X-Mailer: svnmailer-1.0.5 X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: chinthaka Date: Mon Aug 29 09:24:05 2005 New Revision: 264164 URL: http://svn.apache.org/viewcvs?rev=264164&view=rev Log: - fixing a bug which causes a NPE when a wrong SOAP envelope is recd. - test case for that Added: webservices/axis/trunk/java/modules/xml/test-resources/soap/wrongEnvelopeNamespace.xml webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/WrongEnvelopeNamespaceTester.java Modified: webservices/axis/trunk/java/modules/xml/src/org/apache/axis2/soap/impl/llom/builder/StAXSOAPModelBuilder.java webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/om/infoset/XMLConformanceUnit.java Modified: webservices/axis/trunk/java/modules/xml/src/org/apache/axis2/soap/impl/llom/builder/StAXSOAPModelBuilder.java URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/xml/src/org/apache/axis2/soap/impl/llom/builder/StAXSOAPModelBuilder.java?rev=264164&r1=264163&r2=264164&view=diff ============================================================================== --- webservices/axis/trunk/java/modules/xml/src/org/apache/axis2/soap/impl/llom/builder/StAXSOAPModelBuilder.java (original) +++ webservices/axis/trunk/java/modules/xml/src/org/apache/axis2/soap/impl/llom/builder/StAXSOAPModelBuilder.java Mon Aug 29 09:24:05 2005 @@ -418,7 +418,10 @@ if (node.getNamespace() != null && !node.getNamespace().getName().equals(SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI) && !node.getNamespace().getName().equals(SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI)) { - throw new SOAPProcessingException("invalid SOAP namespace URI", getSenderFaultCode()); + throw new SOAPProcessingException("invalid SOAP namespace URI. " + + "Only " + SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI + + " and "+ SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI + + " are supported.", SOAP12Constants.FAULT_CODE_SENDER); } } Added: webservices/axis/trunk/java/modules/xml/test-resources/soap/wrongEnvelopeNamespace.xml URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/xml/test-resources/soap/wrongEnvelopeNamespace.xml?rev=264164&view=auto ============================================================================== --- webservices/axis/trunk/java/modules/xml/test-resources/soap/wrongEnvelopeNamespace.xml (added) +++ webservices/axis/trunk/java/modules/xml/test-resources/soap/wrongEnvelopeNamespace.xml Mon Aug 29 09:24:05 2005 @@ -0,0 +1,12 @@ + + + + + + IBM + + + + \ No newline at end of file Modified: webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/om/infoset/XMLConformanceUnit.java URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/om/infoset/XMLConformanceUnit.java?rev=264164&r1=264163&r2=264164&view=diff ============================================================================== --- webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/om/infoset/XMLConformanceUnit.java (original) +++ webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/om/infoset/XMLConformanceUnit.java Mon Aug 29 09:24:05 2005 @@ -16,8 +16,8 @@ package org.apache.axis2.om.infoset; import org.apache.axis2.om.OMAbstractFactory; -import org.apache.axis2.om.OMElement; import org.apache.axis2.om.OMDocument; +import org.apache.axis2.om.OMElement; import org.apache.axis2.om.impl.OMOutputImpl; import org.apache.axis2.om.impl.llom.builder.StAXOMBuilder; import org.apache.axis2.om.impl.llom.factory.OMXMLBuilderFactory; @@ -34,13 +34,7 @@ import javax.xml.stream.XMLInputFactory; import javax.xml.stream.XMLOutputFactory; import javax.xml.stream.XMLStreamWriter; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileReader; -import java.io.IOException; -import java.io.InputStreamReader; +import java.io.*; public class XMLConformanceUnit extends XMLTestCase implements EntityResolver { @@ -59,6 +53,7 @@ System.out.println("XML File:" + filePath); XMLInputFactory factory = XMLInputFactory.newInstance(); +// factory.setProperty("report-cdata-event", Boolean.TRUE); StAXOMBuilder staxOMBuilder = OMXMLBuilderFactory. createStAXOMBuilder(OMAbstractFactory.getOMFactory(), factory.createXMLStreamReader( Added: webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/WrongEnvelopeNamespaceTester.java URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/WrongEnvelopeNamespaceTester.java?rev=264164&view=auto ============================================================================== --- webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/WrongEnvelopeNamespaceTester.java (added) +++ webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/WrongEnvelopeNamespaceTester.java Mon Aug 29 09:24:05 2005 @@ -0,0 +1,53 @@ +package org.apache.axis2.soap; + +import junit.framework.TestCase; +import org.apache.axis2.om.impl.llom.builder.StAXBuilder; +import org.apache.axis2.soap.impl.llom.SOAPProcessingException; +import org.apache.axis2.soap.impl.llom.builder.StAXSOAPModelBuilder; + +import javax.xml.stream.XMLInputFactory; +import javax.xml.stream.XMLStreamReader; +import java.io.FileInputStream; +import java.io.FileNotFoundException; + +/* + * Copyright 2001-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. + * + * @author : Eran Chinthaka (chinthaka@apache.org) + */ + +public class WrongEnvelopeNamespaceTester extends TestCase { + public void testCode() { + try { + String filename = "test-resources/soap/wrongEnvelopeNamespace.xml"; + XMLStreamReader xmlr = XMLInputFactory.newInstance() + .createXMLStreamReader(new FileInputStream(filename)); + StAXBuilder builder = new StAXSOAPModelBuilder(xmlr, null); //exception here + fail("Builder must fail here due to wrong SOAP namespace"); + } catch (SOAPProcessingException e) { + assertTrue(true); + } catch (FileNotFoundException e) { + fail("Only SOAPProcessingException can be thrown here"); + }catch (Exception e) { + e.printStackTrace(); + fail("Only SOAPProcessingException can be thrown here"); + } + } + + public static void main(String[] args) { + WrongEnvelopeNamespaceTester tester = new WrongEnvelopeNamespaceTester(); + tester.testCode(); + } +}