Author: mmerz Date: Mon Jan 10 15:21:09 2005 New Revision: 124843 URL: http://svn.apache.org/viewcvs?view=rev&rev=124843 Log: Sample code to go from wsdl to annotated java web service. NOTE: This is work in progress, it still has some issues to work out.
Contributor: Daryoush Mehrtash Added: incubator/beehive/trunk/samples/fromWSDL/ incubator/beehive/trunk/samples/fromWSDL/WEB-INF/ incubator/beehive/trunk/samples/fromWSDL/WEB-INF/build.xml incubator/beehive/trunk/samples/fromWSDL/WEB-INF/build.xml-old incubator/beehive/trunk/samples/fromWSDL/WEB-INF/client-build.xml incubator/beehive/trunk/samples/fromWSDL/WEB-INF/lib/ incubator/beehive/trunk/samples/fromWSDL/WEB-INF/lib/apache-xbean.jar (contents, props changed) incubator/beehive/trunk/samples/fromWSDL/WEB-INF/lib/axis-ant.jar (contents, props changed) incubator/beehive/trunk/samples/fromWSDL/WEB-INF/lib/axis.jar (contents, props changed) incubator/beehive/trunk/samples/fromWSDL/WEB-INF/lib/commons-discovery.jar (contents, props changed) incubator/beehive/trunk/samples/fromWSDL/WEB-INF/lib/commons-logging.jar (contents, props changed) incubator/beehive/trunk/samples/fromWSDL/WEB-INF/lib/controls.jar (contents, props changed) incubator/beehive/trunk/samples/fromWSDL/WEB-INF/lib/jaxrpc.jar (contents, props changed) incubator/beehive/trunk/samples/fromWSDL/WEB-INF/lib/jsr173_1.0_api.jar (contents, props changed) incubator/beehive/trunk/samples/fromWSDL/WEB-INF/lib/log4j-1.2.8.jar (contents, props changed) incubator/beehive/trunk/samples/fromWSDL/WEB-INF/lib/saaj.jar (contents, props changed) incubator/beehive/trunk/samples/fromWSDL/WEB-INF/lib/velocity-1.4.jar (contents, props changed) incubator/beehive/trunk/samples/fromWSDL/WEB-INF/lib/velocity-dep-1.4.jar (contents, props changed) incubator/beehive/trunk/samples/fromWSDL/WEB-INF/lib/wsdl4j.jar (contents, props changed) incubator/beehive/trunk/samples/fromWSDL/WEB-INF/lib/wsdltypes.jar (contents, props changed) incubator/beehive/trunk/samples/fromWSDL/WEB-INF/lib/wsm-axis.jar (contents, props changed) incubator/beehive/trunk/samples/fromWSDL/WEB-INF/lib/wsm.jar (contents, props changed) incubator/beehive/trunk/samples/fromWSDL/WEB-INF/server-config.wsdd incubator/beehive/trunk/samples/fromWSDL/WEB-INF/web.xml incubator/beehive/trunk/samples/fromWSDL/WEB-INF/wsdl/ incubator/beehive/trunk/samples/fromWSDL/WEB-INF/wsdl/EnhancedAddressBook.wsdl incubator/beehive/trunk/samples/fromWSDL/bin/ incubator/beehive/trunk/samples/fromWSDL/happyaxis.jsp incubator/beehive/trunk/samples/fromWSDL/index.html Added: incubator/beehive/trunk/samples/fromWSDL/WEB-INF/build.xml Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/samples/fromWSDL/WEB-INF/build.xml?view=auto&rev=124843 ============================================================================== --- (empty file) +++ incubator/beehive/trunk/samples/fromWSDL/WEB-INF/build.xml Mon Jan 10 15:21:09 2005 @@ -0,0 +1,201 @@ +<?xml version="1.0" ?> + +<!-- + Copyright 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. + + $Header:$ + --> + +<project name="AddressBookFromWSDL" default="build" basedir="."> + <taskdef name="apt" classname="org.apache.beehive.controls.runtime.generator.AptTask" classpath="lib/controls.jar" onerror="report" /> + + + <property environment="env" /> + + <property name="build.dir" location="build" /> + <property name="gen.dir" location="${build.dir}/gen" /> + <property name="aptgen.dir" location="${build.dir}/apt-gen" /> + <property name="classes.dir" location="${build.dir}/classes" /> + <property name="sourcegen.dir" value="${gen.dir}/src"/> + <property name="schema.dir" value="./wsdl"/> + + + <condition property="isJDK15"> + <equals arg1="${ant.java.version}" arg2="1.5" /> + </condition> + + <path id="jars"> + <fileset dir="./lib" > + <include name="**/*.jar" /> + </fileset> + </path> + + + <!-- ========================================= --> + <!-- build - build jar-file --> + <!-- ========================================= --> + + <target name="build" depends="source-gen, generate-xmlbean-datatypes, compile"> + <jar jarfile="./lib/AddressBookFromWSDL.jar"> + <fileset dir="${classes.dir}" /> + </jar> + </target> + + + <!-- ========================================= --> + <!-- Generate source from wsdl --> + <!-- ========================================= --> + <target name="source-gen" depends="update_jars, generate-xmlbean-datatypes" > + <taskdef name="wsdl2AJava" + classname="org.apache.beehive.wsm.axis.ant.WSDL2AJavaTask"> + <classpath> + <path refid="jars"/> + </classpath> + </taskdef> + + + <apt srcdir="${sourcegen.dir}" destdir="${classes.dir}" gendir="${aptgen.dir}" compileByExtension="true" + classpathref="jars" srcExtensions="*.java,*.jcx,*.jcs,*.jws" /> + + <wsdl2AJava outputdir="${sourcegen.dir}" wsdlfile="./wsdl/EnhancedAddressBook.wsdl" > + <classpath> + <path refid="jars"/> + <path location="${classes.dir}" /> + </classpath> + </wsdl2AJava> + + <apt srcdir="${sourcegen.dir}" destdir="${classes.dir}" gendir="${aptgen.dir}" compileByExtension="true" + srcExtensions="*.java,*.jcx,*.jcs,*.jws" > + <classpath> + <path refid="jars"/> + <path location="${classes.dir}" /> + </classpath> + </apt> + </target> + + <target name="generate-xmlbean-datatypes" > + + <taskdef name="xmlbeanbuild" + classname="org.apache.xmlbeans.impl.tool.XMLBean"> + + <classpath> + <path refid="jars"/> + </classpath> + </taskdef> + + <mkdir dir="${classes.dir}"/> + <mkdir dir="${sourcegen.dir}"/> + + <xmlbeanbuild + schema="${schema.dir}" + srcgendir="${sourcegen.dir}" + classgendir="${classes.dir}" + failonerror="true" > + <classpath> + <path refid="jars"/> + </classpath> + </xmlbeanbuild> + </target> + + + <target name="dummy" > + + <javac srcdir="${sourcegen.dir}" destdir="${classes.dir}" + > + <classpath> + <path refid="jars"/> + <path location="${classes.dir}" /> + </classpath> + </javac> + </target> + <!-- ========================================= --> + <!-- compile - compile sources --> + <!-- ========================================= --> + + + <target name="compile" depends="update_jars, dirs" if="isJDK15" > + + <apt srcdir="./src" destdir="${classes.dir}" gendir="${aptgen.dir}" compileByExtension="true" + classpathref="jars" srcExtensions="*.java,*.jcx,*.jcs,*.jws" > + + </apt> + + </target> + + <target name="update_jars" > + <property name="log4j.jar" location="${env.BEEHIVE_HOME}/external/log4j/log4j-1.2.8.jar" /> + <property name="junit.jar" location="${env.BEEHIVE_HOME}/external/junit/junit.jar" /> + <property name="velocity14.jar" location="${env.BEEHIVE_HOME}/external/velocity/velocity-1.4.jar" /> + <property name="velocitydep14.jar" location="${env.BEEHIVE_HOME}/external/velocity/velocity-dep-1.4.jar" /> + <property name="derby.jar" location="${env.BEEHIVE_HOME}/external/derby/derby_46005.jar" /> + <property name="xbean.jar" location="${env.BEEHIVE_HOME}/external/xmlbeans/apache-xbean.jar" /> + + <copy todir="lib" > + <fileset file="${log4j.jar}"/> + <fileset file="${xbean.jar}"/> + + <!-- these are required by Controls and WSM --> + <fileset file="${velocity14.jar}" /> + <fileset file="${velocitydep14.jar}"/> + <fileset dir="${env.BEEHIVE_HOME}/wsm/lib"> + <include name="wsdltypes.jar"/> + </fileset> + + <fileset dir="${env.BEEHIVE_HOME}/wsm/external"> + <include name="axis.jar"/> + <include name="axis-ant.jar"/> + <include name="jaxrpc.jar"/> + <include name="saaj.jar"/> + <include name="wsdl4j.jar"/> + <include name="commons-discovery.jar"/> + </fileset> + + <fileset dir="${env.BEEHIVE_HOME}/wsm/build/jars"> + <include name="wsm.jar"/> + <include name="wsm-axis.jar"/> + </fileset> + <fileset dir="${env.BEEHIVE_HOME}/controls/build/jars"> + <include name="controls.jar"/> + </fileset> + </copy> + </target> + + <!-- ========================================= --> + <!-- dirs - create dirs required for compile --> + <!-- ========================================= --> + + <target name="dirs"> + <mkdir dir="${classes.dir}" /> + <mkdir dir="${gen.dir}" /> + <mkdir dir="${aptgen.dir}" /> + <mkdir dir="./src" /> + + </target> + + + <!-- ========================================= --> + <!-- clean - remove build files --> + <!-- ========================================= --> + + <target name="clean" > + <delete file="velocity.log" /> + <delete file="./lib/AddressBookFromWSDL.jar" /> + <delete dir="${build.dir}" /> + <delete dir="${gen.dir}" /> + <delete dir="${aptgen.dir}" /> + <delete dir="./src" /> + </target> + +</project> \ No newline at end of file Added: incubator/beehive/trunk/samples/fromWSDL/WEB-INF/build.xml-old Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/samples/fromWSDL/WEB-INF/build.xml-old?view=auto&rev=124843 ============================================================================== --- (empty file) +++ incubator/beehive/trunk/samples/fromWSDL/WEB-INF/build.xml-old Mon Jan 10 15:21:09 2005 @@ -0,0 +1,145 @@ +<?xml version="1.0" ?> + +<!-- + Copyright 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. + + $Header:$ + --> + +<project name="AddressBookWS" default="build" basedir="."> + + <property environment="env" /> + + <property name="build.dir" location="build" /> + <property name="gen.dir" location="${build.dir}/gen" /> + <property name="classes.dir" location="${build.dir}/classes" /> + + <condition property="isJDK15"> + <equals arg1="${ant.java.version}" arg2="1.5" /> + </condition> + + <path id="jars"> + <fileset dir="./lib" > + <include name="**/*.jar" /> + </fileset> + </path> + + + <!-- ========================================= --> + <!-- build - build jar-file --> + <!-- ========================================= --> + + <target name="build" depends="compile"> + <jar jarfile="./lib/AddressBookWS.jar"> + <fileset dir="${classes.dir}" /> + </jar> + </target> + + + <!-- ========================================= --> + <!-- Generate source from wsdl --> + <!-- ========================================= --> + <target name="source-gen" depends="update_jars" > + <!-- AXIS Bean build --> + <taskdef name="wsdl2AJava" + classname="org.apache.beehive.wsm.axis.ant.WSDL2AJavaTask"> + <classpath> + <path refid="jars"/> + </classpath> + </taskdef> + + <mkdir dir="./src"/> + <wsdl2AJava + wsdldir="./wsdl" + outputdir="./src"/> + </target> + + <!-- ========================================= --> + <!-- compile - compile sources --> + <!-- ========================================= --> + + + <target name="compile" depends="update_jars, source-gen, dirs" if="isJDK15" > + <taskdef name="apt" classname="org.apache.beehive.controls.runtime.generator.AptTask" classpath="lib/controls.jar" onerror="report" /> + + <apt srcdir="./src" destdir="${classes.dir}" gendir="${gen.dir}" compileByExtension="true" + classpathref="jars" srcExtensions="*.java,*.jcx,*.jcs,*.jws" > + + </apt> + + </target> + + <target name="update_jars" > + <property name="log4j.jar" location="${env.BEEHIVE_HOME}/external/log4j/log4j-1.2.8.jar" /> + <property name="junit.jar" location="${env.BEEHIVE_HOME}/external/junit/junit.jar" /> + <property name="velocity14.jar" location="${env.BEEHIVE_HOME}/external/velocity/velocity-1.4.jar" /> + <property name="velocitydep14.jar" location="${env.BEEHIVE_HOME}/external/velocity/velocity-dep-1.4.jar" /> + <property name="derby.jar" location="${env.BEEHIVE_HOME}/external/derby/derby_46005.jar" /> + <property name="xbean.jar" location="${env.BEEHIVE_HOME}/external/xmlbeans/apache-xbean.jar" /> + + <copy todir="lib" > + <fileset file="${log4j.jar}"/> + <fileset file="${xbean.jar}"/> + + <!-- these are required by Controls and WSM --> + <fileset file="${velocity14.jar}" /> + <fileset file="${velocitydep14.jar}"/> + <fileset dir="${env.BEEHIVE_HOME}/wsm/lib"> + <include name="wsdltypes.jar"/> + </fileset> + + <fileset dir="${env.BEEHIVE_HOME}/wsm/external"> + <include name="axis.jar"/> + <include name="axis-ant.jar"/> + <include name="jaxrpc.jar"/> + <include name="saaj.jar"/> + <include name="wsdl4j.jar"/> + <include name="commons-discovery.jar"/> + </fileset> + + <fileset dir="${env.BEEHIVE_HOME}/wsm/build/jars"> + <include name="wsm.jar"/> + <include name="wsm-axis.jar"/> + </fileset> + <fileset dir="${env.BEEHIVE_HOME}/controls/build/jars"> + <include name="controls.jar"/> + </fileset> + </copy> + </target> + + <!-- ========================================= --> + <!-- dirs - create dirs required for compile --> + <!-- ========================================= --> + + <target name="dirs"> + <mkdir dir="${classes.dir}" /> + <mkdir dir="${gen.dir}" /> + <mkdir dir="./src" /> + </target> + + + <!-- ========================================= --> + <!-- clean - remove build files --> + <!-- ========================================= --> + + <target name="clean" > + <delete file="velocity.log" /> + <delete file="./lib/AddressBookWS.jar" /> + <delete dir="${build.dir}" /> + <delete dir="${gen.dir}" /> + <delete dir="./src" /> + </target> + +</project> \ No newline at end of file Added: incubator/beehive/trunk/samples/fromWSDL/WEB-INF/client-build.xml Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/samples/fromWSDL/WEB-INF/client-build.xml?view=auto&rev=124843 ============================================================================== --- (empty file) +++ incubator/beehive/trunk/samples/fromWSDL/WEB-INF/client-build.xml Mon Jan 10 15:21:09 2005 @@ -0,0 +1,67 @@ +<?xml version="1.0" ?> + +<project name="AddressBookClient" basedir="." default="all"> + + <property name="AddressBook.wsdl.url" + value="http://localhost:8080/AddressBookWS/web/Service.jws?wsdl" /> + + + <path id="jars"> + <fileset dir="lib"> + <include name="**/*.jar"/> + </fileset> + </path> + + <taskdef name="wsdl2java" classname="org.apache.axis.tools.ant.wsdl.Wsdl2javaAntTask" + loaderref="axis" > + <classpath refid="jars"/> + </taskdef> + + + <target name="clean"> + <delete dir="build" /> + </target> + + <target name="dirs"> + <mkdir dir="build" /> + <mkdir dir="build/generated" /> + <mkdir dir="build/classes" /> + + </target> + <target name="all" depends="genClient, compile, test"/> + + <target name="genClient" depends="dirs"> + <wsdl2java url="${AddressBook.wsdl.url}" + output="build/generated" + testcase="yes"> + </wsdl2java> + + </target> + + <target name="compile" depends="genClient"> + <javac srcdir="build/generated" + destdir="build/classes" + classpathref="jars" + failonerror="true" + source="1.4" + /> + </target> + + <target name="test" depends="compile"> + <junit printsummary="yes" haltonfailure="yes" showoutput="yes"> + <classpath> + <pathelement location= "build/classes"/> + <path refid="jars"/> + </classpath> + + + <batchtest fork="yes" todir="."> + <fileset dir="build/classes"> + <include name="**/*Test*.class"/> + </fileset> + </batchtest> + </junit> + + </target> + +</project> \ No newline at end of file Added: incubator/beehive/trunk/samples/fromWSDL/WEB-INF/lib/apache-xbean.jar Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/samples/fromWSDL/WEB-INF/lib/apache-xbean.jar?view=auto&rev=124843 ============================================================================== Binary file. No diff available. Added: incubator/beehive/trunk/samples/fromWSDL/WEB-INF/lib/axis-ant.jar Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/samples/fromWSDL/WEB-INF/lib/axis-ant.jar?view=auto&rev=124843 ============================================================================== Binary file. No diff available. Added: incubator/beehive/trunk/samples/fromWSDL/WEB-INF/lib/axis.jar Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/samples/fromWSDL/WEB-INF/lib/axis.jar?view=auto&rev=124843 ============================================================================== Binary file. No diff available. Added: incubator/beehive/trunk/samples/fromWSDL/WEB-INF/lib/commons-discovery.jar Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/samples/fromWSDL/WEB-INF/lib/commons-discovery.jar?view=auto&rev=124843 ============================================================================== Binary file. No diff available. Added: incubator/beehive/trunk/samples/fromWSDL/WEB-INF/lib/commons-logging.jar Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/samples/fromWSDL/WEB-INF/lib/commons-logging.jar?view=auto&rev=124843 ============================================================================== Binary file. No diff available. Added: incubator/beehive/trunk/samples/fromWSDL/WEB-INF/lib/controls.jar Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/samples/fromWSDL/WEB-INF/lib/controls.jar?view=auto&rev=124843 ============================================================================== Binary file. No diff available. Added: incubator/beehive/trunk/samples/fromWSDL/WEB-INF/lib/jaxrpc.jar Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/samples/fromWSDL/WEB-INF/lib/jaxrpc.jar?view=auto&rev=124843 ============================================================================== Binary file. No diff available. Added: incubator/beehive/trunk/samples/fromWSDL/WEB-INF/lib/jsr173_1.0_api.jar Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/samples/fromWSDL/WEB-INF/lib/jsr173_1.0_api.jar?view=auto&rev=124843 ============================================================================== Binary file. No diff available. Added: incubator/beehive/trunk/samples/fromWSDL/WEB-INF/lib/log4j-1.2.8.jar Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/samples/fromWSDL/WEB-INF/lib/log4j-1.2.8.jar?view=auto&rev=124843 ============================================================================== Binary file. No diff available. Added: incubator/beehive/trunk/samples/fromWSDL/WEB-INF/lib/saaj.jar Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/samples/fromWSDL/WEB-INF/lib/saaj.jar?view=auto&rev=124843 ============================================================================== Binary file. No diff available. Added: incubator/beehive/trunk/samples/fromWSDL/WEB-INF/lib/velocity-1.4.jar Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/samples/fromWSDL/WEB-INF/lib/velocity-1.4.jar?view=auto&rev=124843 ============================================================================== Binary file. No diff available. Added: incubator/beehive/trunk/samples/fromWSDL/WEB-INF/lib/velocity-dep-1.4.jar Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/samples/fromWSDL/WEB-INF/lib/velocity-dep-1.4.jar?view=auto&rev=124843 ============================================================================== Binary file. No diff available. Added: incubator/beehive/trunk/samples/fromWSDL/WEB-INF/lib/wsdl4j.jar Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/samples/fromWSDL/WEB-INF/lib/wsdl4j.jar?view=auto&rev=124843 ============================================================================== Binary file. No diff available. Added: incubator/beehive/trunk/samples/fromWSDL/WEB-INF/lib/wsdltypes.jar Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/samples/fromWSDL/WEB-INF/lib/wsdltypes.jar?view=auto&rev=124843 ============================================================================== Binary file. No diff available. Added: incubator/beehive/trunk/samples/fromWSDL/WEB-INF/lib/wsm-axis.jar Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/samples/fromWSDL/WEB-INF/lib/wsm-axis.jar?view=auto&rev=124843 ============================================================================== Binary file. No diff available. Added: incubator/beehive/trunk/samples/fromWSDL/WEB-INF/lib/wsm.jar Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/samples/fromWSDL/WEB-INF/lib/wsm.jar?view=auto&rev=124843 ============================================================================== Binary file. No diff available. Added: incubator/beehive/trunk/samples/fromWSDL/WEB-INF/server-config.wsdd Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/samples/fromWSDL/WEB-INF/server-config.wsdd?view=auto&rev=124843 ============================================================================== --- (empty file) +++ incubator/beehive/trunk/samples/fromWSDL/WEB-INF/server-config.wsdd Mon Jan 10 15:21:09 2005 @@ -0,0 +1,46 @@ +<?xml version="1.0" encoding="UTF-8"?> +<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> + <globalConfiguration> + <parameter name="adminPassword" value="admin"/> + <parameter name="disablePrettyXML" value="true"/> + <parameter name="attachments.implementation" value="org.apache.axis.attachments.AttachmentsImpl"/> + <parameter name="sendXsiTypes" value="true"/> + <parameter name="sendXMLDeclaration" value="true"/> + <requestFlow> + <handler type="java:org.apache.beehive.wsm.axis.AnnotatedWebServiceDeploymentHandler"> + <parameter name="scope" value="session"/> + </handler> + <handler type="java:org.apache.axis.handlers.JWSHandler"> + <parameter name="scope" value="session"/> + </handler> + </requestFlow> + </globalConfiguration> + <handler name="LocalResponder" type="java:org.apache.axis.transport.local.LocalResponder"/> + <handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper"/> + <handler name="Authenticate" type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/> + <service name="AdminService" provider="java:MSG"> + <parameter name="allowedMethods" value="AdminService"/> + <parameter name="enableRemoteAdmin" value="false"/> + <parameter name="className" value="org.apache.axis.utils.Admin"/> + <namespace>http://xml.apache.org/axis/wsdd/</namespace> + </service> + <service name="Version" provider="java:RPC"> + <parameter name="allowedMethods" value="getVersion"/> + <parameter name="className" value="org.apache.axis.Version"/> + </service> + <transport name="http"> + <requestFlow> + <handler type="URLMapper"/> + <handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/> + </requestFlow> + <parameter name="qs:list" value="org.apache.axis.transport.http.QSListHandler"/> + <parameter name="qs:wsdl" value="org.apache.axis.transport.http.QSWSDLHandler"/> + <parameter name="qs:method" value="org.apache.axis.transport.http.QSMethodHandler"/> + </transport> + <transport name="local"> + <responseFlow> + <handler type="LocalResponder"/> + </responseFlow> + </transport> +</deployment> + Added: incubator/beehive/trunk/samples/fromWSDL/WEB-INF/web.xml Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/samples/fromWSDL/WEB-INF/web.xml?view=auto&rev=124843 ============================================================================== --- (empty file) +++ incubator/beehive/trunk/samples/fromWSDL/WEB-INF/web.xml Mon Jan 10 15:21:09 2005 @@ -0,0 +1,107 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> + +<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web +Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> + +<web-app> + + <display-name>Apache-Axis</display-name> + + <filter> + <filter-name>ControlFilter</filter-name> + <filter-class>org.apache.beehive.controls.runtime.servlet.ControlFilter</filter-class> + </filter> + + <filter-mapping> + <filter-name>ControlFilter</filter-name> + <url-pattern>*.jws</url-pattern> + </filter-mapping> + + <listener> + <listener-class>org.apache.axis.transport.http.AxisHTTPSessionListener</listener-class> + </listener> + + <servlet> + <servlet-name>AxisServlet</servlet-name> + <display-name>Apache-Axis Servlet</display-name> + <servlet-class> + org.apache.axis.transport.http.AxisServlet + </servlet-class> + </servlet> + + <servlet> + <servlet-name>AdminServlet</servlet-name> + <display-name>Axis Admin Servlet</display-name> + <servlet-class> + org.apache.axis.transport.http.AdminServlet + </servlet-class> + <load-on-startup>100</load-on-startup> + </servlet> + + <servlet> + <servlet-name>SOAPMonitorService</servlet-name> + <display-name>SOAPMonitorService</display-name> + <servlet-class> + org.apache.axis.monitor.SOAPMonitorService + </servlet-class> + <init-param> + <param-name>SOAPMonitorPort</param-name> + <param-value>5001</param-value> + </init-param> + <load-on-startup>100</load-on-startup> + </servlet> + + <servlet-mapping> + <servlet-name>AxisServlet</servlet-name> + <url-pattern>/servlet/AxisServlet</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>AxisServlet</servlet-name> + <url-pattern>*.jws</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>AxisServlet</servlet-name> + <url-pattern>/services/*</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>SOAPMonitorService</servlet-name> + <url-pattern>/SOAPMonitor</url-pattern> + </servlet-mapping> + + <!-- uncomment this if you want the admin servlet --> + <!-- + <servlet-mapping> + <servlet-name>AdminServlet</servlet-name> + <url-pattern>/servlet/AdminServlet</url-pattern> + </servlet-mapping> + --> + + <session-config> + <!-- Default to 5 minute session timeouts --> + <session-timeout>5</session-timeout> + </session-config> + + <!-- currently the W3C havent settled on a media type for WSDL; + http://www.w3.org/TR/2003/WD-wsdl12-20030303/#ietf-draft + for now we go with the basic 'it's XML' response --> + <mime-mapping> + <extension>wsdl</extension> + <mime-type>text/xml</mime-type> + </mime-mapping> + + + <mime-mapping> + <extension>xsd</extension> + <mime-type>text/xml</mime-type> + </mime-mapping> + + <welcome-file-list id="WelcomeFileList"> + <welcome-file>index.html</welcome-file> + <welcome-file>index.jsp</welcome-file> + <welcome-file>index.jws</welcome-file> + </welcome-file-list> + +</web-app> Added: incubator/beehive/trunk/samples/fromWSDL/WEB-INF/wsdl/EnhancedAddressBook.wsdl Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/samples/fromWSDL/WEB-INF/wsdl/EnhancedAddressBook.wsdl?view=auto&rev=124843 ============================================================================== --- (empty file) +++ incubator/beehive/trunk/samples/fromWSDL/WEB-INF/wsdl/EnhancedAddressBook.wsdl Mon Jan 10 15:21:09 2005 @@ -0,0 +1,311 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions targetNamespace="http://beehive.apache.org/AddressBook2" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://beehive.apache.org/AddressBook2" xmlns:intf="http://beehive.apache.org/AddressBook2" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> +<!--WSDL created by Apache Axis version: 1.2RC2 +Built on Nov 16, 2004 (12:19:44 EST)--> + <wsdl:types> + <schema elementFormDefault="qualified" targetNamespace="http://beehive.apache.org/AddressBook2" xmlns="http://www.w3.org/2001/XMLSchema"> + <element name="addEntry"> + <complexType> + <sequence> + <element name="name" type="xsd:string"/> + <element name="address" type="impl:Address"/> + </sequence> + </complexType> + </element> + <complexType name="Phone"> + <sequence> + <element name="areaCode" type="xsd:int"/> + <element name="exchange" nillable="true" type="xsd:string"/> + <element name="number" nillable="true" type="xsd:string"/> + </sequence> + </complexType> + <complexType name="StateType"> + <sequence> + <element name="state" nillable="true" type="xsd:string"/> + </sequence> + </complexType> + <complexType name="Address"> + <sequence> + <element name="city" nillable="true" type="xsd:string"/> + <element name="phoneNumber" nillable="true" type="impl:Phone"/> + <element name="state" nillable="true" type="impl:StateType"/> + <element name="streetName" nillable="true" type="xsd:string"/> + <element name="streetNum" type="xsd:int"/> + <element name="zip" type="xsd:int"/> + </sequence> + </complexType> + <element name="addEntryResponse"> + <complexType/> + </element> + <element name="getAddressFromNames"> + <complexType> + <sequence> + <element maxOccurs="unbounded" name="name" type="xsd:string"/> + </sequence> + </complexType> + </element> + <element name="getAddressFromNamesResponse"> + <complexType> + <sequence> + <element maxOccurs="unbounded" name="result" type="impl:Address"/> + </sequence> + </complexType> + </element> + <element name="oneWayWithParam"> + <complexType> + <sequence> + <element name="firstParam" type="xsd:string"/> + </sequence> + </complexType> + </element> + <element name="oneWayWithNoParam"> + <complexType/> + </element> + <element name="simpleNoParamMethod"> + <complexType/> + </element> + <element name="simpleNoParamMethodResponse"> + <complexType> + <sequence> + <element name="result" type="xsd:string"/> + </sequence> + </complexType> + </element> + <element name="getAddressFromName"> + <complexType> + <sequence> + <element name="name" type="xsd:string"/> + </sequence> + </complexType> + </element> + <element name="getAddressFromNameResponse"> + <complexType> + <sequence> + <element name="result" type="impl:Address"/> + </sequence> + </complexType> + </element> + </schema> + </wsdl:types> + + <wsdl:message name="getAddressFromNameRequest"> + + <wsdl:part element="impl:getAddressFromName" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="oneWayWithNoParamRequest"> + + <wsdl:part element="impl:oneWayWithNoParam" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="addEntryRequest"> + + <wsdl:part element="impl:addEntry" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="oneWayWithParamRequest"> + + <wsdl:part element="impl:oneWayWithParam" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="getAddressFromNameResponse"> + + <wsdl:part element="impl:getAddressFromNameResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="simpleNoParamMethodRequest"> + + <wsdl:part element="impl:simpleNoParamMethod" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="simpleNoParamMethodResponse"> + + <wsdl:part element="impl:simpleNoParamMethodResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="getAddressFromNamesRequest"> + + <wsdl:part element="impl:getAddressFromNames" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="addEntryResponse"> + + <wsdl:part element="impl:addEntryResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:message name="getAddressFromNamesResponse"> + + <wsdl:part element="impl:getAddressFromNamesResponse" name="parameters"/> + + </wsdl:message> + + <wsdl:portType name="Service"> + + <wsdl:operation name="addEntry"> + + <wsdl:input message="impl:addEntryRequest" name="addEntryRequest"/> + + <wsdl:output message="impl:addEntryResponse" name="addEntryResponse"/> + + </wsdl:operation> + + <wsdl:operation name="getAddressFromNames"> + + <wsdl:input message="impl:getAddressFromNamesRequest" name="getAddressFromNamesRequest"/> + + <wsdl:output message="impl:getAddressFromNamesResponse" name="getAddressFromNamesResponse"/> + + </wsdl:operation> + + <wsdl:operation name="oneWayWithParam"> + + <wsdl:input message="impl:oneWayWithParamRequest" name="oneWayWithParamRequest"/> + + </wsdl:operation> + + <wsdl:operation name="oneWayWithNoParam"> + + <wsdl:input message="impl:oneWayWithNoParamRequest" name="oneWayWithNoParamRequest"/> + + </wsdl:operation> + + <wsdl:operation name="simpleNoParamMethod"> + + <wsdl:input message="impl:simpleNoParamMethodRequest" name="simpleNoParamMethodRequest"/> + + <wsdl:output message="impl:simpleNoParamMethodResponse" name="simpleNoParamMethodResponse"/> + + </wsdl:operation> + + <wsdl:operation name="getAddressFromName"> + + <wsdl:input message="impl:getAddressFromNameRequest" name="getAddressFromNameRequest"/> + + <wsdl:output message="impl:getAddressFromNameResponse" name="getAddressFromNameResponse"/> + + </wsdl:operation> + + </wsdl:portType> + + <wsdl:binding name="ServiceSoapBinding" type="impl:Service"> + + <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> + + <wsdl:operation name="addEntry"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="addEntryRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="addEntryResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="getAddressFromNames"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="getAddressFromNamesRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="getAddressFromNamesResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="oneWayWithParam"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="oneWayWithParamRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + </wsdl:operation> + + <wsdl:operation name="oneWayWithNoParam"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="oneWayWithNoParamRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + </wsdl:operation> + + <wsdl:operation name="simpleNoParamMethod"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="simpleNoParamMethodRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="simpleNoParamMethodResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="getAddressFromName"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="getAddressFromNameRequest"> + + <wsdlsoap:body use="literal"/> + + </wsdl:input> + + <wsdl:output name="getAddressFromNameResponse"> + + <wsdlsoap:body use="literal"/> + + </wsdl:output> + + </wsdl:operation> + + </wsdl:binding> + + <wsdl:service name="ServiceService"> + + <wsdl:port binding="impl:ServiceSoapBinding" name="Service"> + + <wsdlsoap:address location="http://localhost:8080/EnhancedAddressBook/web/Service.jws"/> + + </wsdl:port> + + </wsdl:service> + +</wsdl:definitions> Added: incubator/beehive/trunk/samples/fromWSDL/happyaxis.jsp Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/samples/fromWSDL/happyaxis.jsp?view=auto&rev=124843 ============================================================================== --- (empty file) +++ incubator/beehive/trunk/samples/fromWSDL/happyaxis.jsp Mon Jan 10 15:21:09 2005 @@ -0,0 +1,488 @@ +<html> +<%@ page import="java.io.InputStream, + java.io.IOException, + javax.xml.parsers.SAXParser, + javax.xml.parsers.SAXParserFactory" + session="false" %> + <% + /* + * 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. + */ +%> +<head> +<title>Axis Happiness Page</title> +</head> +<body bgcolor='#ffffff'> +<%! + + /* + * Happiness tests for axis. These look at the classpath and warn if things + * are missing. Normally addng this much code in a JSP page is mad + * but here we want to validate JSP compilation too, and have a drop-in + * page for easy re-use + * @author Steve 'configuration problems' Loughran + * @author dims + * @author Brian Ewins + */ + + + /** + * Get a string providing install information. + * TODO: make this platform aware and give specific hints + */ + public String getInstallHints(HttpServletRequest request) { + + String hint= + "<B><I>Note:</I></B> On Tomcat 4.x and Java1.4, you may need to put libraries that contain " + +"java.* or javax.* packages into CATALINA_HOME/common/lib" + +"<br>jaxrpc.jar and saaj.jar are two such libraries."; + return hint; + } + + /** + * test for a class existing + * @param classname + * @return class iff present + */ + Class classExists(String classname) { + try { + return Class.forName(classname); + } catch (ClassNotFoundException e) { + return null; + } + } + + /** + * test for resource on the classpath + * @param resource + * @return true iff present + */ + boolean resourceExists(String resource) { + boolean found; + InputStream instream=this.getClass().getResourceAsStream(resource); + found=instream!=null; + if(instream!=null) { + try { + instream.close(); + } catch (IOException e) { + } + } + return found; + } + + /** + * probe for a class, print an error message is missing + * @param out stream to print stuff + * @param category text like "warning" or "error" + * @param classname class to look for + * @param jarFile where this class comes from + * @param errorText extra error text + * @param homePage where to d/l the library + * @return the number of missing classes + * @throws IOException + */ + int probeClass(JspWriter out, + String category, + String classname, + String jarFile, + String description, + String errorText, + String homePage) throws IOException { + try { + Class clazz = classExists(classname); + if(clazz == null) { + String url=""; + if(homePage!=null) { + url="<br> See <a href="+homePage+">"+homePage+"</a>"; + } + out.write("<p>"+category+": could not find class "+classname + +" from file <b>"+jarFile + +"</b><br> "+errorText + +url + +"<p>"); + return 1; + } else { + String location = getLocation(out, clazz); + if(location == null) { + out.write("Found "+ description + " (" + classname + ")<br>"); + } + else { + out.write("Found "+ description + " (" + classname + ") at " + location + "<br>"); + } + return 0; + } + } catch(NoClassDefFoundError ncdfe) { + String url=""; + if(homePage!=null) { + url="<br> See <a href="+homePage+">"+homePage+"</a>"; + } + out.write("<p>"+category+": could not find a dependency" + +" of class "+classname + +" from file <b>"+jarFile + +"</b><br> "+errorText + +url + +"<br>The root cause was: "+ncdfe.getMessage() + +"<br>This can happen e.g. if "+classname+" is in" + +" the 'common' classpath, but a dependency like " + +" activation.jar is only in the webapp classpath." + +"<p>"); + return 1; + } + } + + /** + * get the location of a class + * @param out + * @param clazz + * @return the jar file or path where a class was found + */ + + String getLocation(JspWriter out, + Class clazz) { + try { + java.net.URL url = clazz.getProtectionDomain().getCodeSource().getLocation(); + String location = url.toString(); + if(location.startsWith("jar")) { + url = ((java.net.JarURLConnection)url.openConnection()).getJarFileURL(); + location = url.toString(); + } + + if(location.startsWith("file")) { + java.io.File file = new java.io.File(url.getFile()); + return file.getAbsolutePath(); + } else { + return url.toString(); + } + } catch (Throwable t){ + } + return "an unknown location"; + } + + /** + * a class we need if a class is missing + * @param out stream to print stuff + * @param classname class to look for + * @param jarFile where this class comes from + * @param errorText extra error text + * @param homePage where to d/l the library + * @throws IOException when needed + * @return the number of missing libraries (0 or 1) + */ + int needClass(JspWriter out, + String classname, + String jarFile, + String description, + String errorText, + String homePage) throws IOException { + return probeClass(out, + "<b>Error</b>", + classname, + jarFile, + description, + errorText, + homePage); + } + + /** + * print warning message if a class is missing + * @param out stream to print stuff + * @param classname class to look for + * @param jarFile where this class comes from + * @param errorText extra error text + * @param homePage where to d/l the library + * @throws IOException when needed + * @return the number of missing libraries (0 or 1) + */ + int wantClass(JspWriter out, + String classname, + String jarFile, + String description, + String errorText, + String homePage) throws IOException { + return probeClass(out, + "<b>Warning</b>", + classname, + jarFile, + description, + errorText, + homePage); + } + + /** + * probe for a resource existing, + * @param out + * @param resource + * @param errorText + * @throws Exception + */ + int wantResource(JspWriter out, + String resource, + String errorText) throws Exception { + if(!resourceExists(resource)) { + out.write("<p><b>Warning</b>: could not find resource "+resource + +"<br>" + +errorText); + return 0; + } else { + out.write("found "+resource+"<br>"); + return 1; + } + } + + + /** + * get servlet version string + * + */ + + public String getServletVersion() { + ServletContext context=getServletConfig().getServletContext(); + int major = context.getMajorVersion(); + int minor = context.getMinorVersion(); + return Integer.toString(major) + '.' + Integer.toString(minor); + } + + + + /** + * what parser are we using. + * @return the classname of the parser + */ + private String getParserName() { + SAXParser saxParser = getSAXParser(); + if (saxParser == null) { + return "Could not create an XML Parser"; + } + + // check to what is in the classname + String saxParserName = saxParser.getClass().getName(); + return saxParserName; + } + + /** + * Create a JAXP SAXParser + * @return parser or null for trouble + */ + private SAXParser getSAXParser() { + SAXParserFactory saxParserFactory = SAXParserFactory.newInstance(); + if (saxParserFactory == null) { + return null; + } + SAXParser saxParser = null; + try { + saxParser = saxParserFactory.newSAXParser(); + } catch (Exception e) { + } + return saxParser; + } + + /** + * get the location of the parser + * @return path or null for trouble in tracking it down + */ + + private String getParserLocation(JspWriter out) { + SAXParser saxParser = getSAXParser(); + if (saxParser == null) { + return null; + } + String location = getLocation(out,saxParser.getClass()); + return location; + } + %> +<html><head><title>Axis Happiness Page</title></head> +<body> +<h1>Axis Happiness Page</h1> +<h2>Examining webapp configuration</h2> + +<p> +<h3>Needed Components</h3> +<% + int needed=0,wanted=0; + + /** + * the essentials, without these Axis is not going to work + */ + needed=needClass(out, "javax.xml.soap.SOAPMessage", + "saaj.jar", + "SAAJ API", + "Axis will not work", + "http://xml.apache.org/axis/"); + + needed+=needClass(out, "javax.xml.rpc.Service", + "jaxrpc.jar", + "JAX-RPC API", + "Axis will not work", + "http://xml.apache.org/axis/"); + + needed+=needClass(out, "org.apache.axis.transport.http.AxisServlet", + "axis.jar", + "Apache-Axis", + "Axis will not work", + "http://xml.apache.org/axis/"); + + needed+=needClass(out, "org.apache.commons.discovery.Resource", + "commons-discovery.jar", + "Jakarta-Commons Discovery", + "Axis will not work", + "http://jakarta.apache.org/commons/discovery.html"); + + needed+=needClass(out, "org.apache.commons.logging.Log", + "commons-logging.jar", + "Jakarta-Commons Logging", + "Axis will not work", + "http://jakarta.apache.org/commons/logging.html"); + + needed+=needClass(out, "org.apache.log4j.Layout", + "log4j-1.2.8.jar", + "Log4j", + "Axis may not work", + "http://jakarta.apache.org/log4j"); + + //should we search for a javax.wsdl file here, to hint that it needs + //to go into an approved directory? because we dont seem to need to do that. + needed+=needClass(out, "com.ibm.wsdl.factory.WSDLFactoryImpl", + "wsdl4j.jar", + "IBM's WSDL4Java", + "Axis will not work", + null); + + needed+=needClass(out, "javax.xml.parsers.SAXParserFactory", + "xerces.jar", + "JAXP implementation", + "Axis will not work", + "http://xml.apache.org/xerces-j/"); + + needed+=needClass(out,"javax.activation.DataHandler", + "activation.jar", + "Activation API", + "Axis will not work", + "http://java.sun.com/products/javabeans/glasgow/jaf.html"); +%> +<h3>Optional Components</h3> +<% + /* + * now the stuff we can live without + */ + wanted+=wantClass(out,"javax.mail.internet.MimeMessage", + "mail.jar", + "Mail API", + "Attachments will not work", + "http://java.sun.com/products/javamail/"); + + wanted+=wantClass(out,"org.apache.xml.security.Init", + "xmlsec.jar", + "XML Security API", + "XML Security is not supported", + "http://xml.apache.org/security/"); + + wanted += wantClass(out, "javax.net.ssl.SSLSocketFactory", + "jsse.jar or java1.4+ runtime", + "Java Secure Socket Extension", + "https is not supported", + "http://java.sun.com/products/jsse/"); + /* + * resources on the classpath path + */ + /* broken; this is a file, not a resource + wantResource(out,"/server-config.wsdd", + "There is no server configuration file;" + +"run AdminClient to create one"); + */ + /* add more libraries here */ + + out.write("<h3>"); + //is everythng we need here + if(needed==0) { + //yes, be happy + out.write("<i>The core axis libraries are present. </i>"); + } else { + //no, be very unhappy + response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); + out.write("<i>" + +needed + +" core axis librar" + +(needed==1?"y is":"ies are") + +" missing</i>"); + } + //now look at wanted stuff + if(wanted>0) { + out.write("<i>" + +wanted + +" optional axis librar" + +(wanted==1?"y is":"ies are") + +" missing</i>"); + } else { + out.write("The optional components are present."); + } + out.write("</h3>"); + //hint if anything is missing + if(needed>0 || wanted>0 ) { + out.write(getInstallHints(request)); + } + + %> + <p> + <B><I>Note:</I></B> Even if everything this page probes for is present, there is no guarantee your + web service will work, because there are many configuration options that we do + not check for. These tests are <i>necessary</i> but not <i>sufficient</i> + <hr> + + <h2>Examining Application Server</h2> + <% + String servletVersion=getServletVersion(); + String xmlParser=getParserName(); + String xmlParserLocation = getParserLocation(out); + + %> + <table> + <tr><td>Servlet version</td><td><%= servletVersion %></td></tr> + <tr><td>XML Parser</td><td><%= xmlParser %></td></tr> + <tr><td>XML ParserLocation</td><td><%= xmlParserLocation %></td></tr> + </table> +<% if(xmlParser.indexOf("crimson")>=0) { %> + <p> + <b>We recommend <a href="http://xml.apache.org/xerces2-j/">Xerces 2</a> + over Crimson as the XML parser for Axis</b> + </p> +<% } %> + + <h2>Examining System Properties</h2> +<% + /** + * Dump the system properties + */ + java.util.Enumeration e=null; + try { + e= System.getProperties().propertyNames(); + } catch (SecurityException se) { + } + if(e!=null) { + out.write("<pre>"); + for (;e.hasMoreElements();) { + String key = (String) e.nextElement(); + out.write(key + "=" + System.getProperty(key)+"\n"); + } + out.write("</pre><p>"); + } else { + out.write("System properties are not accessible<p>"); + } +%> + <hr> + Platform: <%= getServletConfig().getServletContext().getServerInfo() %> +</body> +</html> + + Added: incubator/beehive/trunk/samples/fromWSDL/index.html Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/samples/fromWSDL/index.html?view=auto&rev=124843 ============================================================================== --- (empty file) +++ incubator/beehive/trunk/samples/fromWSDL/index.html Mon Jan 10 15:21:09 2005 @@ -0,0 +1,31 @@ +<html> + +<head> +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> +<title>Apache-Beehive</title> +</head> + +<body bgcolor="#FFFFFF"> +<h1 align="center">Beehive Web Services</h1> +<p><em>Welcome</em> to the AddressBook Web service!</p> +<p>What would you like to do today?</p> +<ul> + <li> + <a href="happyaxis.jsp">Validate</a> the local installation + <br> + <i>see below if this does not work.</i> + </li> + <li> + View AddressBook Web Service's + <a href="web/Service.jws?wsdl">WSDL</a> + </li> +</ul> + +<h3>Validating the local configuration</h3> + +If the validation page displays an exception instead of a +status page, the likely cause is that you have multiple XML parsers in +your classpath. Clean up your classpath by eliminating extraneous parsers. + +</body> +</html>
