You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by Tom Jordahl <to...@macromedia.com> on 2003/11/12 22:56:02 UTC
RE: cvs commit: ws-axis/java/test/providers build.xml WSDDDummyPr
ovider.java TestBasicProvider.java PackageTests.java DummyProvider.java
Thomas,
I don't think you need to have the whole mess of (what looks like)
boiler-plate text in your commit comments.
Everything after "Tests if BasicProvider if able to generate WSDL out of a
ServiceDesc" is not needed.
--
Tom Jordahl
Macromedia Server Development
-----Original Message-----
From: bayer@apache.org [mailto:bayer@apache.org]
Sent: Wednesday, November 12, 2003 2:30 PM
To: ws-axis-cvs@apache.org
Subject: cvs commit: ws-axis/java/test/providers build.xml
WSDDDummyProvider.java TestBasicProvider.java PackageTests.java
DummyProvider.java
bayer 2003/11/12 11:30:08
Added: java/test/providers build.xml WSDDDummyProvider.java
TestBasicProvider.java PackageTests.java
DummyProvider.java
Log:
Tests if BasicProvider if able to generate WSDL out of a ServiceDesc
PR:
Obtained from:
Submitted by:
Reviewed by:
CVS:
----------------------------------------------------------------------
CVS: PR:
CVS: If this change addresses a PR in the problem report tracking
CVS: database, then enter the PR number(s) here.
CVS: Obtained from:
CVS: If this change has been taken from another system, such as NCSA,
CVS: then name the system in this line, otherwise delete it.
CVS: Submitted by:
CVS: If this code has been contributed to Apache by someone else; i.e.,
CVS: they sent us a patch or a new module, then include their name/email
CVS: address here. If this is your work then delete this line.
CVS: Reviewed by:
CVS: If we are doing pre-commit code reviews and someone else has
CVS: reviewed your changes, include their name(s) here.
CVS: If you have not had it reviewed then delete this line.
Revision Changes Path
1.1 ws-axis/java/test/providers/build.xml
Index: build.xml
===================================================================
<?xml version="1.0" ?>
<!DOCTYPE project [
<!ENTITY properties SYSTEM "file:../../xmls/properties.xml">
<!ENTITY paths SYSTEM "file:../../xmls/path_refs.xml">
<!ENTITY taskdefs SYSTEM "file:../../xmls/taskdefs.xml">
<!ENTITY taskdefs_post_compile SYSTEM
"file:../../xmls/taskdefs_post_compile.xml">
<!ENTITY targets SYSTEM "file:../../xmls/targets.xml">
]>
<!-- ===================================================================
<description>
Test/Sample Component file for Axis
Notes:
This is a build file for use with the Jakarta Ant build tool.
Prerequisites:
jakarta-ant from http://jakarta.apache.org
Build Instructions:
To compile
ant compile
To execute
ant run
Author:
Matt Seibert mseibert@us.ibm.com
Copyright:
Copyright (c) 2002-2003 Apache Software Foundation.
</description>
==================================================================== -->
<project default="compile">
<property name="axis.home" location="../.." />
<property name="componentName" value="test/providers" />
&properties;
&paths;
&taskdefs;
&taskdefs_post_compile;
&targets;
<target name="clean">
<echo message="Removing ${build.dir}/classes/${componentName} and
${build.dir}/work/${componentName}" />
<delete dir="${build.dir}/classes/${componentName}"/>
<delete dir="${build.dir}/work/${componentName}"/>
</target>
<target name="compile">
<echo message="Compiling test.wsdd"/>
<javac srcdir="${axis.home}" destdir="${build.dest}" debug="${debug}"
fork="${javac.fork}">
<classpath>
<path refid="classpath"/>
</classpath>
<include name="test/providers/*.java"/>
</javac>
</target>
<target name="run" >
<antcall target="execute-Component" />
</target>
</project>
1.1 ws-axis/java/test/providers/WSDDDummyProvider.java
Index: WSDDDummyProvider.java
===================================================================
/*
* The Apache Software License, Version 1.1
*
* Copyright (c) 2002-2003 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Axis" and "Apache Software Foundation" must
* not be used to endorse or promote products derived from this
* software without prior written permission. For written
* permission, please contact apache@apache.org.
*
* 5. Products derived from this software may not be called "Apache",
* nor may "Apache" appear in their name, without prior written
* permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*/
package test.providers;
import org.apache.axis.*;
import org.apache.axis.deployment.wsdd.*;
import org.apache.axis.deployment.wsdd.WSDDProvider;
/**
* Factory for WSDDProvider
*/
public class WSDDDummyProvider extends WSDDProvider {
public static final String NAME = "DUMMY";
public Handler newProviderInstance(
WSDDService arg0,
EngineConfiguration arg1)
throws Exception {
return new DummyProvider();
}
public String getName() {
return NAME;
}
}
1.1 ws-axis/java/test/providers/TestBasicProvider.java
Index: TestBasicProvider.java
===================================================================
/*
* The Apache Software License, Version 1.1
*
* Copyright (c) 2002-2003 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Axis" and "Apache Software Foundation" must
* not be used to endorse or promote products derived from this
* software without prior written permission. For written
* permission, please contact apache@apache.org.
*
* 5. Products derived from this software may not be called "Apache",
* nor may "Apache" appear in their name, without prior written
* permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*/
package test.providers;
import javax.wsdl.*;
import javax.wsdl.Definition;
import javax.wsdl.Input;
import javax.wsdl.Operation;
import javax.wsdl.PortType;
import javax.wsdl.factory.WSDLFactory;
import javax.xml.namespace.QName;
import org.apache.axis.MessageContext;
import org.apache.axis.configuration.XMLStringProvider;
import org.apache.axis.deployment.wsdd.WSDDConstants;
import org.apache.axis.deployment.wsdd.WSDDProvider;
import org.apache.axis.handlers.soap.SOAPService;
import org.apache.axis.providers.BasicProvider;
import org.apache.axis.server.AxisServer;
import org.apache.axis.transport.local.LocalTransport;
import org.w3c.dom.Document;
import junit.framework.TestCase;
/**
* Test if BasicProvider can generate WSDL out of metainformation provided
in the
* WSDD descriptor.
*
* @author Thomas Bayer (bayer@oio.de)
*
*/
public class TestBasicProvider extends TestCase {
static final QName PROVIDERQNAME = new QName(
WSDDConstants.URI_WSDD_JAVA, WSDDDummyProvider.NAME);
static final String TNS = "http://axis.apache.org/test/provider/";
static final String SERVICE_NAME = "DummyProviderService";
static final String PORTTYPE = "DummyPort";
static final QName PORTTYPEQNAME = new QName( TNS, PORTTYPE);
private static AxisServer server;
static final String wsdd =
"<deployment xmlns=\"" + WSDDConstants.URI_WSDD + "\" "
+ "xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" "
+ "xmlns:java=\"" + WSDDConstants.URI_WSDD_JAVA + "\">\n"
+ " <service name=\"" + SERVICE_NAME + "\"
provider=\"java:DUMMY\">\n"
+ " <parameter name=\"className\" value=\"" +
TestBasicProvider.class.getName() + "\"/>"
+ " <parameter name=\"wsdlPortType\" value=\"" + PORTTYPE +
"\"/>"
+ " <parameter name=\"wsdlTargetNamespace\" value=\"" + TNS
+ "\"/>"
+ " <operation name=\"method1\">"
+ " <parameter name=\"param1\" type=\"xsd:string\"/>"
+ " </operation>"
+ " </service>\n"
+ "</deployment>";
public TestBasicProvider() {
super("test");
}
public TestBasicProvider(String s) {
super(s);
}
protected void setUp() throws Exception {
server = new AxisServer(new XMLStringProvider(wsdd));
LocalTransport transport;
transport = new LocalTransport(server);
transport.setRemoteService(SERVICE_NAME);
WSDDProvider.registerProvider( PROVIDERQNAME, new
WSDDDummyProvider());
}
public void testGenerateWSDL() throws Exception {
SOAPService soapService = server.getService(SERVICE_NAME);
BasicProvider provider = (BasicProvider)
soapService.getPivotHandler();
MessageContext mc = new MessageContext(server);
mc.setService(soapService);
mc.setProperty(MessageContext.TRANS_URL, "local");
provider.generateWSDL(mc);
Document wsdl = (Document) mc.getProperty("WSDL");
assertNotNull( "cannot create WSDL", wsdl);
Definition def =
WSDLFactory.newInstance().newWSDLReader().readWSDL( null, wsdl);
PortType portType = def.getPortType( PORTTYPEQNAME);
assertNotNull( "cannot find porttype " + PORTTYPEQNAME, portType);
Operation operation = portType.getOperation( "method1", null,
null);
assertNotNull( "cannot find operation ", operation);
Input input = operation.getInput();
javax.wsdl.Message message = def.getMessage( new QName( TNS,
input.getName()));
assertNotNull( "cannot find message " + input.getName(), message);
Part part = message.getPart("param1");
assertEquals( "wrong type for part",
part.getTypeName().getLocalPart(), "string");
}
public static void main(String args[]) throws Exception {
TestBasicProvider tester = new TestBasicProvider();
tester.setUp();
tester.testGenerateWSDL();
}
}
1.1 ws-axis/java/test/providers/PackageTests.java
Index: PackageTests.java
===================================================================
/*
* The Apache Software License, Version 1.1
*
* Copyright (c) 2002-2003 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Axis" and "Apache Software Foundation" must
* not be used to endorse or promote products derived from this
* software without prior written permission. For written
* permission, please contact apache@apache.org.
*
* 5. Products derived from this software may not be called "Apache",
* nor may "Apache" appear in their name, without prior written
* permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*/
package test.providers;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestResult;
import junit.framework.TestSuite;
/**
* Test package for providers
*/
public class PackageTests extends TestCase {
public PackageTests(String name) {
super(name);
}
public static Test suite() throws Exception {
TestSuite suite = new TestSuite();
suite.addTestSuite(TestBasicProvider.class);
return suite;
}
public static void main(String[] args) throws Exception {
PackageTests tester = new PackageTests("test");
TestResult testResult = new TestResult();
tester.suite().run(testResult);
}
}
1.1 ws-axis/java/test/providers/DummyProvider.java
Index: DummyProvider.java
===================================================================
/*
* The Apache Software License, Version 1.1
*
* Copyright (c) 2002-2003 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Axis" and "Apache Software Foundation" must
* not be used to endorse or promote products derived from this
* software without prior written permission. For written
* permission, please contact apache@apache.org.
*
* 5. Products derived from this software may not be called "Apache",
* nor may "Apache" appear in their name, without prior written
* permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*/
package test.providers;
import org.apache.axis.*;
import org.apache.axis.handlers.soap.SOAPService;
import org.apache.axis.message.SOAPEnvelope;
import org.apache.axis.providers.BasicProvider;
/**
* Provider for the testGenerateWSDL method in TestBasicProvider
*/
public class DummyProvider extends BasicProvider {
public void initServiceDesc(
SOAPService service,
MessageContext msgContext)
throws AxisFault {
}
public void invoke(MessageContext msgContext)
throws AxisFault {
Message requestMessage = msgContext.getRequestMessage();
SOAPEnvelope requestEnvelope =
requestMessage.getSOAPEnvelope();
Message responseMessage = new Message(requestEnvelope);
msgContext.setResponseMessage(responseMessage);
}
}