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 James M Snell <ja...@us.ibm.com> on 2002/09/04 18:13:58 UTC

Re: Asynchronous Transport in Apache Axis, JMS and beyond

General FYI:

I am currently about a week away from providing a fix to the current Axis 
code that makes the asynchronous sending of messages by the Axis Call 
object J2EE legal and that allows us to do asynchronous request/response 
operations.  The approach I am taking provides this functionality by 
implementing a pluggable asynchronous processing model that operates 
behind the Axis Call object and minimally impacts the current programming 
model by adding only a couple of new methods to the current Call object 
interface.  An example of how this mechanism will work is provided below.

Currently in Axis, there is no way to do asynchronous request/response 
operations.  Also, the invokeOneWay currently implements asynchronous 
processing by creating a thread and invoking the Axis engine -- 
unfortunately this is not legal in J2EE since thread management done 
directly within J2EE containers is not allowed.  By implementing a 
pluggable mechanism, we can go back and plug in an asynchronous processing 
model that IS legal within J2EE -- including, but not limited to, using 
JMS.

1          try {
2              String endpoint =
3                       "some_service_endpoint";
4 
5              Service  service = new Service();
6              Call     call    = (Call) service.createCall();
7 
8              call.setProperty(AsyncCall.ASYNC_CALL_PROPERTY,
9                               new Boolean(true));
10 
11             call.setTargetEndpointAddress( new java.net.URL(endpoint) 
);
12             call.setOperationName(
13               new QName("namespace", "getQuote"));
14 
15             String ret = (String) call.invoke( new Object[] { "IBM" } 
);
16 
17             while (call.getAsyncStatus() != Call.ASYNC_READY) {}
18             System.out.println(call.getReturnValue());
19             System.out.println("done!");
20 
21         } catch (Exception e) {
22             System.err.println(e.toString());
23         }

The way this works is simple.  Lines 8-9 tell the Axis call object to use 
Async processing.  When the call.invoke is done on Line 15, Axis will 
dispatch the invocation to the pluggable async processing implementation 
currently configured (uses non-J2EE legal approach by default, the admin 
can configure a new impl either through a system property or using the 
engine config wsdd).

Line 17 illustrates how the user can check to see when a response has been 
received.  While the async operation is processing, call.getAsyncStatus() 
will return Call.ASYNC_RUNNING.  When the operation completes, the value 
will switch to Call.ASYNC_READY.  The client can then 
call.getReturnValue() to return the response value.

The invokeOneWay operation will be modified to use the pluggable async 
processing impl automatically (without the end user specifying 
ASYNC_CALL_PROPERTY == true).

The point here (and the key benefit) is that from the end users point of 
view, how the asyncronous processing is actually implemented is 
irrelevant.  The existing programming model is impacted in a very minimal 
way.  This could be provided for Axis 1.0 without making very significant 
changes to the current axis code base.

The implementation of this is about half way done (I'm currently working 
on a J2EE legal pluggable implementation). 

- James Snell
     IBM Emerging Technologies
     jasnell@us.ibm.com
     (559) 587-1233 (office)
     (700) 544-9035 (t/l)
     Programming Web Services With SOAP, O'Reilly & Associates, ISBN 
0596000952
==
Have I not commanded you? Be strong and courageous.  Do not be terrified,
do not be discouraged, for the Lord your God will be with you whereever 
you go.
- Joshua 1:9
Please respond to axis-dev@xml.apache.org 
To:     axis-dev@xml.apache.org
cc:      
Subject:        Asynchronous Transport in Apache Axis, JMS and beyond 



Sonic Software would like to become actively involved with providing
asynchronous transport support in Axis.  The first phase of this effort,
included in the attached patch file, is a JMS transport implementation.

While this patch submission is limited to synchronous request/reply over
a JMS transport, our longer term goal is to provide asynchrony in the
Axis engine on both the client and server side.  This effort includes
but is not limited to:

-       Providing API's in the Axis client and server in support of
asynchronous callbacks, asynchronous request/reply, notification, and
solicit-response.
-       Splitting apart the axis engine at the pivot point in order to be 
able
to support asynchronous callbacks, asynchronous request/reply,
notification, and solicit-response.
-       Adding correlation management in support of splitting apart the
requests and responses in the Axis engine.
-       Generalizing the asynchronous support beyond JMS such that it 
works
with any protocol such as HTTP and SMTP/POP/IMAP.

The attached .zip file contains the files that implement the JMS
transport.  We tried to make it as vendor-neutral as possible yet keep
it dynamic and flexible by making the vendor specific parts of JMS
(ConnectionFactories, Topics, and Queues) be accessible both via JNDI
and via a string-based lookup.

In addition to implementing the Transport, we have also included a layer
of helper classes that do things like connection and session pooling,
connection retry management, and a Endpoint abstraction that deals with
Topic and Queue destinations in JMS 1.0.2 using a single interface.
This layer is used by the transport.

The contents of jms.zip belong in org.apache.axis.transport.jms, the
contents of JMSSamples.zip under samples/jms, and the following files
replace the pre-existing ones-
axisNLS.properties -> org.apache.axis.utils
build.xml -> java
targets.xml -> java/xmls

At the moment JMSTest.java is intended to be run manually.  We would
like to add more tests to the automated test suite, but we need to think
about issues like starting and stopping a JMS provider process in a
generic fashion.  Your input would be greatly appreciated on this.

We would like to become committers to Axis, and get involved with Axis
for the long term.  We are working on fine-tuning a proposal that
outlines the details of what we would like to provide.  We will be
sharing that with you by the end of this month, and look forward to
hearing your feedback on it.

We are very enthusiastic about getting involved in the Axis project, and
look forward to working with you all.  We would also like to thank Glen
for helping us to understand what it takes to get involved.

FYI - I will be away from email for the next 1.5 days, but we will have
engineers monitoring this list during that time to answer any questions.

Regards,
Dave Chappell
Sonic Software
---
David Chappell <ch...@sonicsoftware.com> Office: (781)999-7099
Mobile: (617)510-6566
Vice President and Chief Technology Evangelist, Sonic Software
co-author,"Java Web Services", (O'Reilly 2002)
"The Java Message Service", (O'Reilly 2000)
"Professional ebXML Foundations", (Wrox 2001)

<?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 targets SYSTEM "file:xmls/targets.xml">
]>

<project default="compile" basedir=".">
<!-- =================================================================== 
-->
<description>
Build 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

Optional components:
SOAP Attachment support enablement:
activation.jar     from 
http://java.sun.com/products/javabeans/glasgow/jaf.html
mailapi.jar        from http://java.sun.com/products/javamail/
JimiProClasses.zip from http://java.sun.com/products/jimi/
Security support enablement:
xmlsec.jar from fresh build of CVS from http://xml.apache.org/security/
Other support jars from 
http://cvs.apache.org/viewcvs.cgi/xml-security/libs/

Build Instructions:
To build, run

ant "target"

on the directory where this file is located with the target you want.

Most useful targets:

- compile  : creates the "axis.jar" package in "./build/lib"
- javadocs : creates the javadocs in "./build/javadocs"
- dist     : creates the complete binary distribution
- srcdist  : creates the complete src distribution
- functional-tests : attempts to build Ant task and then run
client-server functional test
- war      : create the web application as a WAR file
- clean    : clean up files and directories


Custom post-compilation work:

If you desire to do some extra work as a part of the build after the
axis.jar is assembled, simply create an ant buildfile called
"post-compile.xml" in this directory.  The build will automatically
notice this and run it at the appropriate time.  This is handy for
updating the jar file in a running server, for instance.

Authors:
Sam Ruby  rubys@us.ibm.com
Matthew J. Duftler duftler@us.ibm.com
Glen Daniels gdaniels@macromedia.com

Copyright:
Copyright (c) 2001-2002 Apache Software Foundation.
</description>
<!-- ==================================================================== 
-->

<!-- Include the Generic XML files -->
&properties;
&paths;
&taskdefs;
&targets;

<!-- =================================================================== 
-->
<!-- Compiles the source directory -->
<!-- =================================================================== 
-->
<target name="compile" depends="printEnv">
<javac srcdir="${src.dir}" destdir="${build.dest}" debug="${debug}"
deprecation="${deprecation}"
classpathref="classpath">
<exclude name="**/old/**/*" />
<exclude name="**/bak/**"/>
<exclude name="**/org/apache/axis/components/net/JSSE*.java" 
unless="jsse.present"/>
<exclude name="**/org/apache/axis/components/net/Fake*.java" 
unless="jsse.present"/>
<exclude name="**/org/apache/axis/components/image/JimiIO.java" 
unless="jimi.present"/>
<exclude name="**/org/apache/axis/components/image/MerlinIO.java" 
unless="merlinio.present"/>
<exclude name="**/org/apache/axis/attachments/AttachmentsImpl.java" 
unless="attachments.present"/>
<exclude name="**/org/apache/axis/attachments/AttachmentPart.java" 
unless="attachments.present"/>
<exclude name="**/org/apache/axis/attachments/AttachmentUtils.java" 
unless="attachments.present"/>
<exclude name="**/org/apache/axis/attachments/MimeUtils.java" 
unless="attachments.present"/>
<exclude 
name="**/org/apache/axis/attachments/ManagedMemoryDataSource.java" 
unless="attachments.present"/>
<exclude 
name="**/org/apache/axis/attachments/MultiPartRelatedInputStream.java" 
unless="attachments.present"/>
<exclude 
name="**/org/apache/axis/attachments/BoundaryDelimitedStream.java" 
unless="attachments.present"/>
<exclude name="**/org/apache/axis/attachments/ImageDataSource.java" 
unless="jimiAndAttachments.present"/>
<exclude 
name="**/org/apache/axis/attachments/MimeMultipartDataSource.java" 
unless="attachments.present"/>
<exclude name="**/org/apache/axis/attachments/PlainTextDataSource.java" 
unless="attachments.present"/>
<exclude 
name="**/org/apache/axis/configuration/ServletEngineConfigurationFactory.java" 
unless="servlet.present"/>
<exclude 
name="**/org/apache/axis/encoding/ser/JAFDataHandlerSerializer.java" 
unless="attachments.present"/>
<exclude 
name="**/org/apache/axis/encoding/ser/JAFDataHandlerDeserializerFactory.java" 
unless="attachments.present"/>
<exclude 
name="**/org/apache/axis/encoding/ser/JAFDataHandlerSerializerFactory.java" 
unless="attachments.present"/>
<exclude 
name="**/org/apache/axis/encoding/ser/JAFDataHandlerDeserializer.java" 
unless="attachments.present"/>
<exclude name="**/org/apache/axis/handlers/MD5AttachHandler.java" 
unless="attachments.present"/>
<exclude name="**/org/apache/axis/transport/http/AdminServlet.java" 
unless="servlet.present"/>
<exclude name="**/org/apache/axis/transport/http/AxisHttpSession.java" 
unless="servlet.present"/>
<exclude name="**/org/apache/axis/transport/http/AxisServlet.java" 
unless="servlet.present"/>
<exclude name="**/org/apache/axis/transport/http/CommonsHTTPSender.java" 
unless="commons-httpclient.present"/>
<exclude name="**/org/apache/axis/transport/jms/*" unless="jms.present"/>
<exclude name="**/org/apache/axis/server/JNDIAxisServerFactory.java" 
unless="servlet.present"/>
<exclude name="**/org/apache/axis/security/servlet/*" 
unless="servlet.present"/>
<exclude name="**/javax/xml/soap/*.java" unless="attachments.present"/>
<exclude name="**/javax/xml/rpc/handler/soap/*.java" 
unless="attachments.present"/>
<exclude name="**/javax/xml/rpc/server/Servlet*.java" 
unless="servlet.present"/>
<exclude name="**/*TestSuite.java" unless="junit.present"/>
</javac>
<copy file="${src.dir}/org/apache/axis/server/server-config.wsdd"
toDir="${build.dest}/org/apache/axis/server"/>
<copy file="${src.dir}/org/apache/axis/client/client-config.wsdd"
toDir="${build.dest}/org/apache/axis/client"/>
<copy file="${src.dir}/log4j.properties"
toDir="${build.dest}"/>
<copy file="${src.dir}/simplelog.properties"
toDir="${build.dest}"/>
<copy file="${src.dir}/org/apache/axis/utils/axisNLS.properties"
toDir="${build.dest}/org/apache/axis/utils"/>

<tstamp>
<format property="build.time" pattern="MMM dd, yyyy (hh:mm:ss z)"/>
</tstamp>
<replace file="${build.dest}/org/apache/axis/utils/axisNLS.properties"
token="#today#" value="${build.time}"/>
<replace file="${build.dest}/org/apache/axis/utils/axisNLS.properties"
token="#axisVersion#" value="${axis.version}"/>

<jar jarfile="${build.lib}/${name}.jar" basedir="${build.dest}" >
<include name="org/**" />
<include name="log4j.properties"/>
<include name="simplelog.properties"/>
</jar>
<jar jarfile="${build.lib}/${jaxrpc}.jar" basedir="${build.dest}" >
<include name="javax/**"/>
<exclude name="javax/xml/soap/**"/>
</jar>
<jar jarfile="${build.lib}/${saaj}.jar" basedir="${build.dest}" >
<include name="javax/xml/soap/**"/>
</jar>
<copy file="${wsdl4j.jar}" toDir="${build.lib}"/>
<copy file="${commons-logging.jar}" toDir="${build.lib}"/>
<copy file="${commons-discovery.jar}" toDir="${build.lib}"/>
<copy file="${log4j-core.jar}" toDir="${build.lib}"/>

<!-- stub in my task generations -->
<ant antfile="buildPreTestTaskdefs.xml" />

<!--  Build the new org.apache.axis.tools.ant stuff -->
<ant antfile="tools/build.xml" />
<ant antfile="tools/build.xml" target="test"/>

<antcall target="post-compile"/>
</target>

<!-- =================================================================== 
-->
<!-- Custom post-compilation step -->
<!-- =================================================================== 
-->
<target name="post-compile" if="post-compile.present">
<ant antfile="post-compile.xml"/>
</target>

<!-- =================================================================== 
-->
<!-- Compiles the samples -->
<!-- =================================================================== 
-->
<target name="samples" depends="compile"
description="build the samples">

<!-- The interop echo sample depends on the wsdl2java task -->
<javac srcdir="." destdir="${build.dest}"
debug="${debug}">
<classpath>
<pathelement location="${build.lib}/${name}.jar"/>
<pathelement location="${build.lib}/${jaxrpc}.jar"/>
<pathelement location="${build.lib}/${saaj}.jar"/>
<path refid="classpath"/>
</classpath>
<include name="test/wsdl/*.java" />
</javac>

<taskdef name="wsdl2java"
classname="test.wsdl.Wsdl2javaAntTask">
<classpath refid="test-classpath" />
</taskdef>

<!-- Create java files for the echo sample -->
<wsdl2java url="samples/echo/InteropTest.wsdl"
output="build/work"
deployscope="session"
serverSide="no"
noimports="no"
verbose="no"
typeMappingVersion="1.1"
testcase="no">
<mapping namespace="http://soapinterop.org/" package="samples.echo"/>
<mapping namespace="http://soapinterop.org/xsd" package="samples.echo"/>
</wsdl2java>

<!-- Compile the echo sample generated java files -->
<javac srcdir="${build.dir}/work" destdir="${build.dest}" 
debug="${debug}">
<classpath refid="test-classpath" />
<include name="samples/echo/**.java" />
</javac>

<!-- AddressBook Sample -->
<wsdl2java url="samples/addr/AddressBook.wsdl"
output="build/work"
deployscope="session"
serverSide="yes"
skeletonDeploy="yes"
noimports="no"
verbose="no"
typeMappingVersion="1.1"
testcase="no">
<mapping namespace="urn:AddressFetcher2" package="samples.addr"/>
</wsdl2java>

<!-- jaxrpc Dynamic proxy with bean - Bug 10824 -->
<wsdl2java url="samples/jaxrpc/address/Address.wsdl"
output="build/work"
serverSide="yes"
testcase="no">
</wsdl2java>

<!-- Compile the echo sample generated java files -->
<javac srcdir="${build.dir}/work" destdir="${build.dest}" 
debug="${debug}">
<classpath refid="test-classpath" />
<include name="samples/addr/**.java" />
<include name="samples/jaxrpc/address/**.java" />
</javac>


<!-- Compile the sample code -->
<javac srcdir="." destdir="${build.dest}"
debug="${debug}">
<classpath>
<pathelement location="${build.lib}/${name}.jar"/>
<pathelement location="${build.lib}/${jaxrpc}.jar"/>
<pathelement location="${build.lib}/${saaj}.jar"/>
<path refid="classpath"/>
</classpath>
<include name="samples/**/*.java" />
<exclude name="samples/**/*SMTP*.java" unless="smtp.present" />
<exclude name="**/old/**/*.java" />
<exclude name="samples/userguide/example2/Calculator.java"/>
<exclude name="samples/addr/AddressBookTestCase.java" unless= 
"junit.present"/>
<exclude name="samples/userguide/example6/Main.java" />
<exclude name="samples/userguide/example6/*Impl.java" />
<exclude name="samples/userguide/example6/*TestCase.java" />
<exclude name="samples/attachments/**/*.java" unless="attachments.present" 
/>
<exclude name="samples/security/**/*.java" unless="security.present"/>
<exclude name="samples/jms/**/*.java" unless="jms.present"/>
</javac>
</target>

<!-- =================================================================== 
-->
<!-- Compiles the JUnit testcases -->
<!-- =================================================================== 
-->

<path id="test-classpath">
<pathelement location="${build.dest}" />
<path refid="classpath"/>
</path>

<target name="buildTest" if="junit.present" depends="compile,samples">
<echo message="junit package found ..."/>
<!-- Start by building the testcases -->
<javac srcdir="." destdir="${build.dest}"
debug="${debug}">
<classpath>
<pathelement location="${build.lib}/${name}.jar"/>
<pathelement location="${build.lib}/${jaxrpc}.jar"/>
<pathelement location="${build.lib}/${saaj}.jar"/>
<path refid="classpath"/>
</classpath>
<include name="test/**/*.java" />
<exclude name="test/lib/*.java"/>
<exclude name="test/inout/*.java" />
<exclude name="test/wsdl/*/*.java" />
<exclude name="test/wsdl/interop3/groupE/**/*.java" />
<exclude name="test/wsdl/interop3/**/*.java" />
<exclude name="test/wsdl/Wsdl2javaTestSuite.java" 
unless="servlet.present"/>
<exclude name="test/md5attach/*.java" unless="attachments.present"/>
<exclude name="test/functional/TestAttachmentsSample.java" 
unless="attachments.present"/>
<exclude name="test/wsdl/attachments/*.java" 
unless="jimiAndAttachments.present" />
<exclude name="test/httpunit/**/*.java"/>
</javac>
<copy file="test/wsdd/testStructure1.wsdd" 
toDir="${build.dest}/test/wsdd"/>
</target>


<!-- =================================================================== 
-->
<!-- Runs the JUnit package testcases -->
<!-- =================================================================== 
-->
<target name="junit" if="junit.present" depends="samples,buildTest">
<mkdir dir="${test.functional.reportdir}" />
<junit printsummary="yes" haltonfailure="yes" fork="yes">
<classpath refid="test-classpath" />
<formatter type="xml" />
<batchtest todir="${test.functional.reportdir}">
<fileset dir="${build.dir}/classes">
<!-- Convention: each package that's being tested
has its own test class collecting all the tests -->
<include name="**/PackageTests.class" />
<!-- <include name="**/test/*TestSuite.class"/> -->
</fileset>
</batchtest>
</junit>
</target>

<!-- =================================================================== 
-->
<!-- Functional tests, no dependencies (for no-build testing) -->
<!-- =================================================================== 
-->
<target name="functional-tests-only" depends="printEnv"
description="functional tests without a rebuild; the Axis Ant task must be 
in ANT_HOME/lib"
>

<!-- The Axis Ant task must be built (into ANT_HOME/lib)... -->
<ant antfile="test/build_functional_tests.xml" 
target="functional-tests-only"/>

<!--
...and then the functional tests can be run.  If this step yields a
"can't find class test.functional.ant.RunAxisFunctionalTestsTask",
verify that your Ant classpath contains ANT_HOME/lib.
-->

</target>

<target name="functional-tests-secure-only" depends="printEnv"
description="functional secure tests without a rebuild;"
>
<ant antfile="test/build_functional_tests.xml" 
target="functional-tests-secure-only"/>
</target>


<!-- =================================================================== 
-->
<!-- Functional tests, no server (for testing under debugger) -->
<!-- =================================================================== 
-->
<target name="functional-tests-noserver" depends="buildTest, samples"
description="functional tests, no server">
<ant antfile="test/build_functional_tests.xml" 
target="junit-functional-noserver">
<property name="test.functional.usefile" 
value="${test.functional.usefile}"/>
</ant>

</target>

<!-- =================================================================== 
-->
<!-- Functional tests, with server -->
<!-- =================================================================== 
-->
<target name="functional-tests" depends="buildTest, samples"
description="functional tests">
<ant antfile="test/build_functional_tests.xml">
<property name="test.functional.usefile" 
value="${test.functional.usefile}"/>
</ant>
</target>

<!-- Security only tests, with full dependencies -->
<target name="secure-tests" depends="junit, functional-tests-secure-only">
</target>

<!-- All tests -->
<target name="all-tests" depends="junit, functional-tests">
</target>

<!-- =================================================================== 
-->
<!-- Creates the API documentation -->
<!-- =================================================================== 
-->
<target name="javadocs" depends="printEnv" unless="javadoc.notrequired"
description="create javadocs">

<mkdir dir="${build.javadocs}"/>
<javadoc packagenames="${packages}"
sourcepath="${src.dir}"
classpathref="classpath"
destdir="${build.javadocs}"
author="true"
version="true"
use="true"
windowtitle="${Name} API"
doctitle="${Name}"
bottom="Copyright &#169; ${year} Apache XML Project. All Rights Reserved."
/>
</target>

<!-- =================================================================== 
-->
<!-- Build/Test EVERYTHING from scratch! -->
<!-- =================================================================== 
-->
<target name="all" depends="dist, functional-tests"
description="do everything: distribution build and functional tests"
/>

<!-- =================================================================== 
-->
<!-- Creates a war file for testing -->
<!-- =================================================================== 
-->
<target name="war" depends="compile, samples"
description="Create the web application" >
<mkdir dir="${build.webapp}"/>
<copy todir="${build.webapp}">
<fileset dir="${webapp}"/>
</copy>
<copy todir="${build.webapp}/WEB-INF/lib">
<fileset dir="${lib.dir}">
<include name="*.jar"/>
</fileset>
<fileset dir="${build.lib}">
<include name="*.jar"/>
</fileset>
</copy>
<copy todir="${build.webapp}/samples">
<fileset dir="./samples"/>
</copy>
<copy todir="${build.webapp}/WEB-INF/classes/samples">
<fileset dir="${build.samples}"/>
</copy>
<copy todir="${build.webapp}/WEB-INF">
<fileset dir="${samples.dir}/stock">
<include name="*.lst"/>
</fileset>
</copy>
<delete>
<fileset dir="${build.webapp}" includes="**/CVS"/>
</delete>
<jar jarfile="${build.dir}/${name}.war" basedir="${build.webapp}"/>
</target>

<!-- =================================================================== 
-->
<!-- Creates the binary distribution -->
<!-- =================================================================== 
-->
<target name="javadocsdist" depends="javadocs" 
unless="javadoc.notrequired">
<mkdir dir="${dist.dir}/docs"/>
<mkdir dir="${dist.dir}/docs/apiDocs"/>
<copy todir="${dist.dir}/docs/apiDocs">
<fileset dir="${build.javadocs}"/>
</copy>
</target>

<target name="dist" depends="compile, javadocsdist, samples, junit"
description="create the full binary distribution">
<mkdir dir="${dist.dir}"/>
<mkdir dir="${dist.dir}/lib"/>
<mkdir dir="${dist.dir}/samples"/>
<mkdir dir="${dist.dir}/webapps/axis"/>

<copy todir="${dist.dir}/lib">
<fileset dir="${build.lib}"/>
</copy>
<copy todir="${dist.dir}/samples">
<fileset dir="${build.samples}"/>
<fileset dir="./samples"/>
</copy>
<copy todir="${dist.dir}/docs">
<fileset dir="${docs.dir}"/>
</copy>
<copy todir="${dist.dir}/webapps/axis">
<fileset dir="${webapp}"/>
</copy>
<copy todir="${dist.dir}/webapps/axis/WEB-INF">
<fileset dir="${samples.dir}/stock">
<include name="*.lst"/>
</fileset>
</copy>
<copy todir="${dist.dir}/webapps/axis/WEB-INF/lib">
<fileset dir="${build.lib}">
<include name="*.jar"/>
</fileset>
</copy>
<copy todir="${dist.dir}/webapps/axis/WEB-INF/classes/samples">
<fileset dir="${build.samples}"/>
</copy>
<!--
<copy file="../LICENSE" tofile="${dist.dir}/LICENSE"/>
-->
<copy file="README" tofile="${dist.dir}/README"/>
<copy file="release-notes.html" tofile="${dist.dir}/release-notes.html"/>
</target>

<!-- =================================================================== 
-->
<!-- Creates the source distribution -->
<!-- =================================================================== 
-->
<target name="srcdist" depends="javadocs"
description="Create the source distribution">
<copy todir="${dist.dir}">
<fileset dir=".">
<include name="build.xml"/>
<include name="README"/>
<include name="docs/**"/>
<include name="lib/**"/>
<include name="samples/**"/>
<include name="src/**"/>
<include name="test/**"/>
<include name="webapps/**"/>

<exclude name="**/CVS/**"/>
</fileset>
</copy>
<copy todir="${dist.dir}/docs/apiDocs">
<fileset dir="${build.javadocs}"/>
</copy>
<copy file="../LICENSE" tofile="${dist.dir}/LICENSE"/>
</target>

<!-- =================================================================== 
-->
<!-- Interop 3 -->
<!-- =================================================================== 
-->
<target name="interop3" depends="buildTest"
description="run the round3 interop tests">
<ant dir="test/wsdl/interop3/import1"/>
<ant dir="test/wsdl/interop3/import2"/>
<ant dir="test/wsdl/interop3/import3"/>
<ant dir="test/wsdl/interop3/compound1"/>
<ant dir="test/wsdl/interop3/compound2"/>
<ant dir="test/wsdl/interop3/docLit"/>
<ant dir="test/wsdl/interop3/docLitParam"/>
<ant dir="test/wsdl/interop3/rpcEnc"/>
</target>

<!-- =================================================================== 
-->
<!-- Cleans everything -->
<!-- =================================================================== 
-->
<target name="clean"
description="clean up, build, dist and much of the axis servlet">
<delete dir="${build.dir}"/>
<delete dir="${dist.dir}"/>
<delete file="client-config.wsdd"/>
<delete file="server-config.wsdd"/>
<delete file="webapps/axis/WEB-INF/server-config.wsdd"/>
<delete>
<fileset dir="webapps/axis" includes="**/*.class" />
</delete>
<delete dir="test-reports"/>
<delete file="TEST-test.functional.FunctionalTests.txt"/>
</target>

<!-- =================================================================== 
-->
<!-- Check the style of the Axis source -->
<!-- =================================================================== 
-->
<target name="checkstyle"
description="Check the style of the Axis source" >
<ant dir="." target="checkstyle"
antfile="xmls/checkstyle.xml"
inheritall="true"
inheritrefs="true"
>
<property name="checkstyle.project"
value="axis" />
<property name="checkstyle.src.dir"
location="${axis.home}/src" />
</ant>
</target>
</project>

# Translation instructions.
# 1.  Each message line is of the form key=value.
#     Translate the value, DO NOT translate the key.
# 2.  The messages may contain arguments that will be filled in
#     by the runtime.  These are of the form: {0}, {1}, etc.
#     These must appear as is in the message, though the order
#     may be changed to support proper language syntax.
# 3.  If a single quote character is to appear in the resulting
#     message, it must appear in this file as two consecutive
#     single quote characters.
# 4.  Lines beginning with "#" (like this one) are comment lines
#     and may contain translation instructions.  They need not be
#     translated unless your translated file, rather than this file,
#     will serve as a base for other translators.

addAfterInvoke00={0}:  the chain has already been invoked
addBody00=Adding body element to message...
addHeader00=Adding header to message...
addTrailer00=Adding trailer to message...
adminServiceDeny=Denying service admin request from {0}
adminServiceLoad=Current load = {0}
adminServiceStart=Starting service in response to admin request from {0}
adminServiceStop=Stopping service in response to admin request from {0}
auth00=User ''{0}'' authenticated to server
auth01=User ''{0}'' authorized to ''{1}''

# NOTE:  in axisService00, do not translate "AXIS"
axisService00=Hi there, this is an AXIS service!

# NOTE:  in badArrayType00, do not translate "arrayTypeValue"
badArrayType00=Malformed arrayTypeValue ''{0}''

# NOTE:  in badAuth00, do not translate ""Basic""
badAuth00=Bad authentication type (I can only handle "Basic").

badBool00=Invalid boolean

# NOTE:  in badCall00, do not translate "Call"
badCall00=Cannot update the Call object
badCall01=Failure trying to get the Call object
badCall02=Invocation of Call.getOutputParams failed

badChars00=Unexpected characters
badChars01=Bad character or insufficient number of characters in hex 
string
badCompile00=Error while compiling:  {0}
badDate00=Invalid date
badDateTime00=Invalid date/time
badElem00=Invalid element in {0} - {1}
badHandlerClass00=Class ''{0}'' is not a Handler (can't be used in 
HandlerProvider)!
badHolder00=Holder of wrong type.
badInteger00=Explicit array length is not a valid integer ''{0}''.

# NOTE:  in badMsgCtx00, do not translate "--messageContext", "--skeleton"
badMsgCtx00=Error: --messageContext switch only valid with --skeleton

badNameAttr00=No ''name'' attribute was specified in an undeployment 
element
badNamespace00=Bad envelope namespace:  {0}
badNameType00=Invalid Name
badNCNameType00=Invalid NCName
badNmtoken00=Invalid Nmtoken
badOffset00=Malformed offset attribute ''{0}''.
badpackage00=Error: --NStoPKG and --package switch can't be used together
# NOTE:  in badParmMode00, do not translate "Parameter".
badParmMode00=Invalid Parameter mode {0}.
badPosition00=Malformed position attribute ''{0}''.
badProxy00=Proxy port number, "{0}", incorrectly formatted
badPort00=portName should not be null

# NOTE:  in badRequest00, do not translate "GET", "POST"
badRequest00=Cannot handle non-GET, non-POST request

# NOTE:  in badRootElem00, do not translate "clientdeploy", "deploy", 
"undeploy", "list", "passwd", "quit"
badRootElem00=Root element must be ''clientdeploy'', ''deploy'', 
''undeploy'', ''list'', ''passwd'', or ''quit''

badScope00=Unrecognized scope:  {0}.  Ignoring it.
badTag00=Bad envelope tag:  {0}
badTime00=Invalid time
badTimezone00=Invalid timezone
badTypeNamespace00=Found languageSpecificType namespace ''{0}'', expected 
''{1}''
badUnsignedByte00=Invalid unsigned byte
badUnsignedShort00=Invalid unsigned short
badUnsignedInt00=Invalid unsigned int
badUnsignedLong00=Invalid unsigned long
badWSDDElem00=Invalid WSDD Element
beanSerConfigFail00=Exception configuring bean serialization for {0}
bodyElementParent=Warning: SOAPBodyElement.setParentElement should take a 
SOAPBody parameter instead of a SOAPEnvelope (but need not be called after 
SOAPBody.addBodyElement)
bodyElems00=There are {0} body elements.
bodyIs00=body is {0}
bodyPresent=Body already present
buildChain00={0} building chain ''{1}''
cantAuth00=User ''{0}'' not authenticated (unknown user)
cantAuth01=User ''{0}'' not authenticated
cantAuth02=User ''{0}'' not authorized to ''{1}''

# NOTE:  in the cantConvertXX messages, do not translate "bytes", 
"String", "bean", "int"
cantConvert00=Cannot convert {0} to bytes
cantConvert01=Cannot convert form {0} to String
cantConvert02=Could not convert {0} to bean field ''{1}'', type {2}
cantConvert03=Could not convert value to int

cantDoNullArray00=Cannot serialize null arrays just yet...

# NOTE:  in cantDoURL00, do not translate "getURL", "URL"
cantDoURL00=getURL failed to correctly process URL; protocol not supported

cantHandle00={0} cannot handle structured data!

# NOTE:  in cantInvoke00, do not translate "Call" or "URI"
cantInvoke00=Cannot invoke Call with null namespace URI for method {0}

cantResolve00=Cannot resolve chain

# NOTE:  in cantSerialize00, do not translate "ArraySerializer"
cantSerialize00=Cannot serialize a {0} with the ArraySerializer!

# NOTE:  in cantSerialize01, do not translate "Elements" and 
"ElementSerializer"
cantSerialize01=Cannot serialize non-Elements with an ElementSerializer!

cantSerialize02=Cannot serialize a raw object
cantSetURI00=Cannot set location URI:  {0}
cantTunnel00=Unable to tunnel through {0}:{1}.  Proxy returns "{2}"
changePwd00=Changing admin password
childPresent=MessageElement.setObjectValue called when a child element is 
present
compiling00=Compiling:  {0}
ctor00=Constructor
convert00=Trying to convert {0} to {1}
copy00=copy {0} {1}
couldntCall00=Could not get a call
couldntConstructProvider00=Service couldn't construct provider!

# NOTE:  in createdHTTP entries, do not translate "HTTP"
createdHTTP00=Created an insecure HTTP connection
createdHTTP01=Created an insecure HTTP connection using proxy {0}, port 
{1}

# NOTE:  in createdSSL00, do not translate "SSL"
createdSSL00=Created an SSL connection

connectionClosed00=Connection closed.

debugLevel00=Setting debug level to:  {0}

# NOTE:  in defaultLogic00, do not translate "AxisServer"
defaultLogic00=Calling default logic in AxisServer

deployChain00=Deploying chain:  {0}
deployHandler00=Deploying handler:  {0}
deployService00=Deploying service ''{0}'' into {1}
deployService01=Deploying service:  {0}
deployTransport00=Deploying transport:  {0}

# NOTE:  in deserFact00, do not translate "DeserializerFactory"
deserFact00=DeserializerFactory class is {0}

disabled00=functionality disabled.
dispatching00=Dispatching to a body namespace ''{0}''
doList00=Doing a list
done00=Done processing
doQuit00=Doing a quit

dupConfigProvider00=Attempt to set configProvider for already-configured 
Service!
duplicateFile00=Duplicate file name: {0}.  \nHint: you may have mapped two 
namespaces with elements of the same name to the same package name.
duplicateClass00=Duplicate class name: {0}.  \nHint: you may have mapped 
two namespaces with elements of the same name to the same package name.

elapsed00=Elapsed: {0} milliseconds

# NOTE:  in emitFail00, do not translate "parameterOrder"
emitFail00=Emitter failure.  All input parts must be listed in the 
parameterOrder attribute of {0}

# NOTE:  in emitFail01, do not translate "portType", "binding"
emitFail01=Emitter failure.  Cannot find portType operation parameters for 
binding {0}

# NOTE:  in emitFail02 and emitFail03, do not translate "port", "service"
emitFail02=Emitter failure.  Cannot find endpoint address in port {0} in 
service {1}
emitFail03=Emitter failure.  Invalid endpoint address in port {0} in 
service {1}:  {2}

# NOTE do not translate "binding", "port", "service", or "portType"
emitFailNoBinding01=Emitter failure.  No binding found for port {0}
emitFailNoBindingEntry01=Emitter failure. No binding entry found for {0}
emitFailNoPortType01=Emitter failure.  No portType entry found for {0}
emitFailtUndefinedBinding01=Emitter failure.  There is an undefined 
binding ({0}) in the WSDL document.\nHint: make sure <port binding=\"..\"> 
is fully qualified.
emitFailtUndefinedBinding02=Emitter failure.  There is an undefined 
binding ({0}) in the WSDL document {1}.\nHint: make sure <port 
binding=\"..\"> is fully qualified.
emitFailtUndefinedMessage01=Emitter failure.  There is an undefined 
message ({0}) in the WSDL document.\nHint: make sure <input 
message=\"..\"> and <output message=".."> are fully qualified.
emitFailtUndefinedPort01=Emitter failure.  There is an undefined portType 
({0}) in the WSDL document.\nHint: make sure <binding type=\"..\"> is 
fully qualified.
emitFailtUndefinedPort02=Emitter failure.  There is an undefined portType 
({0}) in the WSDL document {1}.\nHint: make sure <binding type=\"..\"> is 
fully qualified.

emitter00=emitter
empty00=empty

# NOTE:  in enableTransport00, do not translate "SOAPService"
enableTransport00=SOAPService({0}) enabling transport {1}

end00=end
endDoc00=End document
endDoc01=Done with document
endElem00=End element {0}
endPrefix00=End prefix mapping ''{0}''
enter00=Enter:  {0}

#NOTE:  in error00, do not translate "AXIS"
error00=AXIS error

error01=Error:  {0}
errorInvoking00=Error invoking operation:  {0}
errorProcess00=Error processing ''{0}''
exit00=Exit:  {0}
exit01=Exit:  {0} no-argument constructor
exit02=Exit:  {0} - {1} is null
fault00=Fault occurred
fileExistError00=Error determining if {0} already exists.  Will not 
generate this file.
filename00=File name is:  {0}
filename01={0}:  request file name = ''{1}''
fromFile00=From file:  ''{0}'':''{1}''
from00=From {0}
genDeploy00=Generating deployment document
genDeployFail00=Failed to write deployment document
genFault00=Generating fault class
genHolder00=Generating type implementation holder

# NOTE:  in genIFace00, do not translate "portType"
genIface00=Generating portType interface
genIface01=Generating server-side portType interface

genImpl00=Generating server-side implementation template

# NOTE:  in genService00, do not translate "service"
genService00=Generating service class

genSkel00=Generating server-side skeleton
genStub00=Generating client-side stub
genTest00=Generating service test case
genType00=Generating type implementation
genHelper00=Generating helper implementation
genUndeploy00=Generating undeployment document
genUndeployFail00=Failed to write undeployment document
getProxy00=Use to get a proxy class for {0}
got00=Got {0}
gotForID00=Got {0} for ID {1} (class = {2})
gotPrincipal00=Got principal:  {0}
gotResponse00=Got response message
gotType00={0} got type {1}
gotValue00={0} got value {1}
handlerRegistryConfig=Service does not support configuration of a 
HandlerRegistry
headers00=headers
headerPresent=Header already present

# NOTE:  in httpPassword00, do not translate HTTP
httpPassword00=HTTP password:  {0}

# NOTE:  in httpPassword00, do not translate HTTP
httpUser00=HTTP user id:  {0}

inMsg00=In message: {0}
internalError00=Internal error
internalError01=Internal server error

invalidConfigFilePath=Configuration file directory ''{0}'' is not 
readable.

invalidWSDD00=Invalid WSDD element ''{0}'' (wanted ''{1}'')

# NOTE:  in invokeGet00, do no translate "GET"
invokeGet00=invoking via GET

invokeRequest00=Invoking request chain
invokeResponse00=Invoking response chain
invokeService00=Invoking service/pivot
isNull00=is {0} null?  {1}

lookup00=Looking up method {0} in class {1}
makeEnvFail00=Could not make envelope
match00={0} match:  host:  {1}, pattern:  {2}
mustBeIface00=Only interfaces may be used for the proxy class argument
mustExtendRemote00=Only interfaces which extend java.rmi.Remote may be 
used for the proxy class argument
namesDontMatch00=Method names do not match\nBody method name = 
{0}\nService method names = {1}
namesDontMatch01=Method names do not match\nBody name = {0}\nService name 
= {1}\nService nameList = {2}
needPwd00=Must specify a password!
needService00=No target service to authorize for!
needUser00=Need to specify a user for authorization!
never00={0}:  this should never happen!  {1}

# NOTE:  in newElem00, do not translate "MessageElement"
newElem00=New MessageElement ({0}) named {1}

no00=no {0}
noAdminAccess00=Remote administrator access is not allowed!
noArrayArray00=Arrays of arrays are not supported ''{0}''.

# NOTE:  in noArrayType00, do no translate "arrayType"
noArrayType00=No arrayType attribute for array!

# NOTE:  in noBeanHome00, do not translate "EJBProvider"
noBeanHome00=EJBProvider cannot get Bean Home

# NOTE:  in noBody00, do not translate "Body"
noBody00=Body not found.

noChains00=Services must use targeted chains
noClass00=Could not create class {0}

# NOTE:  in noClassname00, do not translate "classname"
noClassname00=No classname attribute in type mapping

noComponent00=No deserializer defined for array type {0}
noConfig00=No engine configuration file - aborting!

# NOTE:  in noContext00, do not translate 
"MessageElement.getValueAsType()"
noContext00=No deserialization context to use in 
MessageElement.getValueAsType()!

# NOTE:  in noContext01, do not translate "EJBProvider", "Context"
noContext01=EJBProvider cannot get Context

# NOTE:  in noCustomElems00, do not translate "<body>"
noCustomElems00=No custom elements allowed at top level until after the 
<body> tag
noData00=No data
noDeploy00=Could not generate deployment list!
noDeser00=No deserializer for {0}

# NOTE:  in noDeserFact00, do not translate "DeserializerFactory"
noDeserFact00=Could not load DeserializerFactory {0}

noDeser01=Deserializing parameter ''{0}'':  could not find deserializer 
for type {1}
noDoc00=Could not get DOM document: XML was "{0}"

# NOTE:  in noEngine00, do not translate "AXIS"
noEngine00=Could not find AXIS engine!

# NOTE:  in noEngineConfig00, do not translate "engineConfig"
noEngineConfig00=Wanted ''engineConfig'' element, got ''{0}''

# NOTE:  in engineConfigWrongClass??, do not translate 
"EngineConfiguration"
engineConfigWrongClass00=Expected instance of ''EngineConfiguration'' in 
environment
engineConfigWrongClass01=Expected instance of ''{0}'' to be of type 
''EngineConfiguration''

# NOTE:  in engineConfigNoClass00, do not translate "EngineConfiguration"
engineConfigNoClass00=''EngineConfiguration'' class not found: ''{0}''

engineConfigNoInstance00=''{0}'' class cannot be instantiated
engineConfigIllegalAccess00=Illegal access while instantiating class 
''{0}''

jndiNotFound00=JNDI InitialContext() returned null, default to non-JNDI 
behavior (DefaultAxisServerFactory)

# NOTE:  in servletContextWrongClass00, do not translate "ServletContext"
servletContextWrongClass00=Expected instance of ''ServletContext'' in 
environment

noEngineWSDD=Engine configuration is not present or not WSDD!

noHandler00=Cannot locate handler:  {0}

# NOTE:  in noHandler01, do not translate "QName"
noHandler01=No handler for QName {0}

noHandler02=Could not find registered handler ''{0}''

noHandlerClass00=No HandlerProvider ''handlerClass'' option was specified!

noHandlersInChain00=No handlers in {0} ''{1}''

noHeader00=no {0} header!

# NOTE:  in noInstructions00, do not translate "SOAP"
noInstructions00=Processing instructions are not allowed within SOAP 
messages

# NOTE:  in noJSSE00, do not translate "SSL", JSSE", "classpath"
noJSSE00=SSL feature disallowed:  JSSE files not installed or present in 
classpath

noMap00={0}:  {1} is not a map

noMatchingProvider00=No provider type matches QName ''{0}''

noMethod00=Method not found\nMethod name = {0}\nService name = {1}
noMethod01=No method!
noMultiArray00=Multidimensional arrays are not supported ''{0}''.
noOperation00=No operation name specified!
noOperation01=Cannot find operation:  {0} - none defined
noOperation02=Cannot find operation:  {0}
noOption00=No ''{0}'' option was configured for the service ''{1}''

# NOTE:  in noParent00, do not translate "SOAPTypeMappingRegistry"
noParent00=no SOAPTypeMappingRegistry parent

noPart00={0} not found as an input part OR an output part!
noPivot00=No pivot handler ''{0}'' found!
noPivot01=Can't deploy a Service with no provider (pivot)!

# NOTE:  in noPort00, do not translate "port"
noPort00=Cannot find port:  {0}

# NOTE:  in noPortType00, do not translate "portType"
noPortType00=Cannot find portType:  {0}

noPrefix00={0} did not find prefix:  {1}
noPrincipal00=No principal!
noProviderAttr00=No provider specified for service ''{0}''
noProviderElem00=The required provider element is missing
noRecorder00=No event recorder inside element

# NOTE:  in noRequest00, do not translate "MessageContext"
noRequest00=No request message in MessageContext?

noRequest01=No request chain
noResponse00=No response chain
noResponse01=No response message!
noRoles00=No roles specified for target service, allowing.
noRoles01=No roles specified for target service, disallowing.
noSerializer00=No serializer found for class {0} in registry {1}
noSerializer01=Could not load serializer class {0}
noService00=Cannot find service:  {0}
noService01=No service has been defined
noService02=This service is not available at this endpoint ({0}).
noService03=No service/pivot
noService04=No service object defined for this Call object.

#NOTE:  in noService04, do not translate "AXIS", "targetService"
noService05=The AXIS engine could not find a target service to invoke! 
targetService is {0}

noService06=No service is available at this URL

# NOTE:  in noSecurity00, do not translate "MessageContext"
noSecurity00=No security provider in MessageContext!

# NOTE:  in noSOAPAction00, do not translate "HTTP", "SOAPAction"
noSOAPAction00=No HTTP SOAPAction property in context

noTransport00=No client transport named ''{0}'' found!
noTransport01=No transport mapping for protocol:  {0}
noType00=No mapped schema type for {0}

# NOTE:  in noType01, do not translate "vector"
noType01=No type attribute for vector!

noTypeAttr00=Must include type attribute for Handler deployment!

noTypeQName00=No type QName for mapping!

notAuth00=User ''{0}'' not authorized to ''{1}''
notImplemented00={0} is not implemented!

noTypeOnGlobalConfig00=GlobalConfiguration does not allow the ''type'' 
attribute!

# NOTE:  in noUnderstand00, do not translate "MustUnderstand"
noUnderstand00=Did not understand "MustUnderstand" header(s)!

# NOTE:  in noValue00, do not translate "value", "RPCParam"
noValue00=No value field for RPCParam to use?!? {0}

# NOTE:  in noWSDL00, do not translate "WSDL"
noWSDL00=Could not generate WSDL!

null00={0} is null

# NOTE:  in nullCall00, do not translate "AdminClient" or "''call''"
nullCall00=AdminClient did not initialize correctly: ''call'' is null!

# NOTE:  in nullEJBUser00, do not translate "EJBProvider"
nullEJBUser00=Null user in EJBProvider

nullHandler00={0}:  Null handler;
nullNamespaceURI=Null namespace URI specified.
nullParent00=null parent!

nullProvider00=Null provider type passed to WSDDProvider!

nullResponse00=Null response message!
oddDigits00=Odd number of digits in hex string
ok00=OK

# NOTE:  in the only1Body00, do not translate "Body"
only1Body00=Only one Body element allowed!

# NOTE:  in the only1Header00, do not translate "Header"
only1Header00=Only one Header element allowed!

optionAll00=generate code for all elements, even unreferenced ones
optionHelp00=print this message and exit

# NOTE:  in optionImport00, do not translate "WSDL"
optionImport00=only generate code for the immediate WSDL document

# NOTE:  in optionMsgCtx00, do not translate "MessageContext"
optionMsgCtx00=emit a MessageContext parameter to skeleton methods

# NOTE:  in optionFileNStoPkg00, do not translate "NStoPkg.properties"
optionFileNStoPkg00=file of NStoPkg mappings (default NStoPkg.properties)

# NOTE:  in optionNStoPkg00, do not translate "namespace", "package"
optionNStoPkg00=mapping of namespace to package

optionOutput00=output directory for emitted files
optionPackage00=override all namespace to package mappings, use this 
package name instead
optionTimeout00=timeout in seconds (default is 45, specify -1 to disable)
options00=Options:

# NOTE:  in optionScope00, do not translate "Application", "Request", 
"Session"
optionScope00=add scope to deploy.wsdd: "Application", "Request", 
"Session"

optionSkel00=emit server-side bindings for web service

# NOTE:  in optionTest00, do not translate "junit"
optionTest00=emit junit testcase class for web service

optionVerbose00=print informational messages


outMsg00=Out message: {0}
params00=Parameters are:  {0}
parent00=parent

# NOTE: in parmMismatch00, do not translate "IN/INOUT", "addParameter()"
parmMismatch00=Number of parameters passed in ({0}) doesn''t match the 
number of IN/INOUT parameters ({1}) from the addParameter() calls

# NOTE:  in parsing00, do not translate "XML"
parsing00=Parsing XML file:  {0}

parseError00=Error in parsing:  {0}
password00=Password:  {0}
perhaps00=Perhaps there will be a form for invoking the service here...
popHandler00=Popping handler {0}
process00=Processing ''{0}''
processFile00=Processing file {0}

# NOTE:  in pushHandler00, we are pushing a handler onto a stack
pushHandler00=Pushing handler {0}
quit00={0} quitting.
quitRequest00=Administration service requested to quit, quitting.

# NOTE:  in reachedServer00, do not translate "SimpleAxisServer"
reachedServer00=You have reached the SimpleAxisServer.
unableToStartServer00=Unable to bind to port {0}. Did not start 
SimpleAxisServer.

# NOTE:  in reachedServlet00, do not translate "AXIS HTTP Servlet", "URL", 
"SOAP"
reachedServlet00=Hi, you have reached the AXIS HTTP Servlet.  Normally you 
would be hitting this URL with a SOAP client rather than a browser.

readOnlyConfigFile=Configuration file read-only so engine configuration 
changes will not be saved.

register00=register ''{0}'' - ''{1}''
registerTypeMap00=Registering type mapping {0} -> {1}
registryAdd00=Registry {0} adding ''{1}'' ({2})
result00=Got result:  {0}
removeBody00=Removing body element from message...
removeHeader00=Removing header from message...
removeTrailer00=Removing trailer from message...
return00={0} returning new instance of {1}
return01=return code:  {0}\n{1}
return02={0} returned:  {1}
returnChain00={0} returning chain ''{1}''
saveConfigFail00=Could not write engine config!

# NOTE:  in semanticCheck00, do not translate "SOAP"
semanticCheck00=Doing SOAP semantic checks...

# NOTE:  in sendingXML00, do not translate "XML"
sendingXML00={0} sending XML:

serializer00=Serializer class is {0}
serverDisabled00=This Axis server is not currently accepting requests.

# NOTE:  in serverFault00, do not translate "HTTP"
serverFault00=HTTP server fault

serverRun00=Server is running
serverStop00=Server is stopped

servletEngineWebInfError00=Problem with servlet engine /WEB-INF directory
servletEngineWebInfError01=Problem with servlet engine config file: {0}

setCurrMsg00=Setting current message form to: {0} (current message is now 
{1})
setProp00=Setting {0} property in {1}

# NOTE:  in setupTunnel00, do not translate "SSL"
setupTunnel00=Set up SSL tunnelling through {0}:{1}

setValueInTarget00=Set value {0} in target {1}
somethingWrong00=Sorry, something seems to have gone wrong... here are the 
details:
start00={0} starting up on port {1}.
startElem00=Start element {0}
startPrefix00=Start prefix mapping ''{0}'' -> ''{1}''
stackFrame00=Stack frame marker
test00=...
test01=.{0}.
test02={0}, {1}.
test03=.{2}, {0}, {1}.
test04=.{0} {1} {2} ... {3} {2} {4} {5}.
timeout00=Session id {0} timed out.
transport00=Transport is {0}
transport01={0}:  Transport = ''{1}''

# NOTE:  in transportName00, do not translate "AXIS"
transportName00=In case you are interested, my AXIS transport name appears 
to be ''{0}''

tryingLoad00=Trying to load class:  {0}

# NOTE:  in typeFromAttr00, do not translate "Type"
typeFromAttr00=Type from attributes is:  {0}

# NOTE:  in typeFromParms00, do not translate "Type"
typeFromParms00=Type from default parameters is:  {0}

# NOTE:  in typeNotSet00, do not translate "Part"
typeNotSet00=Type attribute on Part ''{0}'' is not set

types00=Types:

# NOTE:  in typeSetNotAllowed00, do not translate "Type"
typeSetNotAllowed00={0} disallows setting of Type
unauth00=Unauthorized
undeploy00=Undeploying {0}
unexpectedDesc00=Unexpected {0} descriptor
unexpectedEOS00=Unexpected end of stream
unexpectedUnknown00=Unexpected unknown element
unknownHost00=Unknown host - could not verify admininistrator access
unknownType00=Unknown type:  {0}
unknownType01=Unknown type to {0}

# NOTE: in unlikely00, do not translate "URL", "WSDL2Java"
unlikely00=unlikely as URL was validated in WSDL2Java

unregistered00=Unregistered type:  {0}
usage00=Usage:  {0}
user00=User:  {0}
usingServer00={0} using server {1}
value00=value:  {0}
warning00=Warning: {0}
where00=Where {0} looks like:

# NOTE:  in withParent00, do not translate "SOAPTypeMappingRegistry"
withParent00=SOAPTypeMappingRegistry with parent
wsdlError00=Error processing WSDL document: {0} {1}

# NOTE:  in wsdlGenLine00, do not translate "WSDL"
wsdlGenLine00=This file was auto-generated from WSDL

# NOTE:  in wsdlGenLine01, do not translate "Apache Axis WSDL2Java"
wsdlGenLine01=by the Apache Axis WSDL2Java emitter.

wsdlMissing00=Missing WSDL document

# NOTE:  in wsdlService00, do not translate "WSDL service"
wsdlService00=Services from {0} WSDL service

# NOTE:  in xml entries, do not translate "XML"
xmlRecd00=XML received:
xmlSent00=XML sent:

# NOTE:  in the deployXX entries, do not translate "<!--" and "-->". These 
are comment indicators.  Adding or removing whitespace to make the comment 
indicators line up would be nice.  Also, do not translate the string 
"axis", or messages:  deploy03, deploy04, deploy07 deploy08.  Those 
messages are included so that the spaces can be lined up by the 
translator.
deploy00=<!-- Use this file to deploy some handlers/chains and services  
-->
deploy01=<!-- Use this file to undeploy some handlers/chains and services  
 -->
deploy02=<!-- Two ways to do this:   -->
deploy03=<!--   java org.apache.axis.client.AdminClient deploy.wsdd   -->
deploy04=<!--   java org.apache.axis.client.AdminClient undeploy.wsdd  -->
deploy05=<!--      after the axis server is running   -->
deploy06=<!-- or   -->
deploy07=<!--   java org.apache.axis.utils.Admin client|server deploy.wsdd 
  -->
deploy08=<!--   java org.apache.axis.utils.Admin client|server 
undeploy.wsdd -->
deploy09=<!--      from the same directory that the Axis engine runs   -->

alreadyExists00={0} already exists
optionDebug00=print debug information
symbolTable00=Symbol Table
undefined00=Type {0} is referenced but not defined.

#NOTE: in cannotFindJNDIHome00, do not translate "EJB" or "JNDI"
cannotFindJNDIHome00=Cannot find EJB at JNDI location {0}
cannotCreateInitialContext00=Cannot create InitialContext
undefinedloop00= The definition of {0} results in a loop.
deserInitPutValueDebug00=Initial put of deserialized value= {0} for id= 
{1}
deserPutValueDebug00=Put of deserialized value= {0} for id= {1}
j2wemitter00=emitter
j2wusage00=Usage: {0}
j2woptions00=Options:
j2wdetails00=Details:\n   portType element name= <--portTypeName value> OR 
<class-of-portType name>\n   binding  element name= <--bindingName value> 
OR <--servicePortName value>SoapBinding\n   service  element name= 
<--serviceElementName value> OR <--portTypeName value>Service \n   port  
element name= <--servicePortName value>\n   address location     = 
<--location value>
j2wopthelp00=print this message and exit
j2woptoutput00=output WSDL filename
j2woptlocation00=service location url
j2woptportTypeName00=portType name (obtained from class-of-portType if not 
specified)
j2woptservicePortName00=service port name (obtained from --location if not 
specified)
j2woptserviceElementName00=service element name (defaults to 
--servicePortName value + "Service")
j2woptnamespace00=target namespace
j2woptPkgtoNS00=package=namespace, name value pairs
j2woptmethods00=space or comma separated list of methods to export
j2woptall00=look for allowed methods in inherited class
j2woptoutputWsdlMode00=output WSDL mode: All, Interface, Implementation
j2woptlocationImport00=location of interface wsdl
j2woptnamespaceImpl00=target namespace for implementation wsdl
j2woptoutputImpl00=output Implementation WSDL filename, setting this 
causes --outputWsdlMode to be ignored
j2woptfactory00=name of the Java2WSDLFactory class for extending WSDL 
generation functions
j2woptimplClass00=optional class that contains implementation of methods 
in class-of-portType.  The debug information in the class is used to 
obtain the method parameter names, which are used to set the WSDL part 
names.
j2werror00=Error: {0}
j2wmodeerror=Error Unrecognized Mode: {0} Use All, Interface or 
Implementation. Continuing with All.
j2woptexclude00=space or comma separated list of methods not to export
j2woptstopClass00=space or comma separated list of class names which will 
stop inheritance search if --all switch is given

# NOTE:  in optionSkeletonDeploy00, do not translate "--server-side".
optionSkeletonDeploy00=deploy skeleton (true) or implementation (false) in 
deploy.wsdd.  Default is false.  Assumes --server-side.

j2wMissingLocation00=The -l <location> option must be specified if the 
full wsdl or the implementation wsdl is requested.
invalidSolResp00={0} is a solicit-response style operation and is 
unsupported.
invalidNotif00={0} is a notification style operation and is unsupported.

multipleBindings00=Warning: Multiple bindings use the same portType: {0}. 
Only one interface is currently generated, which may not be what you want.
triedArgs00={0} on object "{1}", method name "{2}", tried argument types: 
{3}
triedClass00=tried class:  {0}, method name:  {1}.

#############################################################################
# DO NOT TOUCH THESE PROPERTIES - THEY ARE AUTOMATICALLY UPDATED BY THE 
BUILD
# PROCESS.
axisVersion=Apache Axis version: #axisVersion#
builtOn=Built on #today#
#############################################################################

badProp00=Bad property.  The value for {0} should be of type {1}, but it 
is of type {2}.
badProp01=Bad property.  {0} should be {1}; but it is {2}.
badProp02=Cannot set {0} property when {1} property is not {2}.
badProp03=Null property name specified.
badProp04=Null property value specified.
badProp05=Property name {0} not supported.
badGetter00=Null getter method specified.
badAccessor00=Null accessor method specified.
badSetter00=Null setter method specified.
badModifier00=Null modifier method specified.
badField00=Null public instance field specified.

badJavaType=Null java class specified.
badXmlType=Null qualified name specified.
badSerFac=Null serializer factory specified.
badDeserFac=Null deserializer factory specified.

literalTypePart00=Error: Message part {0} of operation or fault {1} is 
specified as a type and the soap:body use of binding "{2}" is literal. 
This WSDL is not currently supported.
BadServiceName00=Error: Empty or missing service name
AttrNotSimpleType00=Bean attribute {0} is of type {1}, which is not a 
simple type
AttrNotSimpleType01=Error: attribute is of type {0}, which is not a simple 
type
NoSerializer00=Unable to find serializer for type {0}

NoJAXRPCHandler00=Unable to create handler of type {0}

optionTypeMapping00=indicate 1.1 or 1.2.  The default is 1.1 (SOAP 1.1 
JAX-RPC compliant.  1.2 indicates SOAP 1.1 encoded.)
badTypeMappingOption00=The -typeMappingVersion argument must be 1.1 or 1.2
j2wopttypeMapping00=indicate 1.1 or 1.2.  The default is 1.1 (SOAP 1.1 
JAX-RPC compliant  1.2 indicates SOAP 1.1 encoded.)
j2wBadTypeMapping00=The -typeMappingVersion argument must be 1.1 or 1.2

nodisk00=No disk access, using memory only.

noFactory00=!! No Factory for {0}
noTransport02=Couldn't find transport {0}

noCompiler00=No compiler found in your classpath!  (you may need to add 
'tools.jar')
compilerFail00=Please ensure that you have your JDK's rt.jar listed in 
your classpath. Jikes needs it to operate.

nullFieldDesc=Null FieldDesc specified
exception00=Exception:
exception01=Exception: {0}
axisConfigurationException00=ConfigurationException:
parserConfigurationException00=ParserConfigurationException:
SAXException00=SAXException:
javaNetUnknownHostException00=java.net.UnknownHostException:
javaxMailMessagingException00=javax.mail.MessagingException:
javaIOException00=java.io.IOException:
javaIOException01=java.io.IOException: {0}
illegalAccessException00=IllegalAccessException:
illegalArgumentException00=IllegalArgumentException:
illegalArgumentException01=IllegalArgumentException: {0}
invocationTargetException00=InvocationTargetException:
instantiationException00=InstantiationException:
malformedURLException00=MalformedURLException:
axisFault00=AxisFault:
axisFault01=AxisFault: {0}
toAxisFault00=Mapping Exception to AxisFault
toAxisFault01=Mapping Exception to AxisFault: {0}

# NOTE:  in badSkeleton00, do not translate "--skeletonDeploy" and 
"--server-side".
badSkeleton00=Error:  --skeletonDeploy cannot be specified without 
--server-side.
badStyle=Bad string for style value - was ''{0}'', should be ''rpc'', 
''document'', or ''wrapped''.
onlyOneMapping=Only a single <elementMapping> is allowed per-operation at 
present.

timedOut=WSDL2Java emitter timed out (this often means the WSDL at the 
specified URL is inaccessible)!
valuePresent=MessageElement.addChild called when an object value is 
present
xmlPresent=MessageElement.setObjectValue called on an instance which was 
constructed using XML
attachEnabled=Attachment support is enabled?
noEndpoint=No endpoint
headerNotNull=Header may not be null!
headerNotEmpty=Header may not be empty!
headerValueNotNull=Header value may not be null!
setMsgForm=Setting current message form to: {0} (currentMessage is now 
{1})
exitCurrMsg=Exit:  {0}, current message is {1}
currForm=current form is {0}
unsupportedAttach=Unsupported attachment type "{0}" only supporting "{1}".

# NOTE:  in onlySOAPParts, do not translate "SOAPPart".
onlySOAPParts=This attachment implementation accepts only SOAPPart objects 
as the root part.

gotNullPart=AttachmentUtils.getActiviationDataHandler received a null 
parameter as a part.
streamNo=New boundary stream number:  {0}
streamClosed=Stream closed.
eosBeforeMarker=End of stream encountered before final boundary marker.
atEOS=Boundary stream number {0} is at end of stream
readBStream="Read {0} from BoundaryDelimitedStream:  {1} "{2}"
bStreamClosed=Boundary stream number {0} is closed

# NOTE:  in badMaxCache, do not translate "maxCached".
badMaxCached=maxCached value is bad:  {0}

maxCached=ManagedMemoryDataSource.flushToDisk maximum cached {0}, total 
memory {1}.
diskCache=Disk cache file name "{0}".
resourceDeleted=Resource has been deleted.
noResetMark=Reset and mark not supported!
nullInput=input buffer is null
negOffset=Offset is negative:  {0}
length=Length:  {0}
writeBeyond=Write beyond buffer
reading=reading {0} bytes from disk

# NOTE: do not translate openBread
openBread=open bread = {0}

flushing=flushing
read=read {0} bytes
readError=Error reading data stream:  {0}
noFile=File for data handler does not exist:  {0}
mimeErrorNoBoundary=Error in MIME data stream, start boundary not found, 
expected:  {0}
mimeErrorParsing=Error in parsing mime data stream:  {0}
noRoot=Root part containing SOAP envelope not found.  contentId = {0}
noAttachments=No support for attachments
noContent=No content
targetService=Target service:  {0}
exceptionPrinting=Exception caught while printing request message
noConfigFile=No engine configuration file - aborting!
noTypeSetting={0} disallows setting of Type
noSubElements=The element "{0}" is an attachment with sub elements which 
is not supported.

# NOTE:  in defaultCompiler, do not translate "javac"
defaultCompiler=Using default javac compiler
noModernCompiler=Javac connector could not find modern compiler -- falling 
back to classic.
compilerClass=Javac compiler class:  {0}
noMoreTokens=no more tokens - could not parse error message:  {0}
cantParse=could not parse error message:  {0}

noParmAndRetReq=Parameter or return type inferred from WSDL and may not be 
updated.

# NOTE:  in sunJavac, do not translate "Sun Javac"
sunJavac=Sun Javac Compiler

# NOTE:  in ibmJikes, do not translate "IBM Jikes"
ibmJikes=IBM Jikes Compiler

typeMeta=Type metadata
returnTypeMeta=Return type metadata object
needStringCtor=Simple Types must have a String constructor
needToString=Simple Types must have a toString for serializing the value
typeMap00=All the type mapping information is registered
typeMap01=when the first call is made.
typeMap02=The type mapping information is actually registered in
typeMap03=the TypeMappingRegistry of the service, which
typeMap04=is the reason why registration is only needed for the first 
call.
mustSetStyle=must set encoding style before registering serializers

# NOTE:  in mustSpecifyReturnType and mustSpecifyParms, do not translate 
"addParameter()" and "setReturnType()"
mustSpecifyReturnType=No returnType was specified to the Call object!  You 
must call setReturnType() if you have called addParameter().
mustSpecifyParms=No parameters specified to the Call object!  You must 
call addParameter() for all parameters if you have called setReturnType().
noElemOrType=Error: Message part {0} of operation {1} should have either 
an element or a type attribute
badTypeNode=Error: Missing type resolution for element {2}, in WSDL 
message part {0} of operation {1}

# NOTE:  in noUse, do no translate "soap:operation", "binding operation", 
"use".
noUse=The soap:operation for binding operation {0} must have a "use" 
attribute.

fixedTypeMapping=Default type mapping cannot be modified.
delegatedTypeMapping=Type mapping cannot be modified via delegate.
badTypeMapping=Invalid TypeMapping specified: wrong type or null.
defaultTypeMappingSet=Default type mapping from secondary type mapping 
registry is already in use.
getPortDoc00=For the given interface, get the stub implementation.
getPortDoc01=If this service has no port for the given interface,
getPortDoc02=then ServiceException is thrown.
getPortDoc03=This service has multiple ports for a given interface;
getPortDoc04=the proxy implementation returned may be indeterminate.
noStub=There is no stub implementation for the interface:
CantGetSerializer=unable to get serializer for class {0}

noVector00={0}:  {1} is not a vector

optionFactory00=name of the JavaWriterFactory class for extending Java 
generation functions
optionHelper00=emits separate Helper classes for meta data

badParameterMode=Invalid parameter mode byte ({0}) passed to 
getModeAsString().

attach.bounday.mns=Marking streams not supported.
noSuchOperation=No such operation ''{0}''

optionUsername=username to access the WSDL-URI
optionPassword=password to access the WSDL-URI
cantGetDoc00=Unable to retrieve WSDL document: {0}
implAlreadySet=Attempt to set implementation class on a ServiceDesc which 
has already been configured

cantCreateBean00=Unable to create JavaBean of type {0}.  Missing default 
constructor?  Error was: {1}.
faultDuringCleanup=AxisEngine faulted during cleanup!

j2woptsoapAction00=value of the operation's soapAction field. Values are 
DEFAULT, OPERATION or NONE. OPERATION forces soapAction to the name of the 
operation.  DEFAULT causes the soapAction to be set according to the 
operation's meta data (usually "").  NONE forces the soapAction to "". The 
default is DEFAULT.
j2wBadSoapAction00=The value of --soapAction must be DEFAULT, NONE or 
OPERATION.
dispatchIAE00=Tried to invoke method {0} with arguments {1}.  The 
arguments do not match the signature.


ftsf00=Creating trusting socket factory
ftsf01=Exception creating factory
ftsf02=SSL setup failed
ftsf03=isClientTrusted: yes
ftsf04=isServerTrusted: yes
ftsf05=getAcceptedIssuers: none

generating=Generating {0}

j2woptStyle00=The style of binding in the WSDL.  Values are DOCUMENT or 
LITERAL.
j2woptBadStyle00=The value of --style must be DOCUMENT or LITERAL.

noClassForService00=Could not find class for the service named: {0}\nHint: 
you may need to copy your class files/tree into the right location (which 
depends on the servlet system you are using).
j2wDuplicateClass00=The <class-of-portType> has already been specified as, 
{0}.  It cannot be specified again as {1}.
j2wMissingClass00=The <class-of-portType> was not specified.
w2jDuplicateWSDLURI00=The wsdl URI has already been specified as, {0}.  It 
cannot be specified again as {1}.
w2jMissingWSDLURI00=The wsdl URI was not specified.

badEnum02=Unrecognized {0}: ''{1}''
badEnum03=Unrecognized {0}: ''{1}'', defaulting to ''{2}''
beanCompatType00=The class {0} is not a bean class and cannot be converted 
into an xml schema type.  An xml schema anyType will be used to define 
this class in the wsdl file.
beanCompatPkg00=The class {0} is defined in a java or javax package and 
cannot be converted into an xml schema type.  An xml schema anyType will 
be used to define this class in the wsdl file.
beanCompatConstructor00=The class {0} does not contain a default 
constructor, which is a requirement for a bean class.  The class cannot be 
converted into an xml schema type.  An xml schema anyType will be used to 
define this class in the wsdl file.

unsupportedSchemaType00=The XML Schema type ''{0}'' is not currently 
supported.
optionNoWrap00=turn off support for "wrapped" document/literal
noTypeOrElement00=Error: Message part {0} of operation or fault {1} has no 
element or type attribute.

msgContentLengthHTTPerr=Message content length {0} exceeds servlet return 
capacity.
badattachmenttypeerr=The value of {0} for attachment format must be {1};
attach.dimetypeexceedsmax=DIME Type length is {0} which exceeds maximum 
{0}
attach.dimelengthexceedsmax=DIME ID length is {0} which exceeds maximum 
{1}.
attach.dimeMaxChunkSize0=Max chunk size \"{0}\" needs to be greater than 
one.
attach.dimeMaxChunkSize1=Max chunk size \"{0}\" exceeds 32 bits.
attach.dimeReadFullyError=Each DIME Stream must be read fully or closed in 
succession.
attach.dimeNotPaddedCorrectly=DIME stream data not padded correctly.
attach.readLengthError=Received \"{0}\" bytes to read.
attach.readOffsetError=Received \"{0}\" as an offset.
attach.readArrayNullError=Array to read is null
attach.readArrayNullError=Array to read is null
attach.readArraySizeError=Array size of {0} to read {1} at offset {2} is 
too small.
attach.DimeStreamError0=End of physical stream detected when more DIME 
chunks expected.
attach.DimeStreamError1=End of physical stream detected when {0} more 
bytes expected.
attach.DimeStreamError2=There are no more DIME chunks expected!
attach.DimeStreamError3=DIME header less than {0} bytes.
attach.DimeStreamError4=DIME version received \"{0}\" greater than current 
supported version \"{1}\".
attach.DimeStreamError5=DIME option length \"{0}\" is greater stream 
length.
attach.DimeStreamError6=DIME typelength length \"{0}\" is greater stream 
length.
attach.DimeStreamError7=DIME stream closed during options padding.
attach.DimeStreamError8=DIME stream closed getting ID length.
attach.DimeStreamError9=DIME stream closed getting ID padding.
attach.DimeStreamError10=DIME stream closed getting type.
attach.DimeStreamError11=DIME stream closed getting type padding.
attach.DimeStreamBadType=DIME stream received bad type \"{0}\".

badOutParameter00=A holder could not be found or constructed for the OUT 
parameter {0} of method {1}.
setJavaTypeErr00=Illegal argument passed to ParameterDesc.setJavaType. The 
java type {0} does not match the mode {1}
badNormalizedString00=Invalid normalizedString value
badToken00=Invalid token value
badPropertyDesc00=Internal Error occurred while build the property 
descriptors for {0}
j2woptinput00=input WSDL filename
j2woptbindingName00=binding name (--servicePortName value + "SOAPBinding" 
if not specified)
writeSchemaProblem00=Problems encountered trying to write schema for {0}
badClassFile00=Error looking for paramter names in bytecode: input does 
not appear to be a valid class file
unexpectedEOF00=Error looking for paramter names in bytecode: unexpected 
end of file
unexpectedBytes00=Error looking for paramter names in bytecode: unexpected 
bytes in file
beanCompatExtends00=The class {0} extends non-bean class {1}.  An xml 
schema anyType will be used to define {0} in the wsdl file.
wrongNamespace00=The XML Schema type ''{0}'' is not valid in the Schema 
version ''{1}''.

onlyOneBodyFor12=Only one body allowed for SOAP 1.2 RPC
differentTypes00=Error: The input and output parameter have the same name, 
''{0}'', but are defined with type ''{1}'' and also with type ''{2}''.

badMsgMethodParam=Message service must take either a single Vector or a 
Document - method {0} takes a single {1}
msgMethodMustHaveOneParam=Message service methods must take a single 
parameter.  Method {0} takes {1}
needMessageContextArg=Full-message message service must take a single 
MessageContext argument.  Method {0} takes a single {1}
onlyOneMessageOp=Message services may only have one operation - service 
''{0}'' has {1}

# NOTE:  in wontOverwrite, do no translate "WSDL2Java".
wontOverwrite={0} already exists, WSDL2Java will not overwrite it.

badYearMonth00=Invalid gYearMonth
badYear00=Invalid gYear
badMonth00=Invalid gMonth
badDay00=Invalid gDay
badMonthDay00=Invalid gMonthDay
badDuration=Invalid duration: must contain a P

# NOTE:  in noDataHandler, do not translate DataHandler.
noDataHandler=Could not create a DataHandler for {0}, returning {1} 
instead.
needSimpleValueSer=Serializer class {0} does not implement 
SimpleValueSerializer, which is necessary for attributes.

# NOTE:  in needImageIO, do not translate "JIMI", "java.awt.Image", "
http://java.sun.com/products/jimi/"
needImageIO=JIMI is necessary to use java.awt.Image attachments (
http://java.sun.com/products/jimi/).

imageEnabled=Image attachment support is enabled?

wsddServiceName00=The WSDD service name defaults to the port name.

badSource=javax.xml.transform.Source implementation not supported:  {0}.
rpcProviderOperAssert00=The OperationDesc for {0} was not found in the 
ServiceDesc.
serviceDescOperSync00=The OperationDesc for {0} was not syncronized to a 
method of {1}.

noServiceClass=No service class was found!  Are you missing a className 
option?
jpegOnly=Cannot handle {0}, can only handle JPEG image types.

engineFactory=Got EngineFactory: {0}
engineConfigMissingNewFactory=Factory {0} Ignored: missing required 
method: {1}.
engineConfigInvokeNewFactory=Factory {0} Ignored: invoke method failed: 
{1}.
engineConfigFactoryMissing=Unable to locate a valid 
EngineConfigurationFactory

noClassNameAttr00=classname attribute is missing.
noValidHeader=qname attribute is missing.

cannotConnectError=Error: Cannot connect

<!-- ===================================================================
This is an accessory function to echo out fileNames
=================================================================== -->
<target name="echo-file">
<basename property="fileName" file="${file}"/>
<dirname property="dirName" file="${file}"/>
<echo message="Dir: ${dirName} File: ${fileName}"/>
</target>

<!-- ===================================================================
This is an accessory function to compile some given component
=================================================================== -->
<target name="component-compile">
<echo message="${file}"/>
<ant antfile="${file}" target="compile"/>
</target>

<!-- ===================================================================
This is an accessory function to exec JUST the testcase of a
component.
=================================================================== -->
<target name="batch-component-test">
<antcall target="echo-file"/>
<ant antfile="${file}" target="component-junit-functional" />
</target>

<!-- ===================================================================
This is an accessory function to execs the full component test
=================================================================== -->
<target name="batch-component-run">
<antcall target="echo-file"/>
<ant antfile="${file}" target="run" />
</target>

<!-- =================================================================== 
-->
<!-- Determine what dependencies are present -->
<!-- =================================================================== 
-->

<target name="setenv">

<condition property="ant.good">
<and>
<contains string="${ant.version}" substring="Apache Ant version"/>
</and>
</condition>

<mkdir dir="${build.dir}"/>
<mkdir dir="${build.dest}"/>
<mkdir dir="${build.lib}"/>
<mkdir dir="${build.dir}/work"/>

<available property="servlet.present"
classname="javax.servlet.Servlet"
classpathref="classpath"/>

<available property="regexp.present"
classname="org.apache.oro.text.regex.Pattern"
classpathref="classpath"/>

<available property="junit.present"
classname="junit.framework.TestCase"
classpathref="classpath"/>

<available property="wsdl4j.present"
classname="javax.wsdl.Definition"
classpathref="classpath"/>

<available property="commons-logging.present"
classname="org.apache.commons.logging.Log"
classpathref="classpath"/>

<available property="commons-discovery.present"
classname="org.apache.commons.discovery.DiscoverSingleton"
classpathref="classpath"/>

<available property="commons-httpclient.present"
classname="org.apache.commons.httpclient.HttpConnection"
classpathref="classpath"/>

<available property="log4j.present"
classname="org.apache.log4j.Category"
classpathref="classpath"/>

<available property="activation.present"
classname="javax.activation.DataHandler"
classpathref="classpath"/>

<available property="security.present"
classname="org.apache.xml.security.Init"
classpathref="classpath"/>

<available property="mailapi.present"
classname="javax.mail.internet.MimeMessage"
classpathref="classpath"/>

<condition property="jsse.present" >
<and>
<available classname="com.sun.net.ssl.X509TrustManager" 
classpathref="classpath" />
<available classname="javax.net.SocketFactory" classpathref="classpath" />
</and>
</condition>

<condition property="attachments.present" >
<and>
<available classname="javax.activation.DataHandler" 
classpathref="classpath" />
<available classname="javax.mail.internet.MimeMessage" 
classpathref="classpath" />
</and>
</condition>

<condition property="jimi.present" >
<available classname="com.sun.jimi.core.Jimi" classpathref="classpath" />
</condition>

<condition property="merlinio.present" >
<available classname="javax.imageio.ImageIO" classpathref="classpath" />
</condition>

<condition property="axis-ant.present" >
<available classname="tools.ant.foreach.ForeachTask" 
classpathref="classpath" />
</condition>

<condition property="jimiAndAttachments.present">
<and>
<available classname="javax.activation.DataHandler" 
classpathref="classpath" />
<available classname="javax.mail.internet.MimeMessage" 
classpathref="classpath" />
<available classname="com.sun.jimi.core.Jimi" classpathref="classpath" />
</and>
</condition>

<condition property="jms.present" >
<available classname="javax.jms.Message" classpathref="classpath" />
</condition>

<available property="post-compile.present" file="post-compile.xml" />

<property environment="env"/>
<condition property="debug" value="on">
<and>
<equals arg1="on" arg2="${env.debug}"/>
</and>
</condition>

</target>

<target name="printEnv" depends="setenv" >

<echo 
message="-----------------------------------------------------------------"/>
<echo message="       Build environment for ${Name} ${axis.version} 
[${year}]   "/>
<echo 
message="-----------------------------------------------------------------"/>
<echo message="Building with ${ant.version}"/>
<echo message="using build file ${ant.file}"/>
<echo message="Java ${java.version} located at ${java.home} "/>
<echo 
message="-----------------------------------------------------------------"/>

<echo message="--- Flags (Note: If the {property name} is displayed, "/>
<echo message="           then the component is not present)" />
<echo message=""/>

<echo message="build.dir = ${build.dir}"/>
<echo message="build.dest = ${build.dest}"/>
<echo message=""/>
<echo message="=== Required Libraries ===" />
<echo message="wsdl4j.present=${wsdl4j.present}" />
<echo message="commons-logging.present=${commons-logging.present}" />
<echo message="commons-discovery.present=${commons-discovery.present}" />
<echo message="log4j.present=${log4j.present}" />
<echo message="activation.present=${activation.present}" />
<echo message=""/>
<echo message="--- Optional Libraries ---" />
<echo message="servlet.present=${servlet.present}" />
<echo message="regexp.present=${regexp.present}" />
<echo message="junit.present=${junit.present}" />
<echo message="mailapi.present=${mailapi.present}" />
<echo message="attachments.present=${attachments.present}" />
<echo message="jimi.present=${jimi.present}" />
<echo message="security.present=${security.present}" />
<echo message="jsse.present=${jsse.present}" />
<echo message="commons-httpclient.present=${commons-httpclient.present}" 
/>
<echo message="axis-ant.present=${axis-ant.present}" />
<echo message="jms.present=${jms.present}" />
<echo message=""/>
<echo message="--- Property values ---" />
<echo message="debug=${debug}" />
<echo message="deprecation=${deprecation}" />
<!-- Set environment variable axis_nojavadocs=true  to never generate 
javadocs. Case sensative! -->
<echo message="axis_nojavadocs=${env.axis_nojavadocs}"/>

<echo message="" />
<echo message="-- Test Environment for AXIS ---"/>
<echo message="" />
<echo message="test.functional.remote = ${test.functional.remote}" />
<echo message="test.functional.local = ${test.functional.local}" />
<echo message="test.functional.both = ${test.functional.both}" />
<echo message="test.functional.reportdir = ${test.functional.reportdir}" 
/>
<echo message="test.functional.SimpleAxisPort = 
${test.functional.SimpleAxisPort}" />
<echo message="test.functional.TCPListenerPort = 
${test.functional.TCPListenerPort}" />
<echo message="test.functional.fail = ${test.functional.fail}" />
<echo message="" />

<uptodate property="javadoc.notoutofdate"
targetfile="${build.javadocs}/index.html">
<srcfiles dir="${src.dir}" includes="**/*.java" />
</uptodate>

<condition property="axis_nojavadocs" value="true">
<equals arg1="true" arg2="${env.axis_nojavadocs}"/>
</condition>
<condition property="axis_nojavadocs" value="false">
<equals arg1="${axis_nojavadocs}" arg2="$${axis_nojavadocs}"/>
</condition>

<condition property="javadoc.notrequired" value="true">
<or>
<equals arg1="${javadoc.notoutofdate}" arg2="true"/>
<equals arg1="true" arg2="${axis_nojavadocs}"/>
</or>
</condition>


</target>


<!-- =================================================================== 
-->
<!-- Launches the functional test TCP server -->
<!-- =================================================================== 
-->
<target name="start-functional-test-tcp-server" if="junit.present">
<echo message="Starting test tcp server."/>
<java classname="samples.transport.tcp.TCPListener" fork="yes" 
dir="${axis.home}/build">
<arg line="-p ${test.functional.TCPListenerPort}" /> <!-- arbitrary port 
-->
<classpath refid="classpath" />
</java>
</target>

<!-- =================================================================== 
-->
<!-- Launches the functional test HTTP server -->
<!-- =================================================================== 
-->
<target name="start-functional-test-http-server" if="junit.present">
<echo message="Starting test http server."/>
<java classname="org.apache.axis.transport.http.SimpleAxisServer" 
fork="yes" dir="${axis.home}/build">
<!-- Uncomment this to use Jikes instead of Javac for compiling JWS Files
<jvmarg 
value="-Daxis.Compiler=org.apache.axis.components.compiler.Jikes"/>
-->
<jvmarg 
value="-Daxis.wsdlgen.intfnamespace=http://localhost:${test.functional.ServicePort}"/>
<jvmarg 
value="-Daxis.wsdlgen.serv.loc.url=http://localhost:${test.functional.ServicePort}"/>
<arg line="-p ${test.functional.SimpleAxisPort}" />  <!-- arbitrary port 
-->
<classpath refid="classpath" />
</java>

</target>

<!-- =================================================================== 
-->
<!-- Stops the functional test HTTP server -->
<!-- =================================================================== 
-->
<target name="stop-functional-test-http-server" if="junit.present" 
depends="stop-signature-signing-and-verification">
<echo message="Stopping test http server."/>
<java classname="org.apache.axis.client.AdminClient" fork="yes">
<classpath refid="classpath" />
<arg line="quit"/>
</java>
</target>

<!-- =================================================================== 
-->
<!-- Stops the functional test HTTP server when testing digital signature 
-->
<!-- =================================================================== 
-->
<target name="stop-functional-test-http-server-secure" if="junit.present" 
depends="stop-signature-signing-and-verification">
<echo message="Stopping test http server."/>
<java classname="org.apache.axis.client.AdminClient" fork="yes">
<classpath refid="classpath" />
<arg line="quit"/>
</java>
</target>

<!-- =================================================================== 
-->
<!-- Start Signature Signing and Verification -->
<!-- =================================================================== 
-->
<target name="start-signature-signing-and-verification" 
if="security.present">
<!-- Enable transparent Signing of SOAP Messages sent
from the client and Server-side Signature Verification.
-->
<java classname="org.apache.axis.client.AdminClient" fork="yes">
<classpath refid="classpath" />
<arg line="samples/security/serversecuritydeploy.wsdd"/>
</java>
<java classname="org.apache.axis.utils.Admin" fork="yes">
<classpath refid="classpath" />
<arg value="client"/>
<arg value="samples/security/clientsecuritydeploy.wsdd"/>
</java>
</target>

<!-- =================================================================== 
-->
<!-- Stop Signature Signing and Verification -->
<!-- =================================================================== 
-->
<target name="stop-signature-signing-and-verification" 
if="security.present">
<!-- Disable transparent Signing of SOAP Messages sent
from the client and Server-side Signature Verification.
-->
<java classname="org.apache.axis.client.AdminClient" fork="yes">
<classpath refid="classpath" />
<arg line="samples/security/serversecurityundeploy.wsdd"/>
</java>
<java classname="org.apache.axis.utils.Admin" fork="yes">
<classpath refid="classpath" />
<arg value="client"/>
<arg value="samples/security/clientsecurityundeploy.wsdd"/>
</java>

</target>

<!-- =================================================================== 
-->
<!-- Prepares the JUnit functional test -->
<!-- =================================================================== 
-->
<target name="component-junit-functional-prepare" if="junit.present">

<!-- first, put the JWS where the functional test can see it -->
<mkdir dir="${axis.home}/build/jws" />
<copy file="${axis.home}/samples/stock/StockQuoteService.jws" 
todir="${axis.home}/build/jws" />
<copy file="${axis.home}/test/functional/AltStockQuoteService.jws" 
todir="${axis.home}/build/jws" />
<copy file="${axis.home}/test/functional/GlobalTypeTest.jws" 
todir="${axis.home}/build/jws"/>

<path id="deploy.xml.files">
<fileset dir="${build.dir}">
<include name="work/${componentName}/**/deploy.wsdd"/>
<include name="${extraServices}/deploy.wsdd" />
</fileset>
</path>

<path id="undeploy.xml.files">
<fileset dir="${build.dir}">
<include name="work/${componentName}/**/undeploy.wsdd"/>
<include name="${extraServices}/undeploy.wsdd" />
</fileset>
</path>

<property name="deploy.xml.property" refid="deploy.xml.files"/>
<property name="undeploy.xml.property" refid="undeploy.xml.files"/>
</target>

<target name="component-test-run" if="junit.present" 
depends="start-signature-signing-and-verification">
<echo message="Execing ${componentName} Test"/>
<antcall target="component-junit-functional"/>
</target>

<target name="component-junit-functional" if="junit.present" 
depends="component-junit-functional-prepare">
<java classname="org.apache.axis.client.AdminClient" fork="yes">
<classpath refid="classpath" />
<arg line="${deploy.xml.property}"/>
</java>

<junit dir="${axis.home}" printsummary="yes" 
haltonfailure="${test.functional.fail}" fork="yes">
<classpath refid="classpath" />
<formatter type="xml" usefile="${test.functional.usefile}"/>
<batchtest todir="${test.functional.reportdir}">
<fileset dir="${build.dest}">
<include name="${componentName}/*TestCase.class" />
<include name="${componentName}/**/*TestCase.class" />
<include name="${componentName}/**/PackageTests.class" />
<!-- <include name="${componentName}/**/test/*TestSuite.class"/> -->
</fileset>
</batchtest>
</junit>

<java classname="org.apache.axis.client.AdminClient" fork="yes">
<classpath refid="classpath" />
<arg line="${undeploy.xml.property}"/>
</java>

</target>

<target name="execute-Component"  depends="transport-layer" >
<runaxisfunctionaltests
url="http://localhost:${test.functional.TCPListenerPort}"
startTarget1="start-functional-test-tcp-server"
startTarget2="start-functional-test-http-server"
testTarget="component-test-run"
stopTarget="stop-functional-test-http-server" />
</target>

<target name="transport-layer" depends="setenv" >
<mkdir dir="${test.functional.reportdir}" />
<ant antfile="${axis.home}/samples/transport/build.xml" target="compile" 
/>
</target>

cvs diff (in directory D:\projects\axis\xml-axis\)
? java/samples/jms
? java/src/org/apache/axis/transport/jms
cvs server: Diffing .
cvs server: Diffing contrib
cvs server: Diffing contrib/Axis-C++
cvs server: Diffing contrib/Axis-C++/Axis_Release
cvs server: Diffing contrib/Axis-C++/Linux
cvs server: Diffing contrib/Axis-C++/Linux/KDev
cvs server: Diffing contrib/Axis-C++/Linux/KDev/axis
cvs server: Diffing contrib/Axis-C++/Linux/KDev/axis/axtest
cvs server: Diffing contrib/Axis-C++/TestHarnesses
cvs server: Diffing contrib/Axis-C++/Win32
cvs server: Diffing contrib/Axis-C++/Win32/Axis_Release
cvs server: Diffing contrib/Axis-C++/Win32/Calculator
cvs server: Diffing contrib/Axis-C++/Win32/Fault
cvs server: Diffing contrib/Axis-C++/Win32/TestHarness
cvs server: Diffing contrib/Axis-C++/Win32/UserType
cvs server: Diffing contrib/Axis-C++/Win32/axis-dll-not-finish
cvs server: Diffing contrib/Axis-C++/docs
cvs server: Diffing contrib/Axis-C++/docs/ApiDocs
cvs server: Diffing contrib/Axis-C++/doxygen
cvs server: Diffing contrib/Axis-C++/lib
cvs server: Diffing contrib/Axis-C++/lib/AIX_4.3
cvs server: Diffing contrib/Axis-C++/lib/Linux
cvs server: Diffing contrib/Axis-C++/lib/NT_4.0
cvs server: Diffing contrib/Axis-C++/lib/SunOS_5.6
cvs server: Diffing contrib/Axis-C++/lib/SunOS_5.7
cvs server: Diffing contrib/Axis-C++/lib/SunOS_5.8
cvs server: Diffing contrib/Axis-C++/objs
cvs server: Diffing contrib/Axis-C++/objs/AIX_4.3
cvs server: Diffing contrib/Axis-C++/objs/AIX_4.3/common
cvs server: Diffing contrib/Axis-C++/objs/Linux
cvs server: Diffing contrib/Axis-C++/objs/Linux/common
cvs server: Diffing contrib/Axis-C++/objs/NT_4.0
cvs server: Diffing contrib/Axis-C++/objs/SunOS_5.6
cvs server: Diffing contrib/Axis-C++/objs/SunOS_5.6/common
cvs server: Diffing contrib/Axis-C++/objs/SunOS_5.7
cvs server: Diffing contrib/Axis-C++/objs/SunOS_5.7/common
cvs server: Diffing contrib/Axis-C++/objs/SunOS_5.8
cvs server: Diffing contrib/Axis-C++/objs/SunOS_5.8/common
cvs server: Diffing contrib/Axis-C++/src
cvs server: Diffing contrib/Axis-C++/src/Client
cvs server: Diffing contrib/Axis-C++/src/Encoding
cvs server: Diffing contrib/Axis-C++/src/Message
cvs server: Diffing contrib/Axis-C++/src/Transport
cvs server: Diffing contrib/Axis-C++/src/Util
cvs server: Diffing contrib/Axis-C++/src/Xml
cvs server: Diffing contrib/Axis-C++/xerces-c
cvs server: Diffing contrib/Axis-C++/xerces-c/bin
cvs server: Diffing contrib/Axis-C++/xerces-c/include
cvs server: Diffing contrib/Axis-C++/xerces-c/include/dom
cvs server: Diffing contrib/Axis-C++/xerces-c/include/framework
cvs server: Diffing contrib/Axis-C++/xerces-c/include/idom
cvs server: Diffing contrib/Axis-C++/xerces-c/include/internal
cvs server: Diffing contrib/Axis-C++/xerces-c/include/parsers
cvs server: Diffing contrib/Axis-C++/xerces-c/include/sax
cvs server: Diffing contrib/Axis-C++/xerces-c/include/sax2
cvs server: Diffing contrib/Axis-C++/xerces-c/include/util
cvs server: Diffing contrib/Axis-C++/xerces-c/include/util/Compilers
cvs server: Diffing contrib/Axis-C++/xerces-c/include/util/MsgLoaders
cvs server: Diffing contrib/Axis-C++/xerces-c/include/util/MsgLoaders/ICU
cvs server: Diffing 
contrib/Axis-C++/xerces-c/include/util/MsgLoaders/InMemory
cvs server: Diffing 
contrib/Axis-C++/xerces-c/include/util/MsgLoaders/MsgCatalog
cvs server: Diffing 
contrib/Axis-C++/xerces-c/include/util/MsgLoaders/Win32
cvs server: Diffing contrib/Axis-C++/xerces-c/include/util/Platforms
cvs server: Diffing contrib/Axis-C++/xerces-c/include/util/Platforms/AIX
cvs server: Diffing contrib/Axis-C++/xerces-c/include/util/Platforms/HPUX
cvs server: Diffing contrib/Axis-C++/xerces-c/include/util/Platforms/Linux
cvs server: Diffing contrib/Axis-C++/xerces-c/include/util/Platforms/MacOS
cvs server: Diffing contrib/Axis-C++/xerces-c/include/util/Platforms/OS2
cvs server: Diffing contrib/Axis-C++/xerces-c/include/util/Platforms/OS390
cvs server: Diffing contrib/Axis-C++/xerces-c/include/util/Platforms/PTX
cvs server: Diffing 
contrib/Axis-C++/xerces-c/include/util/Platforms/Solaris
cvs server: Diffing 
contrib/Axis-C++/xerces-c/include/util/Platforms/Tandem
cvs server: Diffing contrib/Axis-C++/xerces-c/include/util/Platforms/Win32
cvs server: Diffing contrib/Axis-C++/xerces-c/include/util/Transcoders
cvs server: Diffing contrib/Axis-C++/xerces-c/include/util/Transcoders/ICU
cvs server: Diffing 
contrib/Axis-C++/xerces-c/include/util/Transcoders/Iconv
cvs server: Diffing 
contrib/Axis-C++/xerces-c/include/util/Transcoders/Win32
cvs server: Diffing contrib/Axis-C++/xerces-c/include/util/regx
cvs server: Diffing contrib/Axis-C++/xerces-c/include/validators
cvs server: Diffing contrib/Axis-C++/xerces-c/include/validators/DTD
cvs server: Diffing contrib/Axis-C++/xerces-c/include/validators/common
cvs server: Diffing contrib/Axis-C++/xerces-c/include/validators/datatype
cvs server: Diffing contrib/Axis-C++/xerces-c/include/validators/schema
cvs server: Diffing contrib/Axis-C++/xerces-c/lib
cvs server: Diffing contrib/Axis-C++/xerces-c/lib/Linux
cvs server: Diffing java
Index: java/build.xml
===================================================================
RCS file: /home/cvspublic/xml-axis/java/build.xml,v
retrieving revision 1.176
diff -r1.176 build.xml
105a106
>       <exclude name="**/org/apache/axis/transport/jms/*" 
unless="jms.present"/>
254a256
>       <exclude name="samples/jms/**/*.java" unless="jms.present"/>
cvs server: Diffing java/docs
cvs server: Diffing java/lib
cvs server: Diffing java/samples
cvs server: Diffing java/samples/addr
cvs server: Diffing java/samples/attachments
cvs server: Diffing java/samples/bidbuy
cvs server: Diffing java/samples/echo
cvs server: Diffing java/samples/encoding
cvs server: Diffing java/samples/integrationGuide
cvs server: Diffing java/samples/integrationGuide/example1
cvs server: Diffing java/samples/integrationGuide/example2
cvs server: Diffing java/samples/jaxm
cvs server: Diffing java/samples/jaxrpc
cvs server: Diffing java/samples/jaxrpc/address
cvs server: Diffing java/samples/jaxrpc/hello
cvs server: Diffing java/samples/message
cvs server: Diffing java/samples/misc
cvs server: Diffing java/samples/proxy
cvs server: Diffing java/samples/security
cvs server: Diffing java/samples/stock
cvs server: Diffing java/samples/transport
cvs server: Diffing java/samples/transport/tcp
cvs server: Diffing java/samples/userguide
cvs server: Diffing java/samples/userguide/example1
cvs server: Diffing java/samples/userguide/example2
cvs server: Diffing java/samples/userguide/example3
cvs server: Diffing java/samples/userguide/example4
cvs server: Diffing java/samples/userguide/example5
cvs server: Diffing java/samples/userguide/example6
cvs server: Diffing java/src
cvs server: Diffing java/src/javax
cvs server: Diffing java/src/javax/xml
cvs server: Diffing java/src/javax/xml/messaging
cvs server: Diffing java/src/javax/xml/namespace
cvs server: Diffing java/src/javax/xml/rpc
cvs server: Diffing java/src/javax/xml/rpc/encoding
cvs server: Diffing java/src/javax/xml/rpc/handler
cvs server: Diffing java/src/javax/xml/rpc/handler/soap
cvs server: Diffing java/src/javax/xml/rpc/holders
cvs server: Diffing java/src/javax/xml/rpc/server
cvs server: Diffing java/src/javax/xml/rpc/soap
cvs server: Diffing java/src/javax/xml/soap
cvs server: Diffing java/src/javax/xml/transform
cvs server: Diffing java/src/javax/xml/transform/dom
cvs server: Diffing java/src/javax/xml/transform/sax
cvs server: Diffing java/src/javax/xml/transform/stream
cvs server: Diffing java/src/org
cvs server: Diffing java/src/org/apache
cvs server: Diffing java/src/org/apache/axis
cvs server: Diffing java/src/org/apache/axis/attachments
cvs server: Diffing java/src/org/apache/axis/client
cvs server: Diffing java/src/org/apache/axis/components
cvs server: Diffing java/src/org/apache/axis/components/compiler
cvs server: Diffing java/src/org/apache/axis/components/image
cvs server: Diffing java/src/org/apache/axis/components/logger
cvs server: Diffing java/src/org/apache/axis/components/net
cvs server: Diffing java/src/org/apache/axis/configuration
cvs server: Diffing java/src/org/apache/axis/deployment
cvs server: Diffing java/src/org/apache/axis/deployment/wsdd
cvs server: Diffing java/src/org/apache/axis/deployment/wsdd/providers
cvs server: Diffing java/src/org/apache/axis/description
cvs server: Diffing java/src/org/apache/axis/encoding
cvs server: Diffing java/src/org/apache/axis/encoding/ser
cvs server: Diffing java/src/org/apache/axis/enum
cvs server: Diffing java/src/org/apache/axis/handlers
cvs server: Diffing java/src/org/apache/axis/handlers/http
cvs server: Diffing java/src/org/apache/axis/handlers/soap
cvs server: Diffing java/src/org/apache/axis/holders
cvs server: Diffing java/src/org/apache/axis/message
cvs server: Diffing java/src/org/apache/axis/providers
cvs server: Diffing java/src/org/apache/axis/providers/java
cvs server: Diffing java/src/org/apache/axis/schema
cvs server: Diffing java/src/org/apache/axis/security
cvs server: Diffing java/src/org/apache/axis/security/servlet
cvs server: Diffing java/src/org/apache/axis/security/simple
cvs server: Diffing java/src/org/apache/axis/server
cvs server: Diffing java/src/org/apache/axis/session
cvs server: Diffing java/src/org/apache/axis/soap
cvs server: Diffing java/src/org/apache/axis/strategies
cvs server: Diffing java/src/org/apache/axis/transport
cvs server: Diffing java/src/org/apache/axis/transport/http
cvs server: Diffing java/src/org/apache/axis/transport/java
cvs server: Diffing java/src/org/apache/axis/transport/local
cvs server: Diffing java/src/org/apache/axis/types
cvs server: Diffing java/src/org/apache/axis/utils
Index: java/src/org/apache/axis/utils/axisNLS.properties
===================================================================
RCS file: 
/home/cvspublic/xml-axis/java/src/org/apache/axis/utils/axisNLS.properties,v
retrieving revision 1.55
diff -r1.55 axisNLS.properties
1009c1009,1011
< noValidHeader=qname attribute is missing.
\ No newline at end of file
---
> noValidHeader=qname attribute is missing.
>
> cannotConnectError=Error: Cannot connect
cvs server: Diffing java/src/org/apache/axis/utils/bytecode
cvs server: Diffing java/src/org/apache/axis/utils/cache
cvs server: Diffing java/src/org/apache/axis/wsdl
cvs server: Diffing java/src/org/apache/axis/wsdl/fromJava
cvs server: Diffing java/src/org/apache/axis/wsdl/gen
cvs server: Diffing java/src/org/apache/axis/wsdl/symbolTable
cvs server: Diffing java/src/org/apache/axis/wsdl/toJava
cvs server: Diffing java/test
cvs server: Diffing java/test/RPCDispatch
cvs server: Diffing java/test/chains
cvs server: Diffing java/test/concurrency
cvs server: Diffing java/test/doesntWork
cvs server: Diffing java/test/dynamic
cvs server: Diffing java/test/encoding
cvs server: Diffing java/test/encoding/beans
cvs server: Diffing java/test/faults
cvs server: Diffing java/test/functional
cvs server: Diffing java/test/functional/ant
cvs server: Diffing java/test/httpunit
cvs server: Diffing java/test/httpunit/lib
cvs server: Diffing java/test/httpunit/src
cvs server: Diffing java/test/httpunit/src/test
cvs server: Diffing java/test/inheritance
cvs server: Diffing java/test/lib
cvs server: Diffing java/test/md5attach
cvs server: Diffing java/test/message
cvs server: Diffing java/test/outparams
cvs server: Diffing java/test/properties
cvs server: Diffing java/test/saaj
cvs server: Diffing java/test/session
cvs server: Diffing java/test/soap
cvs server: Diffing java/test/soap12
cvs server: Diffing java/test/templateTest
cvs server: Diffing java/test/types
cvs server: Diffing java/test/utils
cvs server: Diffing java/test/utils/cache
cvs server: Diffing java/test/wsdd
cvs server: Diffing java/test/wsdl
cvs server: Diffing java/test/wsdl/_import
cvs server: Diffing java/test/wsdl/addrNoImplSEI
cvs server: Diffing java/test/wsdl/arrays
cvs server: Diffing java/test/wsdl/attachments
cvs server: Diffing java/test/wsdl/clash
cvs server: Diffing java/test/wsdl/datatypes
cvs server: Diffing java/test/wsdl/echo
cvs server: Diffing java/test/wsdl/extensibility
cvs server: Diffing java/test/wsdl/faults
cvs server: Diffing java/test/wsdl/filegen
cvs server: Diffing java/test/wsdl/getPort
cvs server: Diffing java/test/wsdl/import2
cvs server: Diffing java/test/wsdl/import2/interface1
cvs server: Diffing java/test/wsdl/import2/interface1/interface2
cvs server: Diffing java/test/wsdl/import2/service1
cvs server: Diffing java/test/wsdl/import2/service1/service2
cvs server: Diffing java/test/wsdl/import2/types1
cvs server: Diffing java/test/wsdl/import2/types1/types2
cvs server: Diffing java/test/wsdl/import2/types1/types3
cvs server: Diffing java/test/wsdl/import3
cvs server: Diffing java/test/wsdl/import3/MultiImpIncl
cvs server: Diffing java/test/wsdl/import3/MultiImpIncl/cmp
cvs server: Diffing java/test/wsdl/import3/MultiImpIncl/includes
cvs server: Diffing java/test/wsdl/import3/MultiImpIncl/tbl1
cvs server: Diffing java/test/wsdl/import3/MultiImpIncl/tbl2
cvs server: Diffing java/test/wsdl/import3/MultiImpIncl/wsdl
cvs server: Diffing java/test/wsdl/include
cvs server: Diffing java/test/wsdl/include/address
cvs server: Diffing java/test/wsdl/include/state
cvs server: Diffing java/test/wsdl/inheritance
cvs server: Diffing java/test/wsdl/inout
cvs server: Diffing java/test/wsdl/interop
cvs server: Diffing java/test/wsdl/interop3
cvs server: Diffing java/test/wsdl/interop3/compound1
cvs server: Diffing java/test/wsdl/interop3/compound2
cvs server: Diffing java/test/wsdl/interop3/docLit
cvs server: Diffing java/test/wsdl/interop3/docLitParam
cvs server: Diffing java/test/wsdl/interop3/groupE
cvs server: Diffing java/test/wsdl/interop3/groupE/client
cvs server: Diffing java/test/wsdl/interop3/import1
cvs server: Diffing java/test/wsdl/interop3/import2
cvs server: Diffing java/test/wsdl/interop3/import3
cvs server: Diffing java/test/wsdl/interop3/rpcEnc
cvs server: Diffing java/test/wsdl/literal
cvs server: Diffing java/test/wsdl/marrays
cvs server: Diffing java/test/wsdl/multibinding
cvs server: Diffing java/test/wsdl/multiref
cvs server: Diffing java/test/wsdl/multithread
cvs server: Diffing java/test/wsdl/names
cvs server: Diffing java/test/wsdl/nested
cvs server: Diffing java/test/wsdl/omit
cvs server: Diffing java/test/wsdl/opStyles
cvs server: Diffing java/test/wsdl/parameterOrder
cvs server: Diffing java/test/wsdl/polymorphism
cvs server: Diffing java/test/wsdl/qualify
cvs server: Diffing java/test/wsdl/qualify2
cvs server: Diffing java/test/wsdl/ram
cvs server: Diffing java/test/wsdl/refattr
cvs server: Diffing java/test/wsdl/roundtrip
cvs server: Diffing java/test/wsdl/roundtrip/holders
cvs server: Diffing java/test/wsdl/sequence
cvs server: Diffing java/test/wsdl/types
cvs server: Diffing java/test/wsdl/wrapped
cvs server: Diffing java/tools
cvs server: Diffing java/tools/org
cvs server: Diffing java/tools/org/apache
cvs server: Diffing java/tools/org/apache/axis
cvs server: Diffing java/tools/org/apache/axis/tools
cvs server: Diffing java/tools/org/apache/axis/tools/ant
cvs server: Diffing java/tools/org/apache/axis/tools/ant/axis
cvs server: Diffing java/tools/org/apache/axis/tools/ant/foreach
cvs server: Diffing java/tools/org/apache/axis/tools/ant/wsdl
cvs server: Diffing java/webapps
cvs server: Diffing java/webapps/axis
cvs server: Diffing java/webapps/axis/WEB-INF
cvs server: Diffing java/wsdd
cvs server: Diffing java/wsdd/docs
cvs server: Diffing java/wsdd/examples
cvs server: Diffing java/wsdd/examples/chaining_examples
cvs server: Diffing java/wsdd/examples/from_SOAP_v2
cvs server: Diffing java/wsdd/examples/serviceConfiguration_examples
cvs server: Diffing java/wsdd/providers
cvs server: Diffing java/xmls
Index: java/xmls/targets.xml
===================================================================
RCS file: /home/cvspublic/xml-axis/java/xmls/targets.xml,v
retrieving revision 1.20
diff -r1.20 targets.xml
129a130,133
>     <condition property="jms.present" >
>       <available classname="javax.jms.Message" classpathref="classpath" 
/>
>     </condition>
>
175a180
>     <echo message="jms.present=${jms.present}" />
cvs server: Diffing proposals
cvs server: Diffing proposals/arch
cvs server: Diffing proposals/arch/docs
cvs server: Diffing proposals/arch/src
cvs server: Diffing proposals/arch/src/org
cvs server: Diffing proposals/arch/src/org/apache
cvs server: Diffing proposals/arch/src/org/apache/axis
cvs server: Diffing proposals/arch/src/org/apache/axis/flow
cvs server: Diffing proposals/arch/test
cvs server: Diffing proposals/arch/test/flow




Re: Asynchronous Transport in Apache Axis, JMS and beyond

Posted by James M Snell <ja...@us.ibm.com>.
Comments below...

- James Snell
     IBM Emerging Technologies
     jasnell@us.ibm.com
     (559) 587-1233 (office)
     (700) 544-9035 (t/l)
     Programming Web Services With SOAP
         O'Reilly & Associates, ISBN 0596000952

     Have I not commanded you? Be strong and courageous. 
     Do not be terrified, do not be discouraged, for the Lord your 
     God will be with you whereever you go.    - Joshua 1:9

David Chappell <ch...@sonicsoftware.com> wrote on 09/05/2002 07:09:32 
AM:

> Our lead developer on this project, Jaime Meritt, is out of the country
> until 9/15.  He said he would be available for calls if we can schedule
> them for early morning EDT due to a 13 hour time difference.  We could
> have a productive call without him but I would prefer that he be there.
> I will try to see if he can be available Tuesday 9/10 at 9:00 am EDT.
> Does that work for you?

Considering that I'm on the West Coast and work from home full time, 9:00 
am EDT will not work (although, I'll probably be awake anyway at 6:00 am 
with a new baby in the house ;-), it's still a bit early.  I can general 
do 10:00 am EDT.

> Also, on the issue of "J2EE legal" that you raised -- I'm assuming you
> mean that you want to stay within the bounds of JAX-RPC API's and be TCK
> compliant?  I agree that is a must and certainly wouldn't want to break
> that.  However, I think that we must expand beyond that to support
> asynchronous callbacks in the client API.  I haven't heard of anything
> slated for J2EE 1.4 that addresses this issue, and I don't think we
> should wait for post-1.4 to see what shakes out.  I think that whatever
> we add for client API's with regard to asynch callback/notification
> would not break TCK compliance since there is no support for it, right?

I agree. The mechanism that I am putting together provides a means of 
doing asynchronous callback but only as an advanced "only do this if you 
know what you're doing" option.  I want to stick as close as possible to 
the existing JAX-RPC and Axis API's, I also want thread management done in 
a way that doesn't violate J2EE rules (currently, Axis internals create 
threads in a way that J2EE doesn't allow).   And yes, since JAX-RPC 
doesn't deal at all with asynchrony, whatever we do in that regard will 
not break compliance.

> Also, what we are offering initially is a JMS transport layer that is
> pluggable.  So I agree that it is complementary with your mods to the
> Call object.  I see no reason to NOT put the transport into 1.0.  It is
> separate enough that it won't break anything else and is only activated
> when the application specifically wants to use it.  I will defer to the
> wisdom of the committers on that one.

I would generally agree but would hesitate offering a vote since 1) I 
haven't yet had time to review what you posted in detail and 2) it's been 
a while since I've actively contributed.

> Dave

> James M Snell wrote:
> >
> > David,
> >
> > One good thing that I see here is that the two approaches should
> > actually be complementary.  Let's definitely have a chat about this to
> > 1) make sure we're on the same page and 2) make sure we're not
> > stepping on toes.   I'll set up the conference call, just let me know
> > who to invite and when. :-)
> >
> > - James Snell
> >     IBM Emerging Technologies
> >     jasnell@us.ibm.com
> >     (559) 587-1233 (office)
> >     (700) 544-9035 (t/l)
> >     Programming Web Services With SOAP
> >         O'Reilly & Associates, ISBN 0596000952
> >
> >     Have I not commanded you? Be strong and courageous.
> >     Do not be terrified, do not be discouraged, for the Lord your
> >     God will be with you whereever you go.    - Joshua 1:9
> >
> > David Chappell <ch...@sonicsoftware.com> wrote on 09/04/2002
> > 10:36:39 PM:
> >
> > > Hi James,
> > > If this seems like a surprise to you, my apologies.  We started
> > talking
> > > to Glen about this starting almost two months ago, including the
> > details
> > > of a draft proposal of the asynchronous callback support. He saw
> > that,
> > > thought it was a good proposal. In all fairness to him with regard
> > to
> > > timing issues, he has been advocating for some time for us to post
> > our
> > > thoughts to the axis-dev list. So we started with this.  We have
> > been
> > > working under the operating assumption that simply a proposal was
> > not
> > > enough.  We should put some skin in the game.  So we wrote some code
> > and
> > > submitted it as a measure of good faith.  Last week at the XML
> > > conference in Boston, Glen and I  both talked to Sam about the
> > notion of
> > > submitting this.  He seemed OK with it as well.  So here we are.
> >
> > > We (Sonic) are also a member of the JCP EG process, and understand
> > the
> > > notion of J2EE legal with regard to invokeOneWay(), and the history
> > of
> > > that.
> >
> > > All that aside...let's work in this.  We are volunteering to do some
> > > heavy lifting.  We have thrown our hat in the ring an offered up a
> > JMS
> > > transport as a phase 1.  Like I said, we would like to work closely
> > with
> > > the Axis-dev community on this proposal.  We are obviously thinking
> > > along similar lines, and should work together to flesh out the
> > longer
> > > term strategy. Your approach with the ASYNC_CALL_PROPERTY sounds
> > > interesting.  We would like to hear more about it.  Perhaps we
> > should
> > > have a con-call about it?
> >
> > >
> > > Dave
> >
> > >
> > > James M Snell wrote:
> >
> > > > General FYI:
> > > >
> > > > I am currently about a week away from providing a fix to the
> > current
> > > > Axis code that makes the asynchronous sending of messages by the
> > Axis
> > > > Call object J2EE legal and that allows us to do asynchronous
> > > > request/response operations.  The approach I am taking provides
> > this
> > > > functionality by implementing a pluggable asynchronous processing
> > > > model that operates behind the Axis Call object and minimally
> > impacts
> > > > the current programming model by adding only a couple of new
> > methods
> > > > to the current Call object interface.  An example of how this
> > > > mechanism will work is provided below.
> > > >
> > > > Currently in Axis, there is no way to do asynchronous
> > request/response
> > > > operations.  Also, the invokeOneWay currently implements
> > asynchronous
> > > > processing by creating a thread and invoking the Axis engine --
> > > > unfortunately this is not legal in J2EE since thread management
> > done
> > > > directly within J2EE containers is not allowed.  By implementing a
> > > > pluggable mechanism, we can go back and plug in an asynchronous
> > > > processing model that IS legal within J2EE -- including, but not
> > > > limited to, using JMS.
> > > >
> > > > 1          try {
> > > > 2              String endpoint =
> > > > 3                       "some_service_endpoint";
> > > > 4
> > > > 5              Service  service = new Service();
> > > > 6              Call     call    = (Call) service.createCall();
> > > > 7
> > > > 8              call.setProperty(AsyncCall.ASYNC_CALL_PROPERTY,
> > > > 9                               new Boolean(true));
> > > > 10
> > > > 11             call.setTargetEndpointAddress( new
> > > > java.net.URL(endpoint) );
> > > > 12             call.setOperationName(
> > > > 13               new QName("namespace", "getQuote"));
> > > > 14
> > > > 15             String ret = (String) call.invoke( new Object[] {
> > "IBM"
> > > > } );
> > > > 16
> > > > 17             while (call.getAsyncStatus() != Call.ASYNC_READY)
> > {}
> > > > 18             System.out.println(call.getReturnValue());
> > > > 19             System.out.println("done!");
> > > > 20
> > > > 21         } catch (Exception e) {
> > > > 22             System.err.println(e.toString());
> > > > 23         }
> > > >
> > > > The way this works is simple.  Lines 8-9 tell the Axis call object
> > to
> > > > use Async processing.  When the call.invoke is done on Line 15,
> > Axis
> > > > will dispatch the invocation to the pluggable async processing
> > > > implementation currently configured (uses non-J2EE legal approach
> > by
> > > > default, the admin can configure a new impl either through a
> > system
> > > > property or using the engine config wsdd).
> > > >
> > > > Line 17 illustrates how the user can check to see when a response
> > has
> > > > been received.  While the async operation is processing,
> > > > call.getAsyncStatus() will return Call.ASYNC_RUNNING.  When the
> > > > operation completes, the value will switch to Call.ASYNC_READY.
> >  The
> > > > client can then call.getReturnValue() to return the response
> > value.
> > > >
> > > > The invokeOneWay operation will be modified to use the pluggable
> > async
> > > > processing impl automatically (without the end user specifying
> > > > ASYNC_CALL_PROPERTY == true).
> > > >
> > > > The point here (and the key benefit) is that from the end users
> > point
> > > > of view, how the asyncronous processing is actually implemented is
> > > > irrelevant.  The existing programming model is impacted in a very
> > > > minimal way.  This could be provided for Axis 1.0 without making
> > very
> > > > significant changes to the current axis code base.
> > > >
> > > > The implementation of this is about half way done (I'm currently
> > > > working on a J2EE legal pluggable implementation).
> > > >
> > > > - James Snell
> > > >     IBM Emerging Technologies
> > > >     jasnell@us.ibm.com
> > > >     (559) 587-1233 (office)
> > > >     (700) 544-9035 (t/l)
> > > >     Programming Web Services With SOAP, O'Reilly & Associates,
> > ISBN
> > > > 0596000952
> > > > ==
> > > > Have I not commanded you? Be strong and courageous.  Do not be
> > > > terrified,
> > > > do not be discouraged, for the Lord your God will be with you
> > > > whereever you go.
> > > > - Joshua 1:9
> > > >
> > > > Please respond to axis-dev@xml.apache.org
> > > >
> > > > To:        axis-dev@xml.apache.org
> > > > cc:
> > > > Subject:        Asynchronous Transport in Apache Axis, JMS and
> > beyond
> > > >
> > > > Sonic Software would like to become actively involved with
> > providing
> > > > asynchronous transport support in Axis.  The first phase of this
> > > > effort,
> > > > included in the attached patch file, is a JMS transport
> > > > implementation.
> > > >
> > > > While this patch submission is limited to synchronous
> > request/reply
> > > > over
> > > > a JMS transport, our longer term goal is to provide asynchrony in
> > the
> > > > Axis engine on both the client and server side.  This effort
> > includes
> > > > but is not limited to:
> > > >
> > > > -        Providing API's in the Axis client and server in support
> > of
> > > > asynchronous callbacks, asynchronous request/reply, notification,
> > and
> > > > solicit-response.
> > > > -        Splitting apart the axis engine at the pivot point in
> > order
> > > > to be able
> > > > to support asynchronous callbacks, asynchronous request/reply,
> > > > notification, and solicit-response.
> > > > -        Adding correlation management in support of splitting
> > apart
> > > > the
> > > > requests and responses in the Axis engine.
> > > > -        Generalizing the asynchronous support beyond JMS such
> > that it
> > > > works
> > > > with any protocol such as HTTP and SMTP/POP/IMAP.
> > > >
> > > > The attached .zip file contains the files that implement the JMS
> > > > transport.  We tried to make it as vendor-neutral as possible yet
> > keep
> > > > it dynamic and flexible by making the vendor specific parts of JMS
> > > > (ConnectionFactories, Topics, and Queues) be accessible both via
> > JNDI
> > > > and via a string-based lookup.
> > > >
> > > > In addition to implementing the Transport, we have also included a
> > > > layer
> > > > of helper classes that do things like connection and session
> > pooling,
> > > > connection retry management, and a Endpoint abstraction that deals
> > > > with
> > > > Topic and Queue destinations in JMS 1.0.2 using a single
> > interface.
> > > > This layer is used by the transport.
> > > >
> > > > The contents of jms.zip belong in org.apache.axis.transport.jms,
> > the
> > > > contents of JMSSamples.zip under samples/jms, and the following
> > files
> > > > replace the pre-existing ones-
> > > > axisNLS.properties -> org.apache.axis.utils
> > > > build.xml -> java
> > > > targets.xml -> java/xmls
> > > >
> > > > At the moment JMSTest.java is intended to be run manually.  We
> > would
> > > > like to add more tests to the automated test suite, but we need to
> > > > think
> > > > about issues like starting and stopping a JMS provider process in
> > a
> > > > generic fashion.  Your input would be greatly appreciated on this.
> > > >
> > > > We would like to become committers to Axis, and get involved with
> > Axis
> > > > for the long term.  We are working on fine-tuning a proposal that
> > > > outlines the details of what we would like to provide.  We will be
> > > > sharing that with you by the end of this month, and look forward
> > to
> > > > hearing your feedback on it.
> > > >
> > > > We are very enthusiastic about getting involved in the Axis
> > project,
> > > > and
> > > > look forward to working with you all.  We would also like to thank
> > > > Glen
> > > > for helping us to understand what it takes to get involved.
> > > >
> > > > FYI - I will be away from email for the next 1.5 days, but we will
> > > > have
> > > > engineers monitoring this list during that time to answer any
> > > > questions.
> > > >
> > > > Regards,
> > > > Dave Chappell
> > > > Sonic Software
> > > > ---
> > > > David Chappell <ch...@sonicsoftware.com> Office: (781)999-7099
> > > > Mobile: (617)510-6566
> > > > Vice President and Chief Technology Evangelist, Sonic Software
> > > > co-author,"Java Web Services", (O'Reilly 2002)
> > > > "The Java Message Service", (O'Reilly 2000)
> > > > "Professional ebXML Foundations", (Wrox 2001)
> > > >
> > > > <?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 targets SYSTEM "file:xmls/targets.xml">
> > > > ]>
> > > >
> > > > <project default="compile" basedir=".">
> > > > <!--
> > > >
> > ===================================================================
> > > > -->
> > > > <description>
> > > > Build 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
> > > >
> > > > Optional components:
> > > > SOAP Attachment support enablement:
> > > > activation.jar     from
> > > > http://java.sun.com/products/javabeans/glasgow/jaf.html
> > > > mailapi.jar        from http://java.sun.com/products/javamail/
> > > > JimiProClasses.zip from http://java.sun.com/products/jimi/
> > > > Security support enablement:
> > > > xmlsec.jar from fresh build of CVS from
> > > > http://xml.apache.org/security/
> > > > Other support jars from
> > > > http://cvs.apache.org/viewcvs.cgi/xml-security/libs/
> > > >
> > > > Build Instructions:
> > > > To build, run
> > > >
> > > > ant "target"
> > > >
> > > > on the directory where this file is located with the target you
> > want.
> > > >
> > > > Most useful targets:
> > > >
> > > > - compile  : creates the "axis.jar" package in "./build/lib"
> > > > - javadocs : creates the javadocs in "./build/javadocs"
> > > > - dist     : creates the complete binary distribution
> > > > - srcdist  : creates the complete src distribution
> > > > - functional-tests : attempts to build Ant task and then run
> > > > client-server functional test
> > > > - war      : create the web application as a WAR file
> > > > - clean    : clean up files and directories
> > > >
> > > > Custom post-compilation work:
> > > >
> > > > If you desire to do some extra work as a part of the build after
> > the
> > > > axis.jar is assembled, simply create an ant buildfile called
> > > > "post-compile.xml" in this directory.  The build will
> > automatically
> > > > notice this and run it at the appropriate time.  This is handy for
> > > > updating the jar file in a running server, for instance.
> > > >
> > > > Authors:
> > > > Sam Ruby  rubys@us.ibm.com
> > > > Matthew J. Duftler duftler@us.ibm.com
> > > > Glen Daniels gdaniels@macromedia.com
> > > >
> > > > Copyright:
> > > > Copyright (c) 2001-2002 Apache Software Foundation.
> > > > </description>
> > > > <!--
> > > >
> > ====================================================================
> > > > -->
> > > >
> > > > <!-- Include the Generic XML files -->
> > > > &properties;
> > > > &paths;
> > > > &taskdefs;
> > > > &targets;
> > > >
> > > > <!--
> > > >
> > ===================================================================
> > > > -->
> > > > <!-- Compiles the source directory
> > > >   -->
> > > > <!--
> > > >
> > ===================================================================
> > > > -->
> > > > <target name="compile" depends="printEnv">
> > > > <javac srcdir="${src.dir}" destdir="${build.dest}"
> > debug="${debug}"
> > > > deprecation="${deprecation}"
> > > > classpathref="classpath">
> > > > <exclude name="**/old/**/*" />
> > > > <exclude name="**/bak/**"/>
> > > > <exclude name="**/org/apache/axis/components/net/JSSE*.java"
> > > > unless="jsse.present"/>
> > > > <exclude name="**/org/apache/axis/components/net/Fake*.java"
> > > > unless="jsse.present"/>
> > > > <exclude name="**/org/apache/axis/components/image/JimiIO.java"
> > > > unless="jimi.present"/>
> > > > <exclude name="**/org/apache/axis/components/image/MerlinIO.java"
> > > > unless="merlinio.present"/>
> > > > <exclude
> > name="**/org/apache/axis/attachments/AttachmentsImpl.java"
> > > > unless="attachments.present"/>
> > > > <exclude name="**/org/apache/axis/attachments/AttachmentPart.java"
> > > > unless="attachments.present"/>
> > > > <exclude
> > name="**/org/apache/axis/attachments/AttachmentUtils.java"
> > > > unless="attachments.present"/>
> > > > <exclude name="**/org/apache/axis/attachments/MimeUtils.java"
> > > > unless="attachments.present"/>
> > > > <exclude
> > > > name="**/org/apache/axis/attachments/ManagedMemoryDataSource.java"
> > > > unless="attachments.present"/>
> > > > <exclude
> > > >
> > name="**/org/apache/axis/attachments/MultiPartRelatedInputStream.java"
> > > > unless="attachments.present"/>
> > > > <exclude
> > > > name="**/org/apache/axis/attachments/BoundaryDelimitedStream.java"
> > > > unless="attachments.present"/>
> > > > <exclude
> > name="**/org/apache/axis/attachments/ImageDataSource.java"
> > > > unless="jimiAndAttachments.present"/>
> > > > <exclude
> > > > name="**/org/apache/axis/attachments/MimeMultipartDataSource.java"
> > > > unless="attachments.present"/>
> > > > <exclude
> > > > name="**/org/apache/axis/attachments/PlainTextDataSource.java"
> > > > unless="attachments.present"/>
> > > > <exclude
> > > >
> > >
> > 
> 
name="**/org/apache/axis/configuration/ServletEngineConfigurationFactory.java"
> > > > unless="servlet.present"/>
> > > > <exclude
> > > >
> > name="**/org/apache/axis/encoding/ser/JAFDataHandlerSerializer.java"
> > > > unless="attachments.present"/>
> > > > <exclude
> > > >
> > >
> > 
> 
name="**/org/apache/axis/encoding/ser/JAFDataHandlerDeserializerFactory.java"
> > > > unless="attachments.present"/>
> > > > <exclude
> > > >
> > 
name="**/org/apache/axis/encoding/ser/JAFDataHandlerSerializerFactory.java"
> > > > unless="attachments.present"/>
> > > > <exclude
> > > >
> > name="**/org/apache/axis/encoding/ser/JAFDataHandlerDeserializer.java"
> > > > unless="attachments.present"/>
> > > > <exclude name="**/org/apache/axis/handlers/MD5AttachHandler.java"
> > > > unless="attachments.present"/>
> > > > <exclude
> > name="**/org/apache/axis/transport/http/AdminServlet.java"
> > > > unless="servlet.present"/>
> > > > <exclude
> > name="**/org/apache/axis/transport/http/AxisHttpSession.java"
> > > > unless="servlet.present"/>
> > > > <exclude name="**/org/apache/axis/transport/http/AxisServlet.java"
> > > > unless="servlet.present"/>
> > > > <exclude
> > > > name="**/org/apache/axis/transport/http/CommonsHTTPSender.java"
> > > > unless="commons-httpclient.present"/>
> > > > <exclude name="**/org/apache/axis/transport/jms/*"
> > > > unless="jms.present"/>
> > > > <exclude
> > name="**/org/apache/axis/server/JNDIAxisServerFactory.java"
> > > > unless="servlet.present"/>
> > > > <exclude name="**/org/apache/axis/security/servlet/*"
> > > > unless="servlet.present"/>
> > > > <exclude name="**/javax/xml/soap/*.java"
> > > > unless="attachments.present"/>
> > > > <exclude name="**/javax/xml/rpc/handler/soap/*.java"
> > > > unless="attachments.present"/>
> > > > <exclude name="**/javax/xml/rpc/server/Servlet*.java"
> > > > unless="servlet.present"/>
> > > > <exclude name="**/*TestSuite.java" unless="junit.present"/>
> > > > </javac>
> > > > <copy file="${src.dir}/org/apache/axis/server/server-config.wsdd"
> > > > toDir="${build.dest}/org/apache/axis/server"/>
> > > > <copy file="${src.dir}/org/apache/axis/client/client-config.wsdd"
> > > > toDir="${build.dest}/org/apache/axis/client"/>
> > > > <copy file="${src.dir}/log4j.properties"
> > > > toDir="${build.dest}"/>
> > > > <copy file="${src.dir}/simplelog.properties"
> > > > toDir="${build.dest}"/>
> > > > <copy file="${src.dir}/org/apache/axis/utils/axisNLS.properties"
> > > > toDir="${build.dest}/org/apache/axis/utils"/>
> > > >
> > > > <tstamp>
> > > > <format property="build.time" pattern="MMM dd, yyyy (hh:mm:ss
> > z)"/>
> > > > </tstamp>
> > > > <replace
> > file="${build.dest}/org/apache/axis/utils/axisNLS.properties"
> > > >
> > > > token="#today#" value="${build.time}"/>
> > > > <replace
> > file="${build.dest}/org/apache/axis/utils/axisNLS.properties"
> > > >
> > > > token="#axisVersion#" value="${axis.version}"/>
> > > >
> > > > <jar jarfile="${build.lib}/${name}.jar" basedir="${build.dest}" >
> > > > <include name="org/**" />
> > > > <include name="log4j.properties"/>
> > > > <include name="simplelog.properties"/>
> > > > </jar>
> > > > <jar jarfile="${build.lib}/${jaxrpc}.jar" basedir="${build.dest}"
> > >
> > > > <include name="javax/**"/>
> > > > <exclude name="javax/xml/soap/**"/>
> > > > </jar>
> > > > <jar jarfile="${build.lib}/${saaj}.jar" basedir="${build.dest}" >
> > > > <include name="javax/xml/soap/**"/>
> > > > </jar>
> > > > <copy file="${wsdl4j.jar}" toDir="${build.lib}"/>
> > > > <copy file="${commons-logging.jar}" toDir="${build.lib}"/>
> > > > <copy file="${commons-discovery.jar}" toDir="${build.lib}"/>
> > > > <copy file="${log4j-core.jar}" toDir="${build.lib}"/>
> > > >
> > > > <!-- stub in my task generations -->
> > > > <ant antfile="buildPreTestTaskdefs.xml" />
> > > >
> > > > <!--  Build the new org.apache.axis.tools.ant stuff -->
> > > > <ant antfile="tools/build.xml" />
> > > > <ant antfile="tools/build.xml" target="test"/>
> > > >
> > > > <antcall target="post-compile"/>
> > > > </target>
> > > >
> > > > <!--
> > > >
> > ===================================================================
> > > > -->
> > > > <!-- Custom post-compilation step
> > > >    -->
> > > > <!--
> > > >
> > ===================================================================
> > > > -->
> > > > <target name="post-compile" if="post-compile.present">
> > > > <ant antfile="post-compile.xml"/>
> > > > </target>
> > > >
> > > > <!--
> > > >
> > ===================================================================
> > > > -->
> > > > <!-- Compiles the samples
> > > >    -->
> > > > <!--
> > > >
> > ===================================================================
> > > > -->
> > > > <target name="samples" depends="compile"
> > > > description="build the samples">
> > > >
> > > > <!-- The interop echo sample depends on the wsdl2java task -->
> > > > <javac srcdir="." destdir="${build.dest}"
> > > > debug="${debug}">
> > > > <classpath>
> > > > <pathelement location="${build.lib}/${name}.jar"/>
> > > > <pathelement location="${build.lib}/${jaxrpc}.jar"/>
> > > > <pathelement location="${build.lib}/${saaj}.jar"/>
> > > > <path refid="classpath"/>
> > > > </classpath>
> > > > <include name="test/wsdl/*.java" />
> > > > </javac>
> > > >
> > > > <taskdef name="wsdl2java"
> > > > classname="test.wsdl.Wsdl2javaAntTask">
> > > > <classpath refid="test-classpath" />
> > > > </taskdef>
> > > >
> > > > <!-- Create java files for the echo sample -->
> > > > <wsdl2java url="samples/echo/InteropTest.wsdl"
> > > > output="build/work"
> > > > deployscope="session"
> > > > serverSide="no"
> > > > noimports="no"
> > > > verbose="no"
> > > > typeMappingVersion="1.1"
> > > > testcase="no">
> > > > <mapping namespace="http://soapinterop.org/"
> > package="samples.echo"/>
> > > > <mapping namespace="http://soapinterop.org/xsd"
> > > > package="samples.echo"/>
> > > > </wsdl2java>
> > > >
> > > > <!-- Compile the echo sample generated java files -->
> > > > <javac srcdir="${build.dir}/work" destdir="${build.dest}"
> > > > debug="${debug}">
> > > > <classpath refid="test-classpath" />
> > > > <include name="samples/echo/**.java" />
> > > > </javac>
> > > >
> > > > <!-- AddressBook Sample -->
> > > > <wsdl2java url="samples/addr/AddressBook.wsdl"
> > > > output="build/work"
> > > > deployscope="session"
> > > > serverSide="yes"
> > > > skeletonDeploy="yes"
> > > > noimports="no"
> > > > verbose="no"
> > > > typeMappingVersion="1.1"
> > > > testcase="no">
> > > > <mapping namespace="urn:AddressFetcher2" package="samples.addr"/>
> > > > </wsdl2java>
> > > >
> > > > <!-- jaxrpc Dynamic proxy with bean - Bug 10824 -->
> > > > <wsdl2java url="samples/jaxrpc/address/Address.wsdl"
> > > > output="build/work"
> > > > serverSide="yes"
> > > > testcase="no">
> > > > </wsdl2java>
> > > >
> > > > <!-- Compile the echo sample generated java files -->
> > > > <javac srcdir="${build.dir}/work" destdir="${build.dest}"
> > > > debug="${debug}">
> > > > <classpath refid="test-classpath" />
> > > > <include name="samples/addr/**.java" />
> > > > <include name="samples/jaxrpc/address/**.java" />
> > > > </javac>
> > > >
> > > > <!-- Compile the sample code -->
> > > > <javac srcdir="." destdir="${build.dest}"
> > > > debug="${debug}">
> > > > <classpath>
> > > > <pathelement location="${build.lib}/${name}.jar"/>
> > > > <pathelement location="${build.lib}/${jaxrpc}.jar"/>
> > > > <pathelement location="${build.lib}/${saaj}.jar"/>
> > > > <path refid="classpath"/>
> > > > </classpath>
> > > > <include name="samples/**/*.java" />
> > > > <exclude name="samples/**/*SMTP*.java" unless="smtp.present" />
> > > > <exclude name="**/old/**/*.java" />
> > > > <exclude name="samples/userguide/example2/Calculator.java"/>
> > > > <exclude name="samples/addr/AddressBookTestCase.java" unless=
> > > > "junit.present"/>
> > > > <exclude name="samples/userguide/example6/Main.java" />
> > > > <exclude name="samples/userguide/example6/*Impl.java" />
> > > > <exclude name="samples/userguide/example6/*TestCase.java" />
> > > > <exclude name="samples/attachments/**/*.java"
> > > > unless="attachments.present" />
> > > > <exclude name="samples/security/**/*.java"
> > unless="security.present"/>
> > > > <exclude name="samples/jms/**/*.java" unless="jms.present"/>
> > > > </javac>
> > > > </target>
> > > >
> > > > <!--
> > > >
> > ===================================================================
> > > > -->
> > > > <!-- Compiles the JUnit testcases -->
> > > > <!--
> > > >
> > ===================================================================
> > > > -->
> > > >
> > > > <path id="test-classpath">
> > > > <pathelement location="${build.dest}" />
> > > > <path refid="classpath"/>
> > > > </path>
> > > >
> > > > <target name="buildTest" if="junit.present"
> > depends="compile,samples">
> > > > <echo message="junit package found ..."/>
> > > > <!-- Start by building the testcases -->
> > > > <javac srcdir="." destdir="${build.dest}"
> > > > debug="${debug}">
> > > > <classpath>
> > > > <pathelement location="${build.lib}/${name}.jar"/>
> > > > <pathelement location="${build.lib}/${jaxrpc}.jar"/>
> > > > <pathelement location="${build.lib}/${saaj}.jar"/>
> > > > <path refid="classpath"/>
> > > > </classpath>
> > > > <include name="test/**/*.java" />
> > > > <exclude name="test/lib/*.java"/>
> > > > <exclude name="test/inout/*.java" />
> > > > <exclude name="test/wsdl/*/*.java" />
> > > > <exclude name="test/wsdl/interop3/groupE/**/*.java" />
> > > > <exclude name="test/wsdl/interop3/**/*.java" />
> > > > <exclude name="test/wsdl/Wsdl2javaTestSuite.java"
> > > > unless="servlet.present"/>
> > > > <exclude name="test/md5attach/*.java"
> > unless="attachments.present"/>
> > > > <exclude name="test/functional/TestAttachmentsSample.java"
> > > > unless="attachments.present"/>
> > > > <exclude name="test/wsdl/attachments/*.java"
> > > > unless="jimiAndAttachments.present" />
> > > > <exclude name="test/httpunit/**/*.java"/>
> > > > </javac>
> > > > <copy file="test/wsdd/testStructure1.wsdd"
> > > > toDir="${build.dest}/test/wsdd"/>
> > > > </target>
> > > >
> > > > <!--
> > > >
> > ===================================================================
> > > > -->
> > > > <!-- Runs the JUnit package testcases -->
> > > > <!--
> > > >
> > ===================================================================
> > > > -->
> > > > <target name="junit" if="junit.present"
> > depends="samples,buildTest">
> > > > <mkdir dir="${test.functional.reportdir}" />
> > > > <junit printsummary="yes" haltonfailure="yes" fork="yes">
> > > > <classpath refid="test-classpath" />
> > > > <formatter type="xml" />
> > > > <batchtest todir="${test.functional.reportdir}">
> > > > <fileset dir="${build.dir}/classes">
> > > > <!-- Convention: each package that's being tested
> > > > has its own test class collecting all the tests -->
> > > > <include name="**/PackageTests.class" />
> > > > <!-- <include name="**/test/*TestSuite.class"/> -->
> > > > </fileset>
> > > > </batchtest>
> > > > </junit>
> > > > </target>
> > > >
> > > > <!--
> > > >
> > ===================================================================
> > > > -->
> > > > <!-- Functional tests, no dependencies (for no-build testing)
> > > >    -->
> > > > <!--
> > > >
> > ===================================================================
> > > > -->
> > > > <target name="functional-tests-only" depends="printEnv"
> > > > description="functional tests without a rebuild; the Axis Ant task
> > > > must be in ANT_HOME/lib"
> > > > >
> > > >
> > > > <!-- The Axis Ant task must be built (into ANT_HOME/lib)... -->
> > > > <ant antfile="test/build_functional_tests.xml"
> > > > target="functional-tests-only"/>
> > > >
> > > > <!--
> > > > ...and then the functional tests can be run.  If this step yields
> > a
> > > > "can't find class test.functional.ant.RunAxisFunctionalTestsTask",
> > > > verify that your Ant classpath contains ANT_HOME/lib.
> > > > -->
> > > >
> > > > </target>
> > > >
> > > > <target name="functional-tests-secure-only" depends="printEnv"
> > > > description="functional secure tests without a rebuild;"
> > > > >
> > > > <ant antfile="test/build_functional_tests.xml"
> > > > target="functional-tests-secure-only"/>
> > > > </target>
> > > >
> > > > <!--
> > > >
> > ===================================================================
> > > > -->
> > > > <!-- Functional tests, no server (for testing under debugger)
> > > >    -->
> > > > <!--
> > > >
> > ===================================================================
> > > > -->
> > > > <target name="functional-tests-noserver" depends="buildTest,
> > samples"
> > > > description="functional tests, no server">
> > > > <ant antfile="test/build_functional_tests.xml"
> > > > target="junit-functional-noserver">
> > > > <property name="test.functional.usefile"
> > > > value="${test.functional.usefile}"/>
> > > > </ant>
> > > >
> > > > </target>
> > > >
> > > > <!--
> > > >
> > ===================================================================
> > > > -->
> > > > <!-- Functional tests, with server
> > > >   -->
> > > > <!--
> > > >
> > ===================================================================
> > > > -->
> > > > <target name="functional-tests" depends="buildTest, samples"
> > > > description="functional tests">
> > > > <ant antfile="test/build_functional_tests.xml">
> > > > <property name="test.functional.usefile"
> > > > value="${test.functional.usefile}"/>
> > > > </ant>
> > > > </target>
> > > >
> > > > <!-- Security only tests, with full dependencies -->
> > > > <target name="secure-tests" depends="junit,
> > > > functional-tests-secure-only">
> > > > </target>
> > > >
> > > > <!-- All tests -->
> > > > <target name="all-tests" depends="junit, functional-tests">
> > > > </target>
> > > >
> > > > <!--
> > > >
> > ===================================================================
> > > > -->
> > > > <!-- Creates the API documentation
> > > >   -->
> > > > <!--
> > > >
> > ===================================================================
> > > > -->
> > > > <target name="javadocs" depends="printEnv"
> > > > unless="javadoc.notrequired"
> > > > description="create javadocs">
> > > >
> > > > <mkdir dir="${build.javadocs}"/>
> > > > <javadoc packagenames="${packages}"
> > > > sourcepath="${src.dir}"
> > > > classpathref="classpath"
> > > > destdir="${build.javadocs}"
> > > > author="true"
> > > > version="true"
> > > > use="true"
> > > > windowtitle="${Name} API"
> > > > doctitle="${Name}"
> > > > bottom="Copyright &#169; ${year} Apache XML Project. All Rights
> > > > Reserved."
> > > > />
> > > > </target>
> > > >
> > > > <!--
> > > >
> > ===================================================================
> > > > -->
> > > > <!-- Build/Test EVERYTHING from scratch!
> > > >   -->
> > > > <!--
> > > >
> > ===================================================================
> > > > -->
> > > > <target name="all" depends="dist, functional-tests"
> > > > description="do everything: distribution build and functional
> > tests"
> > > > />
> > > >
> > > > <!--
> > > >
> > ===================================================================
> > > > -->
> > > > <!-- Creates a war file for testing
> > > >    -->
> > > > <!--
> > > >
> > ===================================================================
> > > > -->
> > > > <target name="war" depends="compile, samples"
> > > > description="Create the web application" >
> > > > <mkdir dir="${build.webapp}"/>
> > > > <copy todir="${build.webapp}">
> > > > <fileset dir="${webapp}"/>
> > > > </copy>
> > > > <copy todir="${build.webapp}/WEB-INF/lib">
> > > > <fileset dir="${lib.dir}">
> > > > <include name="*.jar"/>
> > > > </fileset>
> > > > <fileset dir="${build.lib}">
> > > > <include name="*.jar"/>
> > > > </fileset>
> > > > </copy>
> > > > <copy todir="${build.webapp}/samples">
> > > > <fileset dir="./samples"/>
> > > > </copy>
> > > > <copy todir="${build.webapp}/WEB-INF/classes/samples">
> > > > <fileset dir="${build.samples}"/>
> > > > </copy>
> > > > <copy todir="${build.webapp}/WEB-INF">
> > > > <fileset dir="${samples.dir}/stock">
> > > > <include name="*.lst"/>
> > > > </fileset>
> > > > </copy>
> > > > <delete>
> > > > <fileset dir="${build.webapp}" includes="**/CVS"/>
> > > > </delete>
> > > > <jar jarfile="${build.dir}/${name}.war"
> > basedir="${build.webapp}"/>
> > > > </target>
> > > >
> > > > <!--
> > > >
> > ===================================================================
> > > > -->
> > > > <!-- Creates the binary distribution
> > > >   -->
> > > > <!--
> > > >
> > ===================================================================
> > > > -->
> > > > <target name="javadocsdist" depends="javadocs"
> > > > unless="javadoc.notrequired">
> > > > <mkdir dir="${dist.dir}/docs"/>
> > > > <mkdir dir="${dist.dir}/docs/apiDocs"/>
> > > > <copy todir="${dist.dir}/docs/apiDocs">
> > > > <fileset dir="${build.javadocs}"/>
> > > > </copy>
> > > > </target>
> > > >
> > > > <target name="dist" depends="compile, javadocsdist, samples,
> > junit"
> > > > description="create the full binary distribution">
> > > > <mkdir dir="${dist.dir}"/>
> > > > <mkdir dir="${dist.dir}/lib"/>
> > > > <mkdir dir="${dist.dir}/samples"/>
> > > > <mkdir dir="${dist.dir}/webapps/axis"/>
> > > >
> > > > <copy todir="${dist.dir}/lib">
> > > > <fileset dir="${build.lib}"/>
> > > > </copy>
> > > > <copy todir="${dist.dir}/samples">
> > > > <fileset dir="${build.samples}"/>
> > > > <fileset dir="./samples"/>
> > > > </copy>
> > > > <copy todir="${dist.dir}/docs">
> > > > <fileset dir="${docs.dir}"/>
> > > > </copy>
> > > > <copy todir="${dist.dir}/webapps/axis">
> > > > <fileset dir="${webapp}"/>
> > > > </copy>
> > > > <copy todir="${dist.dir}/webapps/axis/WEB-INF">
> > > > <fileset dir="${samples.dir}/stock">
> > > > <include name="*.lst"/>
> > > > </fileset>
> > > > </copy>
> > > > <copy todir="${dist.dir}/webapps/axis/WEB-INF/lib">
> > > > <fileset dir="${build.lib}">
> > > > <include name="*.jar"/>
> > > > </fileset>
> > > > </copy>
> > > > <copy todir="${dist.dir}/webapps/axis/WEB-INF/classes/samples">
> > > > <fileset dir="${build.samples}"/>
> > > > </copy>
> > > > <!--
> > > > <copy file="../LICENSE" tofile="${dist.dir}/LICENSE"/>
> > > > -->
> > > > <copy file="README" tofile="${dist.dir}/README"/>
> > > > <copy file="release-notes.html"
> > > > tofile="${dist.dir}/release-notes.html"/>
> > > > </target>
> > > >
> > > > <!--
> > > >
> > ===================================================================
> > > > -->
> > > > <!-- Creates the source distribution
> > > >   -->
> > > > <!--
> > > >
> > ===================================================================
> > > > -->
> > > > <target name="srcdist" depends="javadocs"
> > > > description="Create the source distribution">
> > > > <copy todir="${dist.dir}">
> > > > <fileset dir=".">
> > > > <include name="build.xml"/>
> > > > <include name="README"/>
> > > > <include name="docs/**"/>
> > > > <include name="lib/**"/>
> > > > <include name="samples/**"/>
> > > > <include name="src/**"/>
> > > > <include name="test/**"/>
> > > > <include name="webapps/**"/>
> > > >
> > > > <exclude name="**/CVS/**"/>
> > > > </fileset>
> > > > </copy>
> > > > <copy todir="${dist.dir}/docs/apiDocs">
> > > > <fileset dir="${build.javadocs}"/>
> > > > </copy>
> > > > <copy file="../LICENSE" tofile="${dist.dir}/LICENSE"/>
> > > > </target>
> > > >
> > > > <!--
> > > >
> > ===================================================================
> > > > -->
> > > > <!-- Interop 3
> > > >   -->
> > > > <!--
> > > >
> > ===================================================================
> > > > -->
> > > > <target name="interop3" depends="buildTest"
> > > > description="run the round3 interop tests">
> > > > <ant dir="test/wsdl/interop3/import1"/>
> > > > <ant dir="test/wsdl/interop3/import2"/>
> > > > <ant dir="test/wsdl/interop3/import3"/>
> > > > <ant dir="test/wsdl/interop3/compound1"/>
> > > > <ant dir="test/wsdl/interop3/compound2"/>
> > > > <ant dir="test/wsdl/interop3/docLit"/>
> > > > <ant dir="test/wsdl/interop3/docLitParam"/>
> > > > <ant dir="test/wsdl/interop3/rpcEnc"/>
> > > > </target>
> > > >
> > > > <!--
> > > >
> > ===================================================================
> > > > -->
> > > > <!-- Cleans everything
> > > >   -->
> > > > <!--
> > > >
> > ===================================================================
> > > > -->
> > > > <target name="clean"
> > > > description="clean up, build, dist and much of the axis servlet">
> > > > <delete dir="${build.dir}"/>
> > > > <delete dir="${dist.dir}"/>
> > > > <delete file="client-config.wsdd"/>
> > > > <delete file="server-config.wsdd"/>
> > > > <delete file="webapps/axis/WEB-INF/server-config.wsdd"/>
> > > > <delete>
> > > > <fileset dir="webapps/axis" includes="**/*.class" />
> > > > </delete>
> > > > <delete dir="test-reports"/>
> > > > <delete file="TEST-test.functional.FunctionalTests.txt"/>
> > > > </target>
> > > >
> > > > <!--
> > > >
> > ===================================================================
> > > > -->
> > > > <!-- Check the style of the Axis source
> > > >   -->
> > > > <!--
> > > >
> > ===================================================================
> > > > -->
> > > > <target name="checkstyle"
> > > > description="Check the style of the Axis source" >
> > > > <ant dir="." target="checkstyle"
> > > > antfile="xmls/checkstyle.xml"
> > > > inheritall="true"
> > > > inheritrefs="true"
> > > > >
> > > > <property name="checkstyle.project"
> > > > value="axis" />
> > > > <property name="checkstyle.src.dir"
> > > > location="${axis.home}/src" />
> > > > </ant>
> > > > </target>
> > > > </project>
> > > >
> > > > # Translation instructions.
> > > > # 1.  Each message line is of the form key=value.
> > > > #     Translate the value, DO NOT translate the key.
> > > > # 2.  The messages may contain arguments that will be filled in
> > > > #     by the runtime.  These are of the form: {0}, {1}, etc.
> > > > #     These must appear as is in the message, though the order
> > > > #     may be changed to support proper language syntax.
> > > > # 3.  If a single quote character is to appear in the resulting
> > > > #     message, it must appear in this file as two consecutive
> > > > #     single quote characters.
> > > > # 4.  Lines beginning with "#" (like this one) are comment lines
> > > > #     and may contain translation instructions.  They need not be
> > > > #     translated unless your translated file, rather than this
> > file,
> > > > #     will serve as a base for other translators.
> > > >
> > > > addAfterInvoke00={0}:  the chain has already been invoked
> > > > addBody00=Adding body element to message...
> > > > addHeader00=Adding header to message...
> > > > addTrailer00=Adding trailer to message...
> > > > adminServiceDeny=Denying service admin request from {0}
> > > > adminServiceLoad=Current load = {0}
> > > > adminServiceStart=Starting service in response to admin request
> > from
> > > > {0}
> > > > adminServiceStop=Stopping service in response to admin request
> > from
> > > > {0}
> > > > auth00=User ''{0}'' authenticated to server
> > > > auth01=User ''{0}'' authorized to ''{1}''
> > > >
> > > > # NOTE:  in axisService00, do not translate "AXIS"
> > > > axisService00=Hi there, this is an AXIS service!
> > > >
> > > > # NOTE:  in badArrayType00, do not translate "arrayTypeValue"
> > > > badArrayType00=Malformed arrayTypeValue ''{0}''
> > > >
> > > > # NOTE:  in badAuth00, do not translate ""Basic""
> > > > badAuth00=Bad authentication type (I can only handle "Basic").
> > > >
> > > > badBool00=Invalid boolean
> > > >
> > > > # NOTE:  in badCall00, do not translate "Call"
> > > > badCall00=Cannot update the Call object
> > > > badCall01=Failure trying to get the Call object
> > > > badCall02=Invocation of Call.getOutputParams failed
> > > >
> > > > badChars00=Unexpected characters
> > > > badChars01=Bad character or insufficient number of characters in
> > hex
> > > > string
> > > > badCompile00=Error while compiling:  {0}
> > > > badDate00=Invalid date
> > > > badDateTime00=Invalid date/time
> > > > badElem00=Invalid element in {0} - {1}
> > > > badHandlerClass00=Class ''{0}'' is not a Handler (can't be used in
> > > > HandlerProvider)!
> > > > badHolder00=Holder of wrong type.
> > > > badInteger00=Explicit array length is not a valid integer ''{0}''.
> > > >
> > > > # NOTE:  in badMsgCtx00, do not translate "--messageContext",
> > > > "--skeleton"
> > > > badMsgCtx00=Error: --messageContext switch only valid with
> > --skeleton
> > > >
> > > > badNameAttr00=No ''name'' attribute was specified in an
> > undeployment
> > > > element
> > > > badNamespace00=Bad envelope namespace:  {0}
> > > > badNameType00=Invalid Name
> > > > badNCNameType00=Invalid NCName
> > > > badNmtoken00=Invalid Nmtoken
> > > > badOffset00=Malformed offset attribute ''{0}''.
> > > > badpackage00=Error: --NStoPKG and --package switch can't be used
> > > > together
> > > > # NOTE:  in badParmMode00, do not translate "Parameter".
> > > > badParmMode00=Invalid Parameter mode {0}.
> > > > badPosition00=Malformed position attribute ''{0}''.
> > > > badProxy00=Proxy port number, "{0}", incorrectly formatted
> > > > badPort00=portName should not be null
> > > >
> > > > # NOTE:  in badRequest00, do not translate "GET", "POST"
> > > > badRequest00=Cannot handle non-GET, non-POST request
> > > >
> > > > # NOTE:  in badRootElem00, do not translate "clientdeploy",
> > "deploy",
> > > > "undeploy", "list", "passwd", "quit"
> > > > badRootElem00=Root element must be ''clientdeploy'', ''deploy'',
> > > > ''undeploy'', ''list'', ''passwd'', or ''quit''
> > > >
> > > > badScope00=Unrecognized scope:  {0}.  Ignoring it.
> > > > badTag00=Bad envelope tag:  {0}
> > > > badTime00=Invalid time
> > > > badTimezone00=Invalid timezone
> > > > badTypeNamespace00=Found languageSpecificType namespace ''{0}'',
> > > > expected ''{1}''
> > > > badUnsignedByte00=Invalid unsigned byte
> > > > badUnsignedShort00=Invalid unsigned short
> > > > badUnsignedInt00=Invalid unsigned int
> > > > badUnsignedLong00=Invalid unsigned long
> > > > badWSDDElem00=Invalid WSDD Element
> > > > beanSerConfigFail00=Exception configuring bean serialization for
> > {0}
> > > > bodyElementParent=Warning: SOAPBodyElement.setParentElement should
> > > > take a SOAPBody parameter instead of a SOAPEnvelope (but need not
> > be
> > > > called after SOAPBody.addBodyElement)
> > > > bodyElems00=There are {0} body elements.
> > > > bodyIs00=body is {0}
> > > > bodyPresent=Body already present
> > > > buildChain00={0} building chain ''{1}''
> > > > cantAuth00=User ''{0}'' not authenticated (unknown user)
> > > > cantAuth01=User ''{0}'' not authenticated
> > > > cantAuth02=User ''{0}'' not authorized to ''{1}''
> > > >
> > > > # NOTE:  in the cantConvertXX messages, do not translate "bytes",
> > > > "String", "bean", "int"
> > > > cantConvert00=Cannot convert {0} to bytes
> > > > cantConvert01=Cannot convert form {0} to String
> > > > cantConvert02=Could not convert {0} to bean field ''{1}'', type
> > {2}
> > > > cantConvert03=Could not convert value to int
> > > >
> > > > cantDoNullArray00=Cannot serialize null arrays just yet...
> > > >
> > > > # NOTE:  in cantDoURL00, do not translate "getURL", "URL"
> > > > cantDoURL00=getURL failed to correctly process URL; protocol not
> > > > supported
> > > >
> > > > cantHandle00={0} cannot handle structured data!
> > > >
> > > > # NOTE:  in cantInvoke00, do not translate "Call" or "URI"
> > > > cantInvoke00=Cannot invoke Call with null namespace URI for method
> > {0}
> > > >
> > > > cantResolve00=Cannot resolve chain
> > > >
> > > > # NOTE:  in cantSerialize00, do not translate "ArraySerializer"
> > > > cantSerialize00=Cannot serialize a {0} with the ArraySerializer!
> > > >
> > > > # NOTE:  in cantSerialize01, do not translate "Elements" and
> > > > "ElementSerializer"
> > > > cantSerialize01=Cannot serialize non-Elements with an
> > > > ElementSerializer!
> > > >
> > > > cantSerialize02=Cannot serialize a raw object
> > > > cantSetURI00=Cannot set location URI:  {0}
> > > > cantTunnel00=Unable to tunnel through {0}:{1}.  Proxy returns
> > "{2}"
> > > > changePwd00=Changing admin password
> > > > childPresent=MessageElement.setObjectValue called when a child
> > element
> > > > is present
> > > > compiling00=Compiling:  {0}
> > > > ctor00=Constructor
> > > > convert00=Trying to convert {0} to {1}
> > > > copy00=copy {0} {1}
> > > > couldntCall00=Could not get a call
> > > > couldntConstructProvider00=Service couldn't construct provider!
> > > >
> > > > # NOTE:  in createdHTTP entries, do not translate "HTTP"
> > > > createdHTTP00=Created an insecure HTTP connection
> > > > createdHTTP01=Created an insecure HTTP connection using proxy {0},
> > > > port {1}
> > > >
> > > > # NOTE:  in createdSSL00, do not translate "SSL"
> > > > createdSSL00=Created an SSL connection
> > > >
> > > > connectionClosed00=Connection closed.
> > > >
> > > > debugLevel00=Setting debug level to:  {0}
> > > >
> > > > # NOTE:  in defaultLogic00, do not translate "AxisServer"
> > > > defaultLogic00=Calling default logic in AxisServer
> > > >
> > > > deployChain00=Deploying chain:  {0}
> > > > deployHandler00=Deploying handler:  {0}
> > > > deployService00=Deploying service ''{0}'' into {1}
> > > > deployService01=Deploying service:  {0}
> > > > deployTransport00=Deploying transport:  {0}
> > > >
> > > > # NOTE:  in deserFact00, do not translate "DeserializerFactory"
> > > > deserFact00=DeserializerFactory class is {0}
> > > >
> > > > disabled00=functionality disabled.
> > > > dispatching00=Dispatching to a body namespace ''{0}''
> > > > doList00=Doing a list
> > > > done00=Done processing
> > > > doQuit00=Doing a quit
> > > >
> > > > dupConfigProvider00=Attempt to set configProvider for
> > > > already-configured Service!
> > > > duplicateFile00=Duplicate file name: {0}.  \nHint: you may have
> > mapped
> > > > two namespaces with elements of the same name to the same package
> > > > name.
> > > > duplicateClass00=Duplicate class name: {0}.  \nHint: you may have
> > > > mapped two namespaces with elements of the same name to the same
> > > > package name.
> > > >
> > > > elapsed00=Elapsed: {0} milliseconds
> > > >
> > > > # NOTE:  in emitFail00, do not translate "parameterOrder"
> > > > emitFail00=Emitter failure.  All input parts must be listed in the
> > > > parameterOrder attribute of {0}
> > > >
> > > > # NOTE:  in emitFail01, do not translate "portType", "binding"
> > > > emitFail01=Emitter failure.  Cannot find portType operation
> > parameters
> > > > for binding {0}
> > > >
> > > > # NOTE:  in emitFail02 and emitFail03, do not translate "port",
> > > > "service"
> > > > emitFail02=Emitter failure.  Cannot find endpoint address in port
> > {0}
> > > > in service {1}
> > > > emitFail03=Emitter failure.  Invalid endpoint address in port {0}
> > in
> > > > service {1}:  {2}
> > > >
> > > > # NOTE do not translate "binding", "port", "service", or
> > "portType"
> > > > emitFailNoBinding01=Emitter failure.  No binding found for port
> > {0}
> > > > emitFailNoBindingEntry01=Emitter failure. No binding entry found
> > for
> > > > {0}
> > > > emitFailNoPortType01=Emitter failure.  No portType entry found for
> > {0}
> > > > emitFailtUndefinedBinding01=Emitter failure.  There is an
> > undefined
> > > > binding ({0}) in the WSDL document.\nHint: make sure <port
> > > > binding=\"..\"> is fully qualified.
> > > > emitFailtUndefinedBinding02=Emitter failure.  There is an
> > undefined
> > > > binding ({0}) in the WSDL document {1}.\nHint: make sure <port
> > > > binding=\"..\"> is fully qualified.
> > > > emitFailtUndefinedMessage01=Emitter failure.  There is an
> > undefined
> > > > message ({0}) in the WSDL document.\nHint: make sure <input
> > > > message=\"..\"> and <output message=".."> are fully qualified.
> > > > emitFailtUndefinedPort01=Emitter failure.  There is an undefined
> > > > portType ({0}) in the WSDL document.\nHint: make sure <binding
> > > > type=\"..\"> is fully qualified.
> > > > emitFailtUndefinedPort02=Emitter failure.  There is an undefined
> > > > portType ({0}) in the WSDL document {1}.\nHint: make sure <binding
> > > > type=\"..\"> is fully qualified.
> > > >
> > > > emitter00=emitter
> > > > empty00=empty
> > > >
> > > > # NOTE:  in enableTransport00, do not translate "SOAPService"
> > > > enableTransport00=SOAPService({0}) enabling transport {1}
> > > >
> > > > end00=end
> > > > endDoc00=End document
> > > > endDoc01=Done with document
> > > > endElem00=End element {0}
> > > > endPrefix00=End prefix mapping ''{0}''
> > > > enter00=Enter:  {0}
> > > >
> > > > #NOTE:  in error00, do not translate "AXIS"
> > > > error00=AXIS error
> > > >
> > > > error01=Error:  {0}
> > > > errorInvoking00=Error invoking operation:  {0}
> > > > errorProcess00=Error processing ''{0}''
> > > > exit00=Exit:  {0}
> > > > exit01=Exit:  {0} no-argument constructor
> > > > exit02=Exit:  {0} - {1} is null
> > > > fault00=Fault occurred
> > > > fileExistError00=Error determining if {0} already exists.  Will
> > not
> > > > generate this file.
> > > > filename00=File name is:  {0}
> > > > filename01={0}:  request file name = ''{1}''
> > > > fromFile00=From file:  ''{0}'':''{1}''
> > > > from00=From {0}
> > > > genDeploy00=Generating deployment document
> > > > genDeployFail00=Failed to write deployment document
> > > > genFault00=Generating fault class
> > > > genHolder00=Generating type implementation holder
> > > >
> > > > # NOTE:  in genIFace00, do not translate "portType"
> > > > genIface00=Generating portType interface
> > > > genIface01=Generating server-side portType interface
> > > >
> > > > genImpl00=Generating server-side implementation template
> > > >
> > > > # NOTE:  in genService00, do not translate "service"
> > > > genService00=Generating service class
> > > >
> > > > genSkel00=Generating server-side skeleton
> > > > genStub00=Generating client-side stub
> > > > genTest00=Generating service test case
> > > > genType00=Generating type implementation
> > > > genHelper00=Generating helper implementation
> > > > genUndeploy00=Generating undeployment document
> > > > genUndeployFail00=Failed to write undeployment document
> > > > getProxy00=Use to get a proxy class for {0}
> > > > got00=Got {0}
> > > > gotForID00=Got {0} for ID {1} (class = {2})
> > > > gotPrincipal00=Got principal:  {0}
> > > > gotResponse00=Got response message
> > > > gotType00={0} got type {1}
> > > > gotValue00={0} got value {1}
> > > > handlerRegistryConfig=Service does not support configuration of a
> > > > HandlerRegistry
> > > > headers00=headers
> > > > headerPresent=Header already present
> > > >
> > > > # NOTE:  in httpPassword00, do not translate HTTP
> > > > httpPassword00=HTTP password:  {0}
> > > >
> > > > # NOTE:  in httpPassword00, do not translate HTTP
> > > > httpUser00=HTTP user id:  {0}
> > > >
> > > > inMsg00=In message: {0}
> > > > internalError00=Internal error
> > > > internalError01=Internal server error
> > > >
> > > > invalidConfigFilePath=Configuration file directory ''{0}'' is not
> > > > readable.
> > > >
> > > > invalidWSDD00=Invalid WSDD element ''{0}'' (wanted ''{1}'')
> > > >
> > > > # NOTE:  in invokeGet00, do no translate "GET"
> > > > invokeGet00=invoking via GET
> > > >
> > > > invokeRequest00=Invoking request chain
> > > > invokeResponse00=Invoking response chain
> > > > invokeService00=Invoking service/pivot
> > > > isNull00=is {0} null?  {1}
> > > >
> > > > lookup00=Looking up method {0} in class {1}
> > > > makeEnvFail00=Could not make envelope
> > > > match00={0} match:  host:  {1}, pattern:  {2}
> > > > mustBeIface00=Only interfaces may be used for the proxy class
> > argument
> > > > mustExtendRemote00=Only interfaces which extend java.rmi.Remote
> > may be
> > > > used for the proxy class argument
> > > > namesDontMatch00=Method names do not match\nBody method name =
> > > > {0}\nService method names = {1}
> > > > namesDontMatch01=Method names do not match\nBody name =
> > {0}\nService
> > > > name = {1}\nService nameList = {2}
> > > > needPwd00=Must specify a password!
> > > > needService00=No target service to authorize for!
> > > > needUser00=Need to specify a user for authorization!
> > > > never00={0}:  this should never happen!  {1}
> > > >
> > > > # NOTE:  in newElem00, do not translate "MessageElement"
> > > > newElem00=New MessageElement ({0}) named {1}
> > > >
> > > > no00=no {0}
> > > > noAdminAccess00=Remote administrator access is not allowed!
> > > > noArrayArray00=Arrays of arrays are not supported ''{0}''.
> > > >
> > > > # NOTE:  in noArrayType00, do no translate "arrayType"
> > > > noArrayType00=No arrayType attribute for array!
> > > >
> > > > # NOTE:  in noBeanHome00, do not translate "EJBProvider"
> > > > noBeanHome00=EJBProvider cannot get Bean Home
> > > >
> > > > # NOTE:  in noBody00, do not translate "Body"
> > > > noBody00=Body not found.
> > > >
> > > > noChains00=Services must use targeted chains
> > > > noClass00=Could not create class {0}
> > > >
> > > > # NOTE:  in noClassname00, do not translate "classname"
> > > > noClassname00=No classname attribute in type mapping
> > > >
> > > > noComponent00=No deserializer defined for array type {0}
> > > > noConfig00=No engine configuration file - aborting!
> > > >
> > > > # NOTE:  in noContext00, do not translate
> > > > "MessageElement.getValueAsType()"
> > > > noContext00=No deserialization context to use in
> > > > MessageElement.getValueAsType()!
> > > >
> > > > # NOTE:  in noContext01, do not translate "EJBProvider", "Context"
> > > > noContext01=EJBProvider cannot get Context
> > > >
> > > > # NOTE:  in noCustomElems00, do not translate "<body>"
> > > > noCustomElems00=No custom elements allowed at top level until
> > after
> > > > the <body> tag
> > > > noData00=No data
> > > > noDeploy00=Could not generate deployment list!
> > > > noDeser00=No deserializer for {0}
> > > >
> > > > # NOTE:  in noDeserFact00, do not translate "DeserializerFactory"
> > > > noDeserFact00=Could not load DeserializerFactory {0}
> > > >
> > > > noDeser01=Deserializing parameter ''{0}'':  could not find
> > > > deserializer for type {1}
> > > > noDoc00=Could not get DOM document: XML was "{0}"
> > > >
> > > > # NOTE:  in noEngine00, do not translate "AXIS"
> > > > noEngine00=Could not find AXIS engine!
> > > >
> > > > # NOTE:  in noEngineConfig00, do not translate "engineConfig"
> > > > noEngineConfig00=Wanted ''engineConfig'' element, got ''{0}''
> > > >
> > > > # NOTE:  in engineConfigWrongClass??, do not translate
> > > > "EngineConfiguration"
> > > > engineConfigWrongClass00=Expected instance of
> > ''EngineConfiguration''
> > > > in environment
> > > > engineConfigWrongClass01=Expected instance of ''{0}'' to be of
> > type
> > > > ''EngineConfiguration''
> > > >
> > > > # NOTE:  in engineConfigNoClass00, do not translate
> > > > "EngineConfiguration"
> > > > engineConfigNoClass00=''EngineConfiguration'' class not found:
> > ''{0}''
> > > >
> > > > engineConfigNoInstance00=''{0}'' class cannot be instantiated
> > > > engineConfigIllegalAccess00=Illegal access while instantiating
> > class
> > > > ''{0}''
> > > >
> > > > jndiNotFound00=JNDI InitialContext() returned null, default to
> > > > non-JNDI behavior (DefaultAxisServerFactory)
> > > >
> > > > # NOTE:  in servletContextWrongClass00, do not translate
> > > > "ServletContext"
> > > > servletContextWrongClass00=Expected instance of ''ServletContext''
> > in
> > > > environment
> > > >
> > > > noEngineWSDD=Engine configuration is not present or not WSDD!
> > > >
> > > > noHandler00=Cannot locate handler:  {0}
> > > >
> > > > # NOTE:  in noHandler01, do not translate "QName"
> > > > noHandler01=No handler for QName {0}
> > > >
> > > > noHandler02=Could not find registered handler ''{0}''
> > > >
> > > > noHandlerClass00=No HandlerProvider ''handlerClass'' option was
> > > > specified!
> > > >
> > > > noHandlersInChain00=No handlers in {0} ''{1}''
> > > >
> > > > noHeader00=no {0} header!
> > > >
> > > > # NOTE:  in noInstructions00, do not translate "SOAP"
> > > > noInstructions00=Processing instructions are not allowed within
> > SOAP
> > > > messages
> > > >
> > > > # NOTE:  in noJSSE00, do not translate "SSL", JSSE", "classpath"
> > > > noJSSE00=SSL feature disallowed:  JSSE files not installed or
> > present
> > > > in classpath
> > > >
> > > > noMap00={0}:  {1} is not a map
> > > >
> > > > noMatchingProvider00=No provider type matches QName ''{0}''
> > > >
> > > > noMethod00=Method not found\nMethod name = {0}\nService name = {1}
> > > > noMethod01=No method!
> > > > noMultiArray00=Multidimensional arrays are not supported ''{0}''.
> > > > noOperation00=No operation name specified!
> > > > noOperation01=Cannot find operation:  {0} - none defined
> > > > noOperation02=Cannot find operation:  {0}
> > > > noOption00=No ''{0}'' option was configured for the service
> > ''{1}''
> > > >
> > > > # NOTE:  in noParent00, do not translate "SOAPTypeMappingRegistry"
> > > > noParent00=no SOAPTypeMappingRegistry parent
> > > >
> > > > noPart00={0} not found as an input part OR an output part!
> > > > noPivot00=No pivot handler ''{0}'' found!
> > > > noPivot01=Can't deploy a Service with no provider (pivot)!
> > > >
> > > > # NOTE:  in noPort00, do not translate "port"
> > > > noPort00=Cannot find port:  {0}
> > > >
> > > > # NOTE:  in noPortType00, do not translate "portType"
> > > > noPortType00=Cannot find portType:  {0}
> > > >
> > > > noPrefix00={0} did not find prefix:  {1}
> > > > noPrincipal00=No principal!
> > > > noProviderAttr00=No provider specified for service ''{0}''
> > > > noProviderElem00=The required provider element is missing
> > > > noRecorder00=No event recorder inside element
> > > >
> > > > # NOTE:  in noRequest00, do not translate "MessageContext"
> > > > noRequest00=No request message in MessageContext?
> > > >
> > > > noRequest01=No request chain
> > > > noResponse00=No response chain
> > > > noResponse01=No response message!
> > > > noRoles00=No roles specified for target service, allowing.
> > > > noRoles01=No roles specified for target service, disallowing.
> > > > noSerializer00=No serializer found for class {0} in registry {1}
> > > > noSerializer01=Could not load serializer class {0}
> > > > noService00=Cannot find service:  {0}
> > > > noService01=No service has been defined
> > > > noService02=This service is not available at this endpoint ({0}).
> > > > noService03=No service/pivot
> > > > noService04=No service object defined for this Call object.
> > > >
> > > > #NOTE:  in noService04, do not translate "AXIS", "targetService"
> > > > noService05=The AXIS engine could not find a target service to
> > invoke!
> > > >  targetService is {0}
> > > >
> > > > noService06=No service is available at this URL
> > > >
> > > > # NOTE:  in noSecurity00, do not translate "MessageContext"
> > > > noSecurity00=No security provider in MessageContext!
> > > >
> > > > # NOTE:  in noSOAPAction00, do not translate "HTTP", "SOAPAction"
> > > > noSOAPAction00=No HTTP SOAPAction property in context
> > > >
> > > > noTransport00=No client transport named ''{0}'' found!
> > > > noTransport01=No transport mapping for protocol:  {0}
> > > > noType00=No mapped schema type for {0}
> > > >
> > > > # NOTE:  in noType01, do not translate "vector"
> > > > noType01=No type attribute for vector!
> > > >
> > > > noTypeAttr00=Must include type attribute for Handler deployment!
> > > >
> > > > noTypeQName00=No type QName for mapping!
> > > >
> > > > notAuth00=User ''{0}'' not authorized to ''{1}''
> > > > notImplemented00={0} is not implemented!
> > > >
> > > > noTypeOnGlobalConfig00=GlobalConfiguration does not allow the
> > ''type''
> > > > attribute!
> > > >
> > > > # NOTE:  in noUnderstand00, do not translate "MustUnderstand"
> > > > noUnderstand00=Did not understand "MustUnderstand" header(s)!
> > > >
> > > > # NOTE:  in noValue00, do not translate "value", "RPCParam"
> > > > noValue00=No value field for RPCParam to use?!? {0}
> > > >
> > > > # NOTE:  in noWSDL00, do not translate "WSDL"
> > > > noWSDL00=Could not generate WSDL!
> > > >
> > > > null00={0} is null
> > > >
> > > > # NOTE:  in nullCall00, do not translate "AdminClient" or
> > "''call''"
> > > > nullCall00=AdminClient did not initialize correctly: ''call'' is
> > null!
> > > >
> > > > # NOTE:  in nullEJBUser00, do not translate "EJBProvider"
> > > > nullEJBUser00=Null user in EJBProvider
> > > >
> > > > nullHandler00={0}:  Null handler;
> > > > nullNamespaceURI=Null namespace URI specified.
> > > > nullParent00=null parent!
> > > >
> > > > nullProvider00=Null provider type passed to WSDDProvider!
> > > >
> > > > nullResponse00=Null response message!
> > > > oddDigits00=Odd number of digits in hex string
> > > > ok00=OK
> > > >
> > > > # NOTE:  in the only1Body00, do not translate "Body"
> > > > only1Body00=Only one Body element allowed!
> > > >
> > > > # NOTE:  in the only1Header00, do not translate "Header"
> > > > only1Header00=Only one Header element allowed!
> > > >
> > > > optionAll00=generate code for all elements, even unreferenced ones
> > > > optionHelp00=print this message and exit
> > > >
> > > > # NOTE:  in optionImport00, do not translate "WSDL"
> > > > optionImport00=only generate code for the immediate WSDL document
> > > >
> > > > # NOTE:  in optionMsgCtx00, do not translate "MessageContext"
> > > > optionMsgCtx00=emit a MessageContext parameter to skeleton methods
> > > >
> > > > # NOTE:  in optionFileNStoPkg00, do not translate
> > "NStoPkg.properties"
> > > > optionFileNStoPkg00=file of NStoPkg mappings (default
> > > > NStoPkg.properties)
> > > >
> > > > # NOTE:  in optionNStoPkg00, do not translate "namespace",
> > "package"
> > > > optionNStoPkg00=mapping of namespace to package
> > > >
> > > > optionOutput00=output directory for emitted files
> > > > optionPackage00=override all namespace to package mappings, use
> > this
> > > > package name instead
> > > > optionTimeout00=timeout in seconds (default is 45, specify -1 to
> > > > disable)
> > > > options00=Options:
> > > >
> > > > # NOTE:  in optionScope00, do not translate "Application",
> > "Request",
> > > > "Session"
> > > > optionScope00=add scope to deploy.wsdd: "Application", "Request",
> > > > "Session"
> > > >
> > > > optionSkel00=emit server-side bindings for web service
> > > >
> > > > # NOTE:  in optionTest00, do not translate "junit"
> > > > optionTest00=emit junit testcase class for web service
> > > >
> > > > optionVerbose00=print informational messages
> > > >
> > > > outMsg00=Out message: {0}
> > > > params00=Parameters are:  {0}
> > > > parent00=parent
> > > >
> > > > # NOTE: in parmMismatch00, do not translate "IN/INOUT",
> > > > "addParameter()"
> > > > parmMismatch00=Number of parameters passed in ({0}) doesn''t match
> > the
> > > > number of IN/INOUT parameters ({1}) from the addParameter() calls
> > > >
> > > > # NOTE:  in parsing00, do not translate "XML"
> > > > parsing00=Parsing XML file:  {0}
> > > >
> > > > parseError00=Error in parsing:  {0}
> > > > password00=Password:  {0}
> > > > perhaps00=Perhaps there will be a form for invoking the service
> > > > here...
> > > > popHandler00=Popping handler {0}
> > > > process00=Processing ''{0}''
> > > > processFile00=Processing file {0}
> > > >
> > > > # NOTE:  in pushHandler00, we are pushing a handler onto a stack
> > > > pushHandler00=Pushing handler {0}
> > > > quit00={0} quitting.
> > > > quitRequest00=Administration service requested to quit, quitting.
> > > >
> > > > # NOTE:  in reachedServer00, do not translate "SimpleAxisServer"
> > > > reachedServer00=You have reached the SimpleAxisServer.
> > > > unableToStartServer00=Unable to bind to port {0}. Did not start
> > > > SimpleAxisServer.
> > > >
> > > > # NOTE:  in reachedServlet00, do not translate "AXIS HTTP
> > Servlet",
> > > > "URL", "SOAP"
> > > > reachedServlet00=Hi, you have reached the AXIS HTTP Servlet.
> >  Normally
> > > > you would be hitting this URL with a SOAP client rather than a
> > > > browser.
> > > >
> > > > readOnlyConfigFile=Configuration file read-only so engine
> > > > configuration changes will not be saved.
> > > >
> > > > register00=register ''{0}'' - ''{1}''
> > > > registerTypeMap00=Registering type mapping {0} -> {1}
> > > > registryAdd00=Registry {0} adding ''{1}'' ({2})
> > > > result00=Got result:  {0}
> > > > removeBody00=Removing body element from message...
> > > > removeHeader00=Removing header from message...
> > > > removeTrailer00=Removing trailer from message...
> > > > return00={0} returning new instance of {1}
> > > > return01=return code:  {0}\n{1}
> > > > return02={0} returned:  {1}
> > > > returnChain00={0} returning chain ''{1}''
> > > > saveConfigFail00=Could not write engine config!
> > > >
> > > > # NOTE:  in semanticCheck00, do not translate "SOAP"
> > > > semanticCheck00=Doing SOAP semantic checks...
> > > >
> > > > # NOTE:  in sendingXML00, do not translate "XML"
> > > > sendingXML00={0} sending XML:
> > > >
> > > > serializer00=Serializer class is {0}
> > > > serverDisabled00=This Axis server is not currently accepting
> > requests.
> > > >
> > > > # NOTE:  in serverFault00, do not translate "HTTP"
> > > > serverFault00=HTTP server fault
> > > >
> > > > serverRun00=Server is running
> > > > serverStop00=Server is stopped
> > > >
> > > > servletEngineWebInfError00=Problem with servlet engine /WEB-INF
> > > > directory
> > > > servletEngineWebInfError01=Problem with servlet engine config
> > file:
> > > > {0}
> > > >
> > > > setCurrMsg00=Setting current message form to: {0} (current message
> > is
> > > > now {1})
> > > > setProp00=Setting {0} property in {1}
> > > >
> > > > # NOTE:  in setupTunnel00, do not translate "SSL"
> > > > setupTunnel00=Set up SSL tunnelling through {0}:{1}
> > > >
> > > > setValueInTarget00=Set value {0} in target {1}
> > > > somethingWrong00=Sorry, something seems to have gone wrong... here
> > are
> > > > the details:
> > > > start00={0} starting up on port {1}.
> > > > startElem00=Start element {0}
> > > > startPrefix00=Start prefix mapping ''{0}'' -> ''{1}''
> > > > stackFrame00=Stack frame marker
> > > > test00=...
> > > > test01=.{0}.
> > > > test02={0}, {1}.
> > > > test03=.{2}, {0}, {1}.
> > > > test04=.{0} {1} {2} ... {3} {2} {4} {5}.
> > > > timeout00=Session id {0} timed out.
> > > > transport00=Transport is {0}
> > > > transport01={0}:  Transport = ''{1}''
> > > >
> > > > # NOTE:  in transportName00, do not translate "AXIS"
> > > > transportName00=In case you are interested, my AXIS transport name
> > > > appears to be ''{0}''
> > > >
> > > > tryingLoad00=Trying to load class:  {0}
> > > >
> > > > # NOTE:  in typeFromAttr00, do not translate "Type"
> > > > typeFromAttr00=Type from attributes is:  {0}
> > > >
> > > > # NOTE:  in typeFromParms00, do not translate "Type"
> > > > typeFromParms00=Type from default parameters is:  {0}
> > > >
> > > > # NOTE:  in typeNotSet00, do not translate "Part"
> > > > typeNotSet00=Type attribute on Part ''{0}'' is not set
> > > >
> > > > types00=Types:
> > > >
> > > > # NOTE:  in typeSetNotAllowed00, do not translate "Type"
> > > > typeSetNotAllowed00={0} disallows setting of Type
> > > > unauth00=Unauthorized
> > > > undeploy00=Undeploying {0}
> > > > unexpectedDesc00=Unexpected {0} descriptor
> > > > unexpectedEOS00=Unexpected end of stream
> > > > unexpectedUnknown00=Unexpected unknown element
> > > > unknownHost00=Unknown host - could not verify admininistrator
> > access
> > > > unknownType00=Unknown type:  {0}
> > > > unknownType01=Unknown type to {0}
> > > >
> > > > # NOTE: in unlikely00, do not translate "URL", "WSDL2Java"
> > > > unlikely00=unlikely as URL was validated in WSDL2Java
> > > >
> > > > unregistered00=Unregistered type:  {0}
> > > > usage00=Usage:  {0}
> > > > user00=User:  {0}
> > > > usingServer00={0} using server {1}
> > > > value00=value:  {0}
> > > > warning00=Warning: {0}
> > > > where00=Where {0} looks like:
> > > >
> > > > # NOTE:  in withParent00, do not translate
> > "SOAPTypeMappingRegistry"
> > > > withParent00=SOAPTypeMappingRegistry with parent
> > > > wsdlError00=Error processing WSDL document: {0} {1}
> > > >
> > > > # NOTE:  in wsdlGenLine00, do not translate "WSDL"
> > > > wsdlGenLine00=This file was auto-generated from WSDL
> > > >
> > > > # NOTE:  in wsdlGenLine01, do not translate "Apache Axis
> > WSDL2Java"
> > > > wsdlGenLine01=by the Apache Axis WSDL2Java emitter.
> > > >
> > > > wsdlMissing00=Missing WSDL document
> > > >
> > > > # NOTE:  in wsdlService00, do not translate "WSDL service"
> > > > wsdlService00=Services from {0} WSDL service
> > > >
> > > > # NOTE:  in xml entries, do not translate "XML"
> > > > xmlRecd00=XML received:
> > > > xmlSent00=XML sent:
> > > >
> > > > # NOTE:  in the deployXX entries, do not translate "<!--" and
> > "-->".
> > > >  These are comment indicators.  Adding or removing whitespace to
> > make
> > > > the comment indicators line up would be nice.  Also, do not
> > translate
> > > > the string "axis", or messages:  deploy03, deploy04, deploy07
> > > > deploy08.  Those messages are included so that the spaces can be
> > lined
> > > > up by the translator.
> > > > deploy00=<!-- Use this file to deploy some handlers/chains and
> > > > services      -->
> > > > deploy01=<!-- Use this file to undeploy some handlers/chains and
> > > > services    -->
> > > > deploy02=<!-- Two ways to do this:
> > > >       -->
> > > > deploy03=<!--   java org.apache.axis.client.AdminClient
> > deploy.wsdd
> > > >        -->
> > > > deploy04=<!--   java org.apache.axis.client.AdminClient
> > undeploy.wsdd
> > > >        -->
> > > > deploy05=<!--      after the axis server is running
> > > >        -->
> > > > deploy06=<!-- or
> > > >       -->
> > > > deploy07=<!--   java org.apache.axis.utils.Admin client|server
> > > > deploy.wsdd   -->
> > > > deploy08=<!--   java org.apache.axis.utils.Admin client|server
> > > > undeploy.wsdd -->
> > > > deploy09=<!--      from the same directory that the Axis engine
> > runs
> > > >       -->
> > > >
> > > > alreadyExists00={0} already exists
> > > > optionDebug00=print debug information
> > > > symbolTable00=Symbol Table
> > > > undefined00=Type {0} is referenced but not defined.
> > > >
> > > > #NOTE: in cannotFindJNDIHome00, do not translate "EJB" or "JNDI"
> > > > cannotFindJNDIHome00=Cannot find EJB at JNDI location {0}
> > > > cannotCreateInitialContext00=Cannot create InitialContext
> > > > undefinedloop00= The definition of {0} results in a loop.
> > > > deserInitPutValueDebug00=Initial put of deserialized value= {0}
> > for
> > > > id= {1}
> > > > deserPutValueDebug00=Put of deserialized value= {0} for id= {1}
> > > > j2wemitter00=emitter
> > > > j2wusage00=Usage: {0}
> > > > j2woptions00=Options:
> > > > j2wdetails00=Details:\n   portType element name= <--portTypeName
> > > > value> OR <class-of-portType name>\n   binding  element name=
> > > > <--bindingName value> OR <--servicePortName value>SoapBinding\n
> > > > service  element name= <--serviceElementName value> OR
> > <--portTypeName
> > > > value>Service \n   port     element name= <--servicePortName
> > value>\n
> > > >   address location     = <--location value>
> > > > j2wopthelp00=print this message and exit
> > > > j2woptoutput00=output WSDL filename
> > > > j2woptlocation00=service location url
> > > > j2woptportTypeName00=portType name (obtained from
> > class-of-portType if
> > > > not specified)
> > > > j2woptservicePortName00=service port name (obtained from
> > --location if
> > > > not specified)
> > > > j2woptserviceElementName00=service element name (defaults to
> > > > --servicePortName value + "Service")
> > > > j2woptnamespace00=target namespace
> > > > j2woptPkgtoNS00=package=namespace, name value pairs
> > > > j2woptmethods00=space or comma separated list of methods to export
> > > > j2woptall00=look for allowed methods in inherited class
> > > > j2woptoutputWsdlMode00=output WSDL mode: All, Interface,
> > > > Implementation
> > > > j2woptlocationImport00=location of interface wsdl
> > > > j2woptnamespaceImpl00=target namespace for implementation wsdl
> > > > j2woptoutputImpl00=output Implementation WSDL filename, setting
> > this
> > > > causes --outputWsdlMode to be ignored
> > > > j2woptfactory00=name of the Java2WSDLFactory class for extending
> > WSDL
> > > > generation functions
> > > > j2woptimplClass00=optional class that contains implementation of
> > > > methods in class-of-portType.  The debug information in the class
> > is
> > > > used to obtain the method parameter names, which are used to set
> > the
> > > > WSDL part names.
> > > > j2werror00=Error: {0}
> > > > j2wmodeerror=Error Unrecognized Mode: {0} Use All, Interface or
> > > > Implementation. Continuing with All.
> > > > j2woptexclude00=space or comma separated list of methods not to
> > export
> > > > j2woptstopClass00=space or comma separated list of class names
> > which
> > > > will stop inheritance search if --all switch is given
> > > >
> > > > # NOTE:  in optionSkeletonDeploy00, do not translate
> > "--server-side".
> > > > optionSkeletonDeploy00=deploy skeleton (true) or implementation
> > > > (false) in deploy.wsdd.  Default is false.  Assumes --server-side.
> > > >
> > > > j2wMissingLocation00=The -l <location> option must be specified if
> > the
> > > > full wsdl or the implementation wsdl is requested.
> > > > invalidSolResp00={0} is a solicit-response style operation and is
> > > > unsupported.
> > > > invalidNotif00={0} is a notification style operation and is
> > > > unsupported.
> > > >
> > > > multipleBindings00=Warning: Multiple bindings use the same
> > portType:
> > > > {0}.  Only one interface is currently generated, which may not be
> > what
> > > > you want.
> > > > triedArgs00={0} on object "{1}", method name "{2}", tried argument
> > > > types:  {3}
> > > > triedClass00=tried class:  {0}, method name:  {1}.
> > > >
> > > >
> > >
> > 
> 
#############################################################################
> > > > # DO NOT TOUCH THESE PROPERTIES - THEY ARE AUTOMATICALLY UPDATED
> > BY
> > > > THE BUILD
> > > > # PROCESS.
> > > > axisVersion=Apache Axis version: #axisVersion#
> > > > builtOn=Built on #today#
> > > >
> > >
> > 
> 
#############################################################################
> > > >
> > > > badProp00=Bad property.  The value for {0} should be of type {1},
> > but
> > > > it is of type {2}.
> > > > badProp01=Bad property.  {0} should be {1}; but it is {2}.
> > > > badProp02=Cannot set {0} property when {1} property is not {2}.
> > > > badProp03=Null property name specified.
> > > > badProp04=Null property value specified.
> > > > badProp05=Property name {0} not supported.
> > > > badGetter00=Null getter method specified.
> > > > badAccessor00=Null accessor method specified.
> > > > badSetter00=Null setter method specified.
> > > > badModifier00=Null modifier method specified.
> > > > badField00=Null public instance field specified.
> > > >
> > > > badJavaType=Null java class specified.
> > > > badXmlType=Null qualified name specified.
> > > > badSerFac=Null serializer factory specified.
> > > > badDeserFac=Null deserializer factory specified.
> > > >
> > > > literalTypePart00=Error: Message part {0} of operation or fault
> > {1} is
> > > > specified as a type and the soap:body use of binding "{2}" is
> > literal.
> > > >  This WSDL is not currently supported.
> > > > BadServiceName00=Error: Empty or missing service name
> > > > AttrNotSimpleType00=Bean attribute {0} is of type {1}, which is
> > not a
> > > > simple type
> > > > AttrNotSimpleType01=Error: attribute is of type {0}, which is not
> > a
> > > > simple type
> > > > NoSerializer00=Unable to find serializer for type {0}
> > > >
> > > > NoJAXRPCHandler00=Unable to create handler of type {0}
> > > >
> > > > optionTypeMapping00=indicate 1.1 or 1.2.  The default is 1.1 (SOAP
> > 1.1
> > > > JAX-RPC compliant.  1.2 indicates SOAP 1.1 encoded.)
> > > > badTypeMappingOption00=The -typeMappingVersion argument must be
> > 1.1 or
> > > > 1.2
> > > > j2wopttypeMapping00=indicate 1.1 or 1.2.  The default is 1.1 (SOAP
> > 1.1
> > > > JAX-RPC compliant  1.2 indicates SOAP 1.1 encoded.)
> > > > j2wBadTypeMapping00=The -typeMappingVersion argument must be 1.1
> > or
> > > > 1.2
> > > >
> > > > nodisk00=No disk access, using memory only.
> > > >
> > > > noFactory00=!! No Factory for {0}
> > > > noTransport02=Couldn't find transport {0}
> > > >
> > > > noCompiler00=No compiler found in your classpath!  (you may need
> > to
> > > > add 'tools.jar')
> > > > compilerFail00=Please ensure that you have your JDK's rt.jar
> > listed in
> > > > your classpath. Jikes needs it to operate.
> > > >
> > > > nullFieldDesc=Null FieldDesc specified
> > > > exception00=Exception:
> > > > exception01=Exception: {0}
> > > > axisConfigurationException00=ConfigurationException:
> > > > parserConfigurationException00=ParserConfigurationException:
> > > > SAXException00=SAXException:
> > > > javaNetUnknownHostException00=java.net.UnknownHostException:
> > > > javaxMailMessagingException00=javax.mail.MessagingException:
> > > > javaIOException00=java.io.IOException:
> > > > javaIOException01=java.io.IOException: {0}
> > > > illegalAccessException00=IllegalAccessException:
> > > > illegalArgumentException00=IllegalArgumentException:
> > > > illegalArgumentException01=IllegalArgumentException: {0}
> > > > invocationTargetException00=InvocationTargetException:
> > > > instantiationException00=InstantiationException:
> > > > malformedURLException00=MalformedURLException:
> > > > axisFault00=AxisFault:
> > > > axisFault01=AxisFault: {0}
> > > > toAxisFault00=Mapping Exception to AxisFault
> > > > toAxisFault01=Mapping Exception to AxisFault: {0}
> > > >
> > > > # NOTE:  in badSkeleton00, do not translate "--skeletonDeploy" and
> > > > "--server-side".
> > > > badSkeleton00=Error:  --skeletonDeploy cannot be specified without
> > > > --server-side.
> > > > badStyle=Bad string for style value - was ''{0}'', should be
> > ''rpc'',
> > > > ''document'', or ''wrapped''.
> > > > onlyOneMapping=Only a single <elementMapping> is allowed
> > per-operation
> > > > at present.
> > > >
> > > > timedOut=WSDL2Java emitter timed out (this often means the WSDL at
> > the
> > > > specified URL is inaccessible)!
> > > > valuePresent=MessageElement.addChild called when an object value
> > is
> > > > present
> > > > xmlPresent=MessageElement.setObjectValue called on an instance
> > which
> > > > was constructed using XML
> > > > attachEnabled=Attachment support is enabled?
> > > > noEndpoint=No endpoint
> > > > headerNotNull=Header may not be null!
> > > > headerNotEmpty=Header may not be empty!
> > > > headerValueNotNull=Header value may not be null!
> > > > setMsgForm=Setting current message form to: {0} (currentMessage is
> > now
> > > > {1})
> > > > exitCurrMsg=Exit:  {0}, current message is {1}
> > > > currForm=current form is {0}
> > > > unsupportedAttach=Unsupported attachment type "{0}" only
> > supporting
> > > > "{1}".
> > > >
> > > > # NOTE:  in onlySOAPParts, do not translate "SOAPPart".
> > > > onlySOAPParts=This attachment implementation accepts only SOAPPart
> > > > objects as the root part.
> > > >
> > > > gotNullPart=AttachmentUtils.getActiviationDataHandler received a
> > null
> > > > parameter as a part.
> > > > streamNo=New boundary stream number:  {0}
> > > > streamClosed=Stream closed.
> > > > eosBeforeMarker=End of stream encountered before final boundary
> > > > marker.
> > > > atEOS=Boundary stream number {0} is at end of stream
> > > > readBStream="Read {0} from BoundaryDelimitedStream:  {1} "{2}"
> > > > bStreamClosed=Boundary stream number {0} is closed
> > > >
> > > > # NOTE:  in badMaxCache, do not translate "maxCached".
> > > > badMaxCached=maxCached value is bad:  {0}
> > > >
> > > > maxCached=ManagedMemoryDataSource.flushToDisk maximum cached {0},
> > > > total memory {1}.
> > > > diskCache=Disk cache file name "{0}".
> > > > resourceDeleted=Resource has been deleted.
> > > > noResetMark=Reset and mark not supported!
> > > > nullInput=input buffer is null
> > > > negOffset=Offset is negative:  {0}
> > > > length=Length:  {0}
> > > > writeBeyond=Write beyond buffer
> > > > reading=reading {0} bytes from disk
> > > >
> > > > # NOTE: do not translate openBread
> > > > openBread=open bread = {0}
> > > >
> > > > flushing=flushing
> > > > read=read {0} bytes
> > > > readError=Error reading data stream:  {0}
> > > > noFile=File for data handler does not exist:  {0}
> > > > mimeErrorNoBoundary=Error in MIME data stream, start boundary not
> > > > found, expected:  {0}
> > > > mimeErrorParsing=Error in parsing mime data stream:  {0}
> > > > noRoot=Root part containing SOAP envelope not found.  contentId =
> > {0}
> > > > noAttachments=No support for attachments
> > > > noContent=No content
> > > > targetService=Target service:  {0}
> > > > exceptionPrinting=Exception caught while printing request message
> > > > noConfigFile=No engine configuration file - aborting!
> > > > noTypeSetting={0} disallows setting of Type
> > > > noSubElements=The element "{0}" is an attachment with sub elements
> > > > which is not supported.
> > > >
> > > > # NOTE:  in defaultCompiler, do not translate "javac"
> > > > defaultCompiler=Using default javac compiler
> > > > noModernCompiler=Javac connector could not find modern compiler --
> > > > falling back to classic.
> > > > compilerClass=Javac compiler class:  {0}
> > > > noMoreTokens=no more tokens - could not parse error message:  {0}
> > > > cantParse=could not parse error message:  {0}
> > > >
> > > > noParmAndRetReq=Parameter or return type inferred from WSDL and
> > may
> > > > not be updated.
> > > >
> > > > # NOTE:  in sunJavac, do not translate "Sun Javac"
> > > > sunJavac=Sun Javac Compiler
> > > >
> > > > # NOTE:  in ibmJikes, do not translate "IBM Jikes"
> > > > ibmJikes=IBM Jikes Compiler
> > > >
> > > > typeMeta=Type metadata
> > > > returnTypeMeta=Return type metadata object
> > > > needStringCtor=Simple Types must have a String constructor
> > > > needToString=Simple Types must have a toString for serializing the
> > > > value
> > > > typeMap00=All the type mapping information is registered
> > > > typeMap01=when the first call is made.
> > > > typeMap02=The type mapping information is actually registered in
> > > > typeMap03=the TypeMappingRegistry of the service, which
> > > > typeMap04=is the reason why registration is only needed for the
> > first
> > > > call.
> > > > mustSetStyle=must set encoding style before registering
> > serializers
> > > >
> > > > # NOTE:  in mustSpecifyReturnType and mustSpecifyParms, do not
> > > > translate "addParameter()" and "setReturnType()"
> > > > mustSpecifyReturnType=No returnType was specified to the Call
> > object!
> > > >  You must call setReturnType() if you have called addParameter().
> > > > mustSpecifyParms=No parameters specified to the Call object!  You
> > must
> > > > call addParameter() for all parameters if you have called
> > > > setReturnType().
> > > > noElemOrType=Error: Message part {0} of operation {1} should have
> > > > either an element or a type attribute
> > > > badTypeNode=Error: Missing type resolution for element {2}, in
> > WSDL
> > > > message part {0} of operation {1}
> > > >
> > > > # NOTE:  in noUse, do no translate "soap:operation", "binding
> > > > operation", "use".
> > > > noUse=The soap:operation for binding operation {0} must have a
> > "use"
> > > > attribute.
> > > >
> > > > fixedTypeMapping=Default type mapping cannot be modified.
> > > > delegatedTypeMapping=Type mapping cannot be modified via delegate.
> > > > badTypeMapping=Invalid TypeMapping specified: wrong type or null.
> > > > defaultTypeMappingSet=Default type mapping from secondary type
> > mapping
> > > > registry is already in use.
> > > > getPortDoc00=For the given interface, get the stub implementation.
> > > > getPortDoc01=If this service has no port for the given interface,
> > > > getPortDoc02=then ServiceException is thrown.
> > > > getPortDoc03=This service has multiple ports for a given
> > interface;
> > > > getPortDoc04=the proxy implementation returned may be
> > indeterminate.
> > > > noStub=There is no stub implementation for the interface:
> > > > CantGetSerializer=unable to get serializer for class {0}
> > > >
> > > > noVector00={0}:  {1} is not a vector
> > > >
> > > > optionFactory00=name of the JavaWriterFactory class for extending
> > Java
> > > > generation functions
> > > > optionHelper00=emits separate Helper classes for meta data
> > > >
> > > > badParameterMode=Invalid parameter mode byte ({0}) passed to
> > > > getModeAsString().
> > > >
> > > > attach.bounday.mns=Marking streams not supported.
> > > > noSuchOperation=No such operation ''{0}''
> > > >
> > > > optionUsername=username to access the WSDL-URI
> > > > optionPassword=password to access the WSDL-URI
> > > > cantGetDoc00=Unable to retrieve WSDL document: {0}
> > > > implAlreadySet=Attempt to set implementation class on a
> > ServiceDesc
> > > > which has already been configured
> > > >
> > > > cantCreateBean00=Unable to create JavaBean of type {0}.  Missing
> > > > default constructor?  Error was: {1}.
> > > > faultDuringCleanup=AxisEngine faulted during cleanup!
> > > >
> > > > j2woptsoapAction00=value of the operation's soapAction field.
> > Values
> > > > are DEFAULT, OPERATION or NONE. OPERATION forces soapAction to the
> > > > name of the operation.  DEFAULT causes the soapAction to be set
> > > > according to the operation's meta data (usually "").  NONE forces
> > the
> > > > soapAction to "".  The default is DEFAULT.
> > > > j2wBadSoapAction00=The value of --soapAction must be DEFAULT, NONE
> > or
> > > > OPERATION.
> > > > dispatchIAE00=Tried to invoke method {0} with arguments {1}.  The
> > > > arguments do not match the signature.
> > > >
> > > > ftsf00=Creating trusting socket factory
> > > > ftsf01=Exception creating factory
> > > > ftsf02=SSL setup failed
> > > > ftsf03=isClientTrusted: yes
> > > > ftsf04=isServerTrusted: yes
> > > > ftsf05=getAcceptedIssuers: none
> > > >
> > > > generating=Generating {0}
> > > >
> > > > j2woptStyle00=The style of binding in the WSDL.  Values are
> > DOCUMENT
> > > > or LITERAL.
> > > > j2woptBadStyle00=The value of --style must be DOCUMENT or LITERAL.
> > > >
> > > > noClassForService00=Could not find class for the service named:
> > > > {0}\nHint: you may need to copy your class files/tree into the
> > right
> > > > location (which depends on the servlet system you are using).
> > > > j2wDuplicateClass00=The <class-of-portType> has already been
> > specified
> > > > as, {0}.  It cannot be specified again as {1}.
> > > > j2wMissingClass00=The <class-of-portType> was not specified.
> > > > w2jDuplicateWSDLURI00=The wsdl URI has already been specified as,
> > {0}.
> > > >  It cannot be specified again as {1}.
> > > > w2jMissingWSDLURI00=The wsdl URI was not specified.
> > > >
> > > > badEnum02=Unrecognized {0}: ''{1}''
> > > > badEnum03=Unrecognized {0}: ''{1}'', defaulting to ''{2}''
> > > > beanCompatType00=The class {0} is not a bean class and cannot be
> > > > converted into an xml schema type.  An xml schema anyType will be
> > used
> > > > to define this class in the wsdl file.
> > > > beanCompatPkg00=The class {0} is defined in a java or javax
> > package
> > > > and cannot be converted into an xml schema type.  An xml schema
> > > > anyType will be used to define this class in the wsdl file.
> > > > beanCompatConstructor00=The class {0} does not contain a default
> > > > constructor, which is a requirement for a bean class.  The class
> > > > cannot be converted into an xml schema type.  An xml schema
> > anyType
> > > > will be used to define this class in the wsdl file.
> > > >
> > > > unsupportedSchemaType00=The XML Schema type ''{0}'' is not
> > currently
> > > > supported.
> > > > optionNoWrap00=turn off support for "wrapped" document/literal
> > > > noTypeOrElement00=Error: Message part {0} of operation or fault
> > {1}
> > > > has no element or type attribute.
> > > >
> > > > msgContentLengthHTTPerr=Message content length {0} exceeds servlet
> > > > return capacity.
> > > > badattachmenttypeerr=The value of {0} for attachment format must
> > be
> > > > {1};
> > > > attach.dimetypeexceedsmax=DIME Type length is {0} which exceeds
> > > > maximum {0}
> > > > attach.dimelengthexceedsmax=DIME ID length is {0} which exceeds
> > > > maximum {1}.
> > > > attach.dimeMaxChunkSize0=Max chunk size \"{0}\" needs to be
> > greater
> > > > than one.
> > > > attach.dimeMaxChunkSize1=Max chunk size \"{0}\" exceeds 32 bits.
> > > > attach.dimeReadFullyError=Each DIME Stream must be read fully or
> > > > closed in succession.
> > > > attach.dimeNotPaddedCorrectly=DIME stream data not padded
> > correctly.
> > > > attach.readLengthError=Received \"{0}\" bytes to read.
> > > > attach.readOffsetError=Received \"{0}\" as an offset.
> > > > attach.readArrayNullError=Array to read is null
> > > > attach.readArrayNullError=Array to read is null
> > > > attach.readArraySizeError=Array size of {0} to read {1} at offset
> > {2}
> > > > is too small.
> > > > attach.DimeStreamError0=End of physical stream detected when more
> > DIME
> > > > chunks expected.
> > > > attach.DimeStreamError1=End of physical stream detected when {0}
> > more
> > > > bytes expected.
> > > > attach.DimeStreamError2=There are no more DIME chunks expected!
> > > > attach.DimeStreamError3=DIME header less than {0} bytes.
> > > > attach.DimeStreamError4=DIME version received \"{0}\" greater than
> > > > current supported version \"{1}\".
> > > > attach.DimeStreamError5=DIME option length \"{0}\" is greater
> > stream
> > > > length.
> > > > attach.DimeStreamError6=DIME typelength length \"{0}\" is greater
> > > > stream length.
> > > > attach.DimeStreamError7=DIME stream closed during options padding.
> > > > attach.DimeStreamError8=DIME stream closed getting ID length.
> > > > attach.DimeStreamError9=DIME stream closed getting ID padding.
> > > > attach.DimeStreamError10=DIME stream closed getting type.
> > > > attach.DimeStreamError11=DIME stream closed getting type padding.
> > > > attach.DimeStreamBadType=DIME stream received bad type \"{0}\".
> > > >
> > > > badOutParameter00=A holder could not be found or constructed for
> > the
> > > > OUT parameter {0} of method {1}.
> > > > setJavaTypeErr00=Illegal argument passed to
> > ParameterDesc.setJavaType.
> > > >  The java type {0} does not match the mode {1}
> > > > badNormalizedString00=Invalid normalizedString value
> > > > badToken00=Invalid token value
> > > > badPropertyDesc00=Internal Error occurred while build the property
> > > > descriptors for {0}
> > > > j2woptinput00=input WSDL filename
> > > > j2woptbindingName00=binding name (--servicePortName value +
> > > > "SOAPBinding" if not specified)
> > > > writeSchemaProblem00=Problems encountered trying to write schema
> > for
> > > > {0}
> > > > badClassFile00=Error looking for paramter names in bytecode: input
> > > > does not appear to be a valid class file
> > > > unexpectedEOF00=Error looking for paramter names in bytecode:
> > > > unexpected end of file
> > > > unexpectedBytes00=Error looking for paramter names in bytecode:
> > > > unexpected bytes in file
> > > > beanCompatExtends00=The class {0} extends non-bean class {1}.  An
> > xml
> > > > schema anyType will be used to define {0} in the wsdl file.
> > > > wrongNamespace00=The XML Schema type ''{0}'' is not valid in the
> > > > Schema version ''{1}''.
> > > >
> > > > onlyOneBodyFor12=Only one body allowed for SOAP 1.2 RPC
> > > > differentTypes00=Error: The input and output parameter have the
> > same
> > > > name, ''{0}'', but are defined with type ''{1}'' and also with
> > type
> > > > ''{2}''.
> > > >
> > > > badMsgMethodParam=Message service must take either a single Vector
> > or
> > > > a Document - method {0} takes a single {1}
> > > > msgMethodMustHaveOneParam=Message service methods must take a
> > single
> > > > parameter.  Method {0} takes {1}
> > > > needMessageContextArg=Full-message message service must take a
> > single
> > > > MessageContext argument.  Method {0} takes a single {1}
> > > > onlyOneMessageOp=Message services may only have one operation -
> > > > service ''{0}'' has {1}
> > > >
> > > > # NOTE:  in wontOverwrite, do no translate "WSDL2Java".
> > > > wontOverwrite={0} already exists, WSDL2Java will not overwrite it.
> > > >
> > > > badYearMonth00=Invalid gYearMonth
> > > > badYear00=Invalid gYear
> > > > badMonth00=Invalid gMonth
> > > > badDay00=Invalid gDay
> > > > badMonthDay00=Invalid gMonthDay
> > > > badDuration=Invalid duration: must contain a P
> > > >
> > > > # NOTE:  in noDataHandler, do not translate DataHandler.
> > > > noDataHandler=Could not create a DataHandler for {0}, returning
> > {1}
> > > > instead.
> > > > needSimpleValueSer=Serializer class {0} does not implement
> > > > SimpleValueSerializer, which is necessary for attributes.
> > > >
> > > > # NOTE:  in needImageIO, do not translate "JIMI",
> > "java.awt.Image",
> > > > "http://java.sun.com/products/jimi/"
> > > > needImageIO=JIMI is necessary to use java.awt.Image attachments
> > > > (http://java.sun.com/products/jimi/).
> > > >
> > > > imageEnabled=Image attachment support is enabled?
> > > >
> > > > wsddServiceName00=The WSDD service name defaults to the port name.
> > > >
> > > > badSource=javax.xml.transform.Source implementation not supported:
> > > >  {0}.
> > > > rpcProviderOperAssert00=The OperationDesc for {0} was not found in
> > the
> > > > ServiceDesc.
> > > > serviceDescOperSync00=The OperationDesc for {0} was not
> > syncronized to
> > > > a method of {1}.
> > > >
> > > > noServiceClass=No service class was found!  Are you missing a
> > > > className option?
> > > > jpegOnly=Cannot handle {0}, can only handle JPEG image types.
> > > >
> > > > engineFactory=Got EngineFactory: {0}
> > > > engineConfigMissingNewFactory=Factory {0} Ignored: missing
> > required
> > > > method: {1}.
> > > > engineConfigInvokeNewFactory=Factory {0} Ignored: invoke method
> > > > failed: {1}.
> > > > engineConfigFactoryMissing=Unable to locate a valid
> > > > EngineConfigurationFactory
> > > >
> > > > noClassNameAttr00=classname attribute is missing.
> > > > noValidHeader=qname attribute is missing.
> > > >
> > > > cannotConnectError=Error: Cannot connect
> > > >
> > > > <!--
> > > >
> > ===================================================================
> > > > This is an accessory function to echo out fileNames
> > > >
> > ===================================================================
> > > > -->
> > > > <target name="echo-file">
> > > > <basename property="fileName" file="${file}"/>
> > > > <dirname property="dirName" file="${file}"/>
> > > > <echo message="Dir: ${dirName} File: ${fileName}"/>
> > > > </target>
> > > >
> > > > <!--
> > > >
> > ===================================================================
> > > > This is an accessory function to compile some given component
> > > >
> > ===================================================================
> > > > -->
> > > > <target name="component-compile">
> > > > <echo message="${file}"/>
> > > > <ant antfile="${file}" target="compile"/>
> > > > </target>
> > > >
> > > > <!--
> > > >
> > ===================================================================
> > > > This is an accessory function to exec JUST the testcase of a
> > > > component.
> > > >
> > ===================================================================
> > > > -->
> > > > <target name="batch-component-test">
> > > > <antcall target="echo-file"/>
> > > > <ant antfile="${file}" target="component-junit-functional" />
> > > > </target>
> > > >
> > > > <!--
> > > >
> > ===================================================================
> > > > This is an accessory function to execs the full component test
> > > >
> > ===================================================================
> > > > -->
> > > > <target name="batch-component-run">
> > > > <antcall target="echo-file"/>
> > > > <ant antfile="${file}" target="run" />
> > > > </target>
> > > >
> > > > <!--
> > > >
> > ===================================================================
> > > > -->
> > > > <!-- Determine what dependencies are present
> > > >   -->
> > > > <!--
> > > >
> > ===================================================================
> > > > -->
> > > >
> > > > <target name="setenv">
> > > >
> > > > <condition property="ant.good">
> > > > <and>
> > > > <contains string="${ant.version}" substring="Apache Ant version"/>
> > > > </and>
> > > > </condition>
> > > >
> > > > <mkdir dir="${build.dir}"/>
> > > > <mkdir dir="${build.dest}"/>
> > > > <mkdir dir="${build.lib}"/>
> > > > <mkdir dir="${build.dir}/work"/>
> > > >
> > > > <available property="servlet.present"
> > > > classname="javax.servlet.Servlet"
> > > > classpathref="classpath"/>
> > > >
> > > > <available property="regexp.present"
> > > > classname="org.apache.oro.text.regex.Pattern"
> > > > classpathref="classpath"/>
> > > >
> > > > <available property="junit.present"
> > > > classname="junit.framework.TestCase"
> > > > classpathref="classpath"/>
> > > >
> > > > <available property="wsdl4j.present"
> > > > classname="javax.wsdl.Definition"
> > > > classpathref="classpath"/>
> > > >
> > > > <available property="commons-logging.present"
> > > > classname="org.apache.commons.logging.Log"
> > > > classpathref="classpath"/>
> > > >
> > > > <available property="commons-discovery.present"
> > > > classname="org.apache.commons.discovery.DiscoverSingleton"
> > > > classpathref="classpath"/>
> > > >
> > > > <available property="commons-httpclient.present"
> > > > classname="org.apache.commons.httpclient.HttpConnection"
> > > > classpathref="classpath"/>
> > > >
> > > > <available property="log4j.present"
> > > > classname="org.apache.log4j.Category"
> > > > classpathref="classpath"/>
> > > >
> > > > <available property="activation.present"
> > > > classname="javax.activation.DataHandler"
> > > > classpathref="classpath"/>
> > > >
> > > > <available property="security.present"
> > > > classname="org.apache.xml.security.Init"
> > > > classpathref="classpath"/>
> > > >
> > > > <available property="mailapi.present"
> > > > classname="javax.mail.internet.MimeMessage"
> > > > classpathref="classpath"/>
> > > >
> > > > <condition property="jsse.present" >
> > > > <and>
> > > > <available classname="com.sun.net.ssl.X509TrustManager"
> > > > classpathref="classpath" />
> > > > <available classname="javax.net.SocketFactory"
> > > > classpathref="classpath" />
> > > > </and>
> > > > </condition>
> > > >
> > > > <condition property="attachments.present" >
> > > > <and>
> > > > <available classname="javax.activation.DataHandler"
> > > > classpathref="classpath" />
> > > > <available classname="javax.mail.internet.MimeMessage"
> > > > classpathref="classpath" />
> > > > </and>
> > > > </condition>
> > > >
> > > > <condition property="jimi.present" >
> > > > <available classname="com.sun.jimi.core.Jimi"
> > classpathref="classpath"
> > > > />
> > > > </condition>
> > > >
> > > > <condition property="merlinio.present" >
> > > > <available classname="javax.imageio.ImageIO"
> > classpathref="classpath"
> > > > />
> > > > </condition>
> > > >
> > > > <condition property="axis-ant.present" >
> > > > <available classname="tools.ant.foreach.ForeachTask"
> > > > classpathref="classpath" />
> > > > </condition>
> > > >
> > > > <condition property="jimiAndAttachments.present">
> > > > <and>
> > > > <available classname="javax.activation.DataHandler"
> > > > classpathref="classpath" />
> > > > <available classname="javax.mail.internet.MimeMessage"
> > > > classpathref="classpath" />
> > > > <available classname="com.sun.jimi.core.Jimi"
> > classpathref="classpath"
> > > > />
> > > > </and>
> > > > </condition>
> > > >
> > > > <condition property="jms.present" >
> > > > <available classname="javax.jms.Message" classpathref="classpath"
> > />
> > > > </condition>
> > > >
> > > > <available property="post-compile.present" file="post-compile.xml"
> > />
> > > >
> > > > <property environment="env"/>
> > > > <condition property="debug" value="on">
> > > > <and>
> > > > <equals arg1="on" arg2="${env.debug}"/>
> > > > </and>
> > > > </condition>
> > > >
> > > > </target>
> > > >
> > > > <target name="printEnv" depends="setenv" >
> > > >
> > > > <echo
> > > >
> > >
> > 
> 
message="-----------------------------------------------------------------"/>
> > > > <echo message="       Build environment for ${Name}
> > ${axis.version}
> > > > [${year}]   "/>
> > > > <echo
> > > >
> > >
> > 
> 
message="-----------------------------------------------------------------"/>
> > > > <echo message="Building with ${ant.version}"/>
> > > > <echo message="using build file ${ant.file}"/>
> > > > <echo message="Java ${java.version} located at ${java.home} "/>
> > > > <echo
> > > >
> > >
> > 
> 
message="-----------------------------------------------------------------"/>
> > > >
> > > > <echo message="--- Flags (Note: If the {property name} is
> > displayed,
> > > > "/>
> > > > <echo message="           then the component is not present)" />
> > > > <echo message=""/>
> > > >
> > > > <echo message="build.dir = ${build.dir}"/>
> > > > <echo message="build.dest = ${build.dest}"/>
> > > > <echo message=""/>
> > > > <echo message="=== Required Libraries ===" />
> > > > <echo message="wsdl4j.present=${wsdl4j.present}" />
> > > > <echo message="commons-logging.present=${commons-logging.present}"
> > />
> > > > <echo
> > message="commons-discovery.present=${commons-discovery.present}"
> > > > />
> > > > <echo message="log4j.present=${log4j.present}" />
> > > > <echo message="activation.present=${activation.present}" />
> > > > <echo message=""/>
> > > > <echo message="--- Optional Libraries ---" />
> > > > <echo message="servlet.present=${servlet.present}" />
> > > > <echo message="regexp.present=${regexp.present}" />
> > > > <echo message="junit.present=${junit.present}" />
> > > > <echo message="mailapi.present=${mailapi.present}" />
> > > > <echo message="attachments.present=${attachments.present}" />
> > > > <echo message="jimi.present=${jimi.present}" />
> > > > <echo message="security.present=${security.present}" />
> > > > <echo message="jsse.present=${jsse.present}" />
> > > > <echo
> > > > message="commons-httpclient.present=${commons-httpclient.present}"
> > />
> > > > <echo message="axis-ant.present=${axis-ant.present}" />
> > > > <echo message="jms.present=${jms.present}" />
> > > > <echo message=""/>
> > > > <echo message="--- Property values ---" />
> > > > <echo message="debug=${debug}" />
> > > > <echo message="deprecation=${deprecation}" />
> > > > <!-- Set environment variable axis_nojavadocs=true  to never
> > generate
> > > > javadocs. Case sensative! -->
> > > > <echo message="axis_nojavadocs=${env.axis_nojavadocs}"/>
> > > >
> > > > <echo message="" />
> > > > <echo message="-- Test Environment for AXIS ---"/>
> > > > <echo message="" />
> > > > <echo message="test.functional.remote = ${test.functional.remote}"
> > />
> > > > <echo message="test.functional.local = ${test.functional.local}"
> > />
> > > > <echo message="test.functional.both = ${test.functional.both}" />
> > > > <echo message="test.functional.reportdir =
> > > > ${test.functional.reportdir}" />
> > > > <echo message="test.functional.SimpleAxisPort =
> > > > ${test.functional.SimpleAxisPort}" />
> > > > <echo message="test.functional.TCPListenerPort =
> > > > ${test.functional.TCPListenerPort}" />
> > > > <echo message="test.functional.fail = ${test.functional.fail}" />
> > > > <echo message="" />
> > > >
> > > > <uptodate property="javadoc.notoutofdate"
> > > > targetfile="${build.javadocs}/index.html">
> > > > <srcfiles dir="${src.dir}" includes="**/*.java" />
> > > > </uptodate>
> > > >
> > > > <condition property="axis_nojavadocs" value="true">
> > > > <equals arg1="true" arg2="${env.axis_nojavadocs}"/>
> > > > </condition>
> > > > <condition property="axis_nojavadocs" value="false">
> > > > <equals arg1="${axis_nojavadocs}" arg2="$${axis_nojavadocs}"/>
> > > > </condition>
> > > >
> > > > <condition property="javadoc.notrequired" value="true">
> > > > <or>
> > > > <equals arg1="${javadoc.notoutofdate}" arg2="true"/>
> > > > <equals arg1="true" arg2="${axis_nojavadocs}"/>
> > > > </or>
> > > > </condition>
> > > >
> > > > </target>
> > > >
> > > > <!--
> > > >
> > ===================================================================
> > > > -->
> > > > <!-- Launches the functional test TCP server -->
> > > > <!--
> > > >
> > ===================================================================
> > > > -->
> > > > <target name="start-functional-test-tcp-server"
> > if="junit.present">
> > > > <echo message="Starting test tcp server."/>
> > > > <java classname="samples.transport.tcp.TCPListener" fork="yes"
> > > > dir="${axis.home}/build">
> > > > <arg line="-p ${test.functional.TCPListenerPort}" /> <!--
> > arbitrary
> > > > port -->
> > > > <classpath refid="classpath" />
> > > > </java>
> > > > </target>
> > > >
> > > > <!--
> > > >
> > ===================================================================
> > > > -->
> > > > <!-- Launches the functional test HTTP server -->
> > > > <!--
> > > >
> > ===================================================================
> > > > -->
> > > > <target name="start-functional-test-http-server"
> > if="junit.present">
> > > > <echo message="Starting test http server."/>
> > > > <java classname="org.apache.axis.transport.http.SimpleAxisServer"
> > > > fork="yes" dir="${axis.home}/build">
> > > > <!-- Uncomment this to use Jikes instead of Javac for compiling
> > JWS
> > > > Files
> > > > <jvmarg
> > > >
> > value="-Daxis.Compiler=org.apache.axis.components.compiler.Jikes"/>
> > > > -->
> > > > <jvmarg
> > > > value="-Daxis.wsdlgen.intfnamespace=http://localhost:${test.
> > > functional.ServicePort}"/>
> > > > <jvmarg
> > > > value="-Daxis.wsdlgen.serv.loc.url=http://localhost:${test.
> > > functional.ServicePort}"/>
> > > > <arg line="-p ${test.functional.SimpleAxisPort}" />  <!--
> > arbitrary
> > > > port -->
> > > > <classpath refid="classpath" />
> > > > </java>
> > > >
> > > > </target>
> > > >
> > > > <!--
> > > >
> > ===================================================================
> > > > -->
> > > > <!-- Stops the functional test HTTP server -->
> > > > <!--
> > > >
> > ===================================================================
> > > > -->
> > > > <target name="stop-functional-test-http-server" if="junit.present"
> > > > depends="stop-signature-signing-and-verification">
> > > > <echo message="Stopping test http server."/>
> > > > <java classname="org.apache.axis.client.AdminClient" fork="yes">
> > > > <classpath refid="classpath" />
> > > > <arg line="quit"/>
> > > > </java>
> > > > </target>
> > > >
> > > > <!--
> > > >
> > ===================================================================
> > > > -->
> > > > <!-- Stops the functional test HTTP server when testing digital
> > > > signature -->
> > > > <!--
> > > >
> > ===================================================================
> > > > -->
> > > > <target name="stop-functional-test-http-server-secure"
> > > > if="junit.present"
> > depends="stop-signature-signing-and-verification">
> > > > <echo message="Stopping test http server."/>
> > > > <java classname="org.apache.axis.client.AdminClient" fork="yes">
> > > > <classpath refid="classpath" />
> > > > <arg line="quit"/>
> > > > </java>
> > > > </target>
> > > >
> > > > <!--
> > > >
> > ===================================================================
> > > > -->
> > > > <!-- Start Signature Signing and Verification -->
> > > > <!--
> > > >
> > ===================================================================
> > > > -->
> > > > <target name="start-signature-signing-and-verification"
> > > > if="security.present">
> > > > <!-- Enable transparent Signing of SOAP Messages sent
> > > > from the client and Server-side Signature Verification.
> > > > -->
> > > > <java classname="org.apache.axis.client.AdminClient" fork="yes">
> > > > <classpath refid="classpath" />
> > > > <arg line="samples/security/serversecuritydeploy.wsdd"/>
> > > > </java>
> > > > <java classname="org.apache.axis.utils.Admin" fork="yes">
> > > > <classpath refid="classpath" />
> > > > <arg value="client"/>
> > > > <arg value="samples/security/clientsecuritydeploy.wsdd"/>
> > > > </java>
> > > > </target>
> > > >
> > > > <!--
> > > >
> > ===================================================================
> > > > -->
> > > > <!-- Stop Signature Signing and Verification -->
> > > > <!--
> > > >
> > ===================================================================
> > > > -->
> > > > <target name="stop-signature-signing-and-verification"
> > > > if="security.present">
> > > > <!-- Disable transparent Signing of SOAP Messages sent
> > > > from the client and Server-side Signature Verification.
> > > > -->
> > > > <java classname="org.apache.axis.client.AdminClient" fork="yes">
> > > > <classpath refid="classpath" />
> > > > <arg line="samples/security/serversecurityundeploy.wsdd"/>
> > > > </java>
> > > > <java classname="org.apache.axis.utils.Admin" fork="yes">
> > > > <classpath refid="classpath" />
> > > > <arg value="client"/>
> > > > <arg value="samples/security/clientsecurityundeploy.wsdd"/>
> > > > </java>
> > > >
> > > > </target>
> > > >
> > > > <!--
> > > >
> > ===================================================================
> > > > -->
> > > > <!-- Prepares the JUnit functional test -->
> > > > <!--
> > > >
> > ===================================================================
> > > > -->
> > > > <target name="component-junit-functional-prepare"
> > if="junit.present">
> > > >
> > > > <!-- first, put the JWS where the functional test can see it -->
> > > > <mkdir dir="${axis.home}/build/jws" />
> > > > <copy file="${axis.home}/samples/stock/StockQuoteService.jws"
> > > > todir="${axis.home}/build/jws" />
> > > > <copy file="${axis.home}/test/functional/AltStockQuoteService.jws"
> > > > todir="${axis.home}/build/jws" />
> > > > <copy file="${axis.home}/test/functional/GlobalTypeTest.jws"
> > > > todir="${axis.home}/build/jws"/>
> > > >
> > > > <path id="deploy.xml.files">
> > > > <fileset dir="${build.dir}">
> > > > <include name="work/${componentName}/**/deploy.wsdd"/>
> > > > <include name="${extraServices}/deploy.wsdd" />
> > > > </fileset>
> > > > </path>
> > > >
> > > > <path id="undeploy.xml.files">
> > > > <fileset dir="${build.dir}">
> > > > <include name="work/${componentName}/**/undeploy.wsdd"/>
> > > > <include name="${extraServices}/undeploy.wsdd" />
> > > > </fileset>
> > > > </path>
> > > >
> > > > <property name="deploy.xml.property" refid="deploy.xml.files"/>
> > > > <property name="undeploy.xml.property"
> > refid="undeploy.xml.files"/>
> > > > </target>
> > > >
> > > > <target name="component-test-run" if="junit.present"
> > > > depends="start-signature-signing-and-verification">
> > > > <echo message="Execing ${componentName} Test"/>
> > > > <antcall target="component-junit-functional"/>
> > > > </target>
> > > >
> > > > <target name="component-junit-functional" if="junit.present"
> > > > depends="component-junit-functional-prepare">
> > > > <java classname="org.apache.axis.client.AdminClient" fork="yes">
> > > > <classpath refid="classpath" />
> > > > <arg line="${deploy.xml.property}"/>
> > > > </java>
> > > >
> > > > <junit dir="${axis.home}" printsummary="yes"
> > > > haltonfailure="${test.functional.fail}" fork="yes">
> > > > <classpath refid="classpath" />
> > > > <formatter type="xml" usefile="${test.functional.usefile}"/>
> > > > <batchtest todir="${test.functional.reportdir}">
> > > > <fileset dir="${build.dest}">
> > > > <include name="${componentName}/*TestCase.class" />
> > > > <include name="${componentName}/**/*TestCase.class" />
> > > > <include name="${componentName}/**/PackageTests.class" />
> > > > <!-- <include name="${componentName}/**/test/*TestSuite.class"/>
> > -->
> > > > </fileset>
> > > > </batchtest>
> > > > </junit>
> > > >
> > > > <java classname="org.apache.axis.client.AdminClient" fork="yes">
> > > > <classpath refid="classpath" />
> > > > <arg line="${undeploy.xml.property}"/>
> > > > </java>
> > > >
> > > > </target>
> > > >
> > > > <target name="execute-Component"  depends="transport-layer" >
> > > > <runaxisfunctionaltests
> > > > url="http://localhost:${test.functional.TCPListenerPort}"
> > > > startTarget1="start-functional-test-tcp-server"
> > > > startTarget2="start-functional-test-http-server"
> > > > testTarget="component-test-run"
> > > > stopTarget="stop-functional-test-http-server" />
> > > > </target>
> > > >
> > > > <target name="transport-layer" depends="setenv" >
> > > > <mkdir dir="${test.functional.reportdir}" />
> > > > <ant antfile="${axis.home}/samples/transport/build.xml"
> > > > target="compile" />
> > > > </target>
> > > >
> > > > cvs diff (in directory D:\projects\axis\xml-axis\)
> > > > ? java/samples/jms
> > > > ? java/src/org/apache/axis/transport/jms
> > > > cvs server: Diffing .
> > > > cvs server: Diffing contrib
> > > > cvs server: Diffing contrib/Axis-C++
> > > > cvs server: Diffing contrib/Axis-C++/Axis_Release
> > > > cvs server: Diffing contrib/Axis-C++/Linux
> > > > cvs server: Diffing contrib/Axis-C++/Linux/KDev
> > > > cvs server: Diffing contrib/Axis-C++/Linux/KDev/axis
> > > > cvs server: Diffing contrib/Axis-C++/Linux/KDev/axis/axtest
> > > > cvs server: Diffing contrib/Axis-C++/TestHarnesses
> > > > cvs server: Diffing contrib/Axis-C++/Win32
> > > > cvs server: Diffing contrib/Axis-C++/Win32/Axis_Release
> > > > cvs server: Diffing contrib/Axis-C++/Win32/Calculator
> > > > cvs server: Diffing contrib/Axis-C++/Win32/Fault
> > > > cvs server: Diffing contrib/Axis-C++/Win32/TestHarness
> > > > cvs server: Diffing contrib/Axis-C++/Win32/UserType
> > > > cvs server: Diffing contrib/Axis-C++/Win32/axis-dll-not-finish
> > > > cvs server: Diffing contrib/Axis-C++/docs
> > > > cvs server: Diffing contrib/Axis-C++/docs/ApiDocs
> > > > cvs server: Diffing contrib/Axis-C++/doxygen
> > > > cvs server: Diffing contrib/Axis-C++/lib
> > > > cvs server: Diffing contrib/Axis-C++/lib/AIX_4.3
> > > > cvs server: Diffing contrib/Axis-C++/lib/Linux
> > > > cvs server: Diffing contrib/Axis-C++/lib/NT_4.0
> > > > cvs server: Diffing contrib/Axis-C++/lib/SunOS_5.6
> > > > cvs server: Diffing contrib/Axis-C++/lib/SunOS_5.7
> > > > cvs server: Diffing contrib/Axis-C++/lib/SunOS_5.8
> > > > cvs server: Diffing contrib/Axis-C++/objs
> > > > cvs server: Diffing contrib/Axis-C++/objs/AIX_4.3
> > > > cvs server: Diffing contrib/Axis-C++/objs/AIX_4.3/common
> > > > cvs server: Diffing contrib/Axis-C++/objs/Linux
> > > > cvs server: Diffing contrib/Axis-C++/objs/Linux/common
> > > > cvs server: Diffing contrib/Axis-C++/objs/NT_4.0
> > > > cvs server: Diffing contrib/Axis-C++/objs/SunOS_5.6
> > > > cvs server: Diffing contrib/Axis-C++/objs/SunOS_5.6/common
> > > > cvs server: Diffing contrib/Axis-C++/objs/SunOS_5.7
> > > > cvs server: Diffing contrib/Axis-C++/objs/SunOS_5.7/common
> > > > cvs server: Diffing contrib/Axis-C++/objs/SunOS_5.8
> > > > cvs server: Diffing contrib/Axis-C++/objs/SunOS_5.8/common
> > > > cvs server: Diffing contrib/Axis-C++/src
> > > > cvs server: Diffing contrib/Axis-C++/src/Client
> > > > cvs server: Diffing contrib/Axis-C++/src/Encoding
> > > > cvs server: Diffing contrib/Axis-C++/src/Message
> > > > cvs server: Diffing contrib/Axis-C++/src/Transport
> > > > cvs server: Diffing contrib/Axis-C++/src/Util
> > > > cvs server: Diffing contrib/Axis-C++/src/Xml
> > > > cvs server: Diffing contrib/Axis-C++/xerces-c
> > > > cvs server: Diffing contrib/Axis-C++/xerces-c/bin
> > > > cvs server: Diffing contrib/Axis-C++/xerces-c/include
> > > > cvs server: Diffing contrib/Axis-C++/xerces-c/include/dom
> > > > cvs server: Diffing contrib/Axis-C++/xerces-c/include/framework
> > > > cvs server: Diffing contrib/Axis-C++/xerces-c/include/idom
> > > > cvs server: Diffing contrib/Axis-C++/xerces-c/include/internal
> > > > cvs server: Diffing contrib/Axis-C++/xerces-c/include/parsers
> > > > cvs server: Diffing contrib/Axis-C++/xerces-c/include/sax
> > > > cvs server: Diffing contrib/Axis-C++/xerces-c/include/sax2
> > > > cvs server: Diffing contrib/Axis-C++/xerces-c/include/util
> > > > cvs server: Diffing
> > contrib/Axis-C++/xerces-c/include/util/Compilers
> > > > cvs server: Diffing
> > contrib/Axis-C++/xerces-c/include/util/MsgLoaders
> > > > cvs server: Diffing
> > > > contrib/Axis-C++/xerces-c/include/util/MsgLoaders/ICU
> > > > cvs server: Diffing
> > > > contrib/Axis-C++/xerces-c/include/util/MsgLoaders/InMemory
> > > > cvs server: Diffing
> > > > contrib/Axis-C++/xerces-c/include/util/MsgLoaders/MsgCatalog
> > > > cvs server: Diffing
> > > > contrib/Axis-C++/xerces-c/include/util/MsgLoaders/Win32
> > > > cvs server: Diffing
> > contrib/Axis-C++/xerces-c/include/util/Platforms
> > > > cvs server: Diffing
> > > > contrib/Axis-C++/xerces-c/include/util/Platforms/AIX
> > > > cvs server: Diffing
> > > > contrib/Axis-C++/xerces-c/include/util/Platforms/HPUX
> > > > cvs server: Diffing
> > > > contrib/Axis-C++/xerces-c/include/util/Platforms/Linux
> > > > cvs server: Diffing
> > > > contrib/Axis-C++/xerces-c/include/util/Platforms/MacOS
> > > > cvs server: Diffing
> > > > contrib/Axis-C++/xerces-c/include/util/Platforms/OS2
> > > > cvs server: Diffing
> > > > contrib/Axis-C++/xerces-c/include/util/Platforms/OS390
> > > > cvs server: Diffing
> > > > contrib/Axis-C++/xerces-c/include/util/Platforms/PTX
> > > > cvs server: Diffing
> > > > contrib/Axis-C++/xerces-c/include/util/Platforms/Solaris
> > > > cvs server: Diffing
> > > > contrib/Axis-C++/xerces-c/include/util/Platforms/Tandem
> > > > cvs server: Diffing
> > > > contrib/Axis-C++/xerces-c/include/util/Platforms/Win32
> > > > cvs server: Diffing
> > contrib/Axis-C++/xerces-c/include/util/Transcoders
> > > > cvs server: Diffing
> > > > contrib/Axis-C++/xerces-c/include/util/Transcoders/ICU
> > > > cvs server: Diffing
> > > > contrib/Axis-C++/xerces-c/include/util/Transcoders/Iconv
> > > > cvs server: Diffing
> > > > contrib/Axis-C++/xerces-c/include/util/Transcoders/Win32
> > > > cvs server: Diffing contrib/Axis-C++/xerces-c/include/util/regx
> > > > cvs server: Diffing contrib/Axis-C++/xerces-c/include/validators
> > > > cvs server: Diffing
> > contrib/Axis-C++/xerces-c/include/validators/DTD
> > > > cvs server: Diffing
> > > > contrib/Axis-C++/xerces-c/include/validators/common
> > > > cvs server: Diffing
> > > > contrib/Axis-C++/xerces-c/include/validators/datatype
> > > > cvs server: Diffing
> > > > contrib/Axis-C++/xerces-c/include/validators/schema
> > > > cvs server: Diffing contrib/Axis-C++/xerces-c/lib
> > > > cvs server: Diffing contrib/Axis-C++/xerces-c/lib/Linux
> > > > cvs server: Diffing java
> > > > Index: java/build.xml
> > > >
> > ===================================================================
> > > > RCS file: /home/cvspublic/xml-axis/java/build.xml,v
> > > > retrieving revision 1.176
> > > > diff -r1.176 build.xml
> > > > 105a106
> > > > >       <exclude name="**/org/apache/axis/transport/jms/*"
> > > > unless="jms.present"/>
> > > > 254a256
> > > > >       <exclude name="samples/jms/**/*.java"
> > unless="jms.present"/>
> > > > cvs server: Diffing java/docs
> > > > cvs server: Diffing java/lib
> > > > cvs server: Diffing java/samples
> > > > cvs server: Diffing java/samples/addr
> > > > cvs server: Diffing java/samples/attachments
> > > > cvs server: Diffing java/samples/bidbuy
> > > > cvs server: Diffing java/samples/echo
> > > > cvs server: Diffing java/samples/encoding
> > > > cvs server: Diffing java/samples/integrationGuide
> > > > cvs server: Diffing java/samples/integrationGuide/example1
> > > > cvs server: Diffing java/samples/integrationGuide/example2
> > > > cvs server: Diffing java/samples/jaxm
> > > > cvs server: Diffing java/samples/jaxrpc
> > > > cvs server: Diffing java/samples/jaxrpc/address
> > > > cvs server: Diffing java/samples/jaxrpc/hello
> > > > cvs server: Diffing java/samples/message
> > > > cvs server: Diffing java/samples/misc
> > > > cvs server: Diffing java/samples/proxy
> > > > cvs server: Diffing java/samples/security
> > > > cvs server: Diffing java/samples/stock
> > > > cvs server: Diffing java/samples/transport
> > > > cvs server: Diffing java/samples/transport/tcp
> > > > cvs server: Diffing java/samples/userguide
> > > > cvs server: Diffing java/samples/userguide/example1
> > > > cvs server: Diffing java/samples/userguide/example2
> > > > cvs server: Diffing java/samples/userguide/example3
> > > > cvs server: Diffing java/samples/userguide/example4
> > > > cvs server: Diffing java/samples/userguide/example5
> > > > cvs server: Diffing java/samples/userguide/example6
> > > > cvs server: Diffing java/src
> > > > cvs server: Diffing java/src/javax
> > > > cvs server: Diffing java/src/javax/xml
> > > > cvs server: Diffing java/src/javax/xml/messaging
> > > > cvs server: Diffing java/src/javax/xml/namespace
> > > > cvs server: Diffing java/src/javax/xml/rpc
> > > > cvs server: Diffing java/src/javax/xml/rpc/encoding
> > > > cvs server: Diffing java/src/javax/xml/rpc/handler
> > > > cvs server: Diffing java/src/javax/xml/rpc/handler/soap
> > > > cvs server: Diffing java/src/javax/xml/rpc/holders
> > > > cvs server: Diffing java/src/javax/xml/rpc/server
> > > > cvs server: Diffing java/src/javax/xml/rpc/soap
> > > > cvs server: Diffing java/src/javax/xml/soap
> > > > cvs server: Diffing java/src/javax/xml/transform
> > > > cvs server: Diffing java/src/javax/xml/transform/dom
> > > > cvs server: Diffing java/src/javax/xml/transform/sax
> > > > cvs server: Diffing java/src/javax/xml/transform/stream
> > > > cvs server: Diffing java/src/org
> > > > cvs server: Diffing java/src/org/apache
> > > > cvs server: Diffing java/src/org/apache/axis
> > > > cvs server: Diffing java/src/org/apache/axis/attachments
> > > > cvs server: Diffing java/src/org/apache/axis/client
> > > > cvs server: Diffing java/src/org/apache/axis/components
> > > > cvs server: Diffing java/src/org/apache/axis/components/compiler
> > > > cvs server: Diffing java/src/org/apache/axis/components/image
> > > > cvs server: Diffing java/src/org/apache/axis/components/logger
> > > > cvs server: Diffing java/src/org/apache/axis/components/net
> > > > cvs server: Diffing java/src/org/apache/axis/configuration
> > > > cvs server: Diffing java/src/org/apache/axis/deployment
> > > > cvs server: Diffing java/src/org/apache/axis/deployment/wsdd
> > > > cvs server: Diffing
> > java/src/org/apache/axis/deployment/wsdd/providers
> > > > cvs server: Diffing java/src/org/apache/axis/description
> > > > cvs server: Diffing java/src/org/apache/axis/encoding
> > > > cvs server: Diffing java/src/org/apache/axis/encoding/ser
> > > > cvs server: Diffing java/src/org/apache/axis/enum
> > > > cvs server: Diffing java/src/org/apache/axis/handlers
> > > > cvs server: Diffing java/src/org/apache/axis/handlers/http
> > > > cvs server: Diffing java/src/org/apache/axis/handlers/soap
> > > > cvs server: Diffing java/src/org/apache/axis/holders
> > > > cvs server: Diffing java/src/org/apache/axis/message
> > > > cvs server: Diffing java/src/org/apache/axis/providers
> > > > cvs server: Diffing java/src/org/apache/axis/providers/java
> > > > cvs server: Diffing java/src/org/apache/axis/schema
> > > > cvs server: Diffing java/src/org/apache/axis/security
> > > > cvs server: Diffing java/src/org/apache/axis/security/servlet
> > > > cvs server: Diffing java/src/org/apache/axis/security/simple
> > > > cvs server: Diffing java/src/org/apache/axis/server
> > > > cvs server: Diffing java/src/org/apache/axis/session
> > > > cvs server: Diffing java/src/org/apache/axis/soap
> > > > cvs server: Diffing java/src/org/apache/axis/strategies
> > > > cvs server: Diffing java/src/org/apache/axis/transport
> > > > cvs server: Diffing java/src/org/apache/axis/transport/http
> > > > cvs server: Diffing java/src/org/apache/axis/transport/java
> > > > cvs server: Diffing java/src/org/apache/axis/transport/local
> > > > cvs server: Diffing java/src/org/apache/axis/types
> > > > cvs server: Diffing java/src/org/apache/axis/utils
> > > > Index: java/src/org/apache/axis/utils/axisNLS.properties
> > > >
> > ===================================================================
> > > > RCS file:
> > > >
> > 
/home/cvspublic/xml-axis/java/src/org/apache/axis/utils/axisNLS.properties,v
> > > > retrieving revision 1.55
> > > > diff -r1.55 axisNLS.properties
> > > > 1009c1009,1011
> > > > < noValidHeader=qname attribute is missing.
> > > > \ No newline at end of file
> > > > ---
> > > > > noValidHeader=qname attribute is missing.
> > > > >
> > > > > cannotConnectError=Error: Cannot connect
> > > > cvs server: Diffing java/src/org/apache/axis/utils/bytecode
> > > > cvs server: Diffing java/src/org/apache/axis/utils/cache
> > > > cvs server: Diffing java/src/org/apache/axis/wsdl
> > > > cvs server: Diffing java/src/org/apache/axis/wsdl/fromJava
> > > > cvs server: Diffing java/src/org/apache/axis/wsdl/gen
> > > > cvs server: Diffing java/src/org/apache/axis/wsdl/symbolTable
> > > > cvs server: Diffing java/src/org/apache/axis/wsdl/toJava
> > > > cvs server: Diffing java/test
> > > > cvs server: Diffing java/test/RPCDispatch
> > > > cvs server: Diffing java/test/chains
> > > > cvs server: Diffing java/test/concurrency
> > > > cvs server: Diffing java/test/doesntWork
> > > > cvs server: Diffing java/test/dynamic
> > > > cvs server: Diffing java/test/encoding
> > > > cvs server: Diffing java/test/encoding/beans
> > > > cvs server: Diffing java/test/faults
> > > > cvs server: Diffing java/test/functional
> > > > cvs server: Diffing java/test/functional/ant
> > > > cvs server: Diffing java/test/httpunit
> > > > cvs server: Diffing java/test/httpunit/lib
> > > > cvs server: Diffing java/test/httpunit/src
> > > > cvs server: Diffing java/test/httpunit/src/test
> > > > cvs server: Diffing java/test/inheritance
> > > > cvs server: Diffing java/test/lib
> > > > cvs server: Diffing java/test/md5attach
> > > > cvs server: Diffing java/test/message
> > > > cvs server: Diffing java/test/outparams
> > > > cvs server: Diffing java/test/properties
> > > > cvs server: Diffing java/test/saaj
> > > > cvs server: Diffing java/test/session
> > > > cvs server: Diffing java/test/soap
> > > > cvs server: Diffing java/test/soap12
> > > > cvs server: Diffing java/test/templateTest
> > > > cvs server: Diffing java/test/types
> > > > cvs server: Diffing java/test/utils
> > > > cvs server: Diffing java/test/utils/cache
> > > > cvs server: Diffing java/test/wsdd
> > > > cvs server: Diffing java/test/wsdl
> > > > cvs server: Diffing java/test/wsdl/_import
> > > > cvs server: Diffing java/test/wsdl/addrNoImplSEI
> > > > cvs server: Diffing java/test/wsdl/arrays
> > > > cvs server: Diffing java/test/wsdl/attachments
> > > > cvs server: Diffing java/test/wsdl/clash
> > > > cvs server: Diffing java/test/wsdl/datatypes
> > > > cvs server: Diffing java/test/wsdl/echo
> > > > cvs server: Diffing java/test/wsdl/extensibility
> > > > cvs server: Diffing java/test/wsdl/faults
> > > > cvs server: Diffing java/test/wsdl/filegen
> > > > cvs server: Diffing java/test/wsdl/getPort
> > > > cvs server: Diffing java/test/wsdl/import2
> > > > cvs server: Diffing java/test/wsdl/import2/interface1
> > > > cvs server: Diffing java/test/wsdl/import2/interface1/interface2
> > > > cvs server: Diffing java/test/wsdl/import2/service1
> > > > cvs server: Diffing java/test/wsdl/import2/service1/service2
> > > > cvs server: Diffing java/test/wsdl/import2/types1
> > > > cvs server: Diffing java/test/wsdl/import2/types1/types2
> > > > cvs server: Diffing java/test/wsdl/import2/types1/types3
> > > > cvs server: Diffing java/test/wsdl/import3
> > > > cvs server: Diffing java/test/wsdl/import3/MultiImpIncl
> > > > cvs server: Diffing java/test/wsdl/import3/MultiImpIncl/cmp
> > > > cvs server: Diffing java/test/wsdl/import3/MultiImpIncl/includes
> > > > cvs server: Diffing java/test/wsdl/import3/MultiImpIncl/tbl1
> > > > cvs server: Diffing java/test/wsdl/import3/MultiImpIncl/tbl2
> > > > cvs server: Diffing java/test/wsdl/import3/MultiImpIncl/wsdl
> > > > cvs server: Diffing java/test/wsdl/include
> > > > cvs server: Diffing java/test/wsdl/include/address
> > > > cvs server: Diffing java/test/wsdl/include/state
> > > > cvs server: Diffing java/test/wsdl/inheritance
> > > > cvs server: Diffing java/test/wsdl/inout
> > > > cvs server: Diffing java/test/wsdl/interop
> > > > cvs server: Diffing java/test/wsdl/interop3
> > > > cvs server: Diffing java/test/wsdl/interop3/compound1
> > > > cvs server: Diffing java/test/wsdl/interop3/compound2
> > > > cvs server: Diffing java/test/wsdl/interop3/docLit
> > > > cvs server: Diffing java/test/wsdl/interop3/docLitParam
> > > > cvs server: Diffing java/test/wsdl/interop3/groupE
> > > > cvs server: Diffing java/test/wsdl/interop3/groupE/client
> > > > cvs server: Diffing java/test/wsdl/interop3/import1
> > > > cvs server: Diffing java/test/wsdl/interop3/import2
> > > > cvs server: Diffing java/test/wsdl/interop3/import3
> > > > cvs server: Diffing java/test/wsdl/interop3/rpcEnc
> > > > cvs server: Diffing java/test/wsdl/literal
> > > > cvs server: Diffing java/test/wsdl/marrays
> > > > cvs server: Diffing java/test/wsdl/multibinding
> > > > cvs server: Diffing java/test/wsdl/multiref
> > > > cvs server: Diffing java/test/wsdl/multithread
> > > > cvs server: Diffing java/test/wsdl/names
> > > > cvs server: Diffing java/test/wsdl/nested
> > > > cvs server: Diffing java/test/wsdl/omit
> > > > cvs server: Diffing java/test/wsdl/opStyles
> > > > cvs server: Diffing java/test/wsdl/parameterOrder
> > > > cvs server: Diffing java/test/wsdl/polymorphism
> > > > cvs server: Diffing java/test/wsdl/qualify
> > > > cvs server: Diffing java/test/wsdl/qualify2
> > > > cvs server: Diffing java/test/wsdl/ram
> > > > cvs server: Diffing java/test/wsdl/refattr
> > > > cvs server: Diffing java/test/wsdl/roundtrip
> > > > cvs server: Diffing java/test/wsdl/roundtrip/holders
> > > > cvs server: Diffing java/test/wsdl/sequence
> > > > cvs server: Diffing java/test/wsdl/types
> > > > cvs server: Diffing java/test/wsdl/wrapped
> > > > cvs server: Diffing java/tools
> > > > cvs server: Diffing java/tools/org
> > > > cvs server: Diffing java/tools/org/apache
> > > > cvs server: Diffing java/tools/org/apache/axis
> > > > cvs server: Diffing java/tools/org/apache/axis/tools
> > > > cvs server: Diffing java/tools/org/apache/axis/tools/ant
> > > > cvs server: Diffing java/tools/org/apache/axis/tools/ant/axis
> > > > cvs server: Diffing java/tools/org/apache/axis/tools/ant/foreach
> > > > cvs server: Diffing java/tools/org/apache/axis/tools/ant/wsdl
> > > > cvs server: Diffing java/webapps
> > > > cvs server: Diffing java/webapps/axis
> > > > cvs server: Diffing java/webapps/axis/WEB-INF
> > > > cvs server: Diffing java/wsdd
> > > > cvs server: Diffing java/wsdd/docs
> > > > cvs server: Diffing java/wsdd/examples
> > > > cvs server: Diffing java/wsdd/examples/chaining_examples
> > > > cvs server: Diffing java/wsdd/examples/from_SOAP_v2
> > > > cvs server: Diffing
> > java/wsdd/examples/serviceConfiguration_examples
> > > > cvs server: Diffing java/wsdd/providers
> > > > cvs server: Diffing java/xmls
> > > > Index: java/xmls/targets.xml
> > > >
> > ===================================================================
> > > > RCS file: /home/cvspublic/xml-axis/java/xmls/targets.xml,v
> > > > retrieving revision 1.20
> > > > diff -r1.20 targets.xml
> > > > 129a130,133
> > > > >     <condition property="jms.present" >
> > > > >       <available classname="javax.jms.Message"
> > > > classpathref="classpath" />
> > > > >     </condition>
> > > > >
> > > > 175a180
> > > > >     <echo message="jms.present=${jms.present}" />
> > > > cvs server: Diffing proposals
> > > > cvs server: Diffing proposals/arch
> > > > cvs server: Diffing proposals/arch/docs
> > > > cvs server: Diffing proposals/arch/src
> > > > cvs server: Diffing proposals/arch/src/org
> > > > cvs server: Diffing proposals/arch/src/org/apache
> > > > cvs server: Diffing proposals/arch/src/org/apache/axis
> > > > cvs server: Diffing proposals/arch/src/org/apache/axis/flow
> > > > cvs server: Diffing proposals/arch/test
> > > > cvs server: Diffing proposals/arch/test/flow
> >
> > > --
> > > Sonic Software - Backbone of the Extended Enterprise
> > > --
> > > David Chappell <ch...@sonicsoftware.com> Office: (781)999-7099
> > > Mobile: (617)510-6566
> > > Vice President and Chief Technology Evangelist, Sonic Software
> > > co-author,"Java Web Services", (O'Reilly 2002)
> > > "The Java Message Service", (O'Reilly 2000)
> > > "Professional ebXML Foundations", (Wrox 2001)
> > > --
> > >
> > > [attachment "chappell.vcf" removed by James M Snell/Fresno/IBM]

> --
> Sonic Software - Backbone of the Extended Enterprise
> --
> David Chappell <ch...@sonicsoftware.com> Office: (781)999-7099
> Mobile: (617)510-6566
> Vice President and Chief Technology Evangelist, Sonic Software
> co-author,"Java Web Services", (O'Reilly 2002)
> "The Java Message Service", (O'Reilly 2000)
> "Professional ebXML Foundations", (Wrox 2001)
> --
> 
> [attachment "chappell.vcf" removed by James M Snell/Fresno/IBM] 

Re: Asynchronous Transport in Apache Axis, JMS and beyond

Posted by David Chappell <ch...@sonicsoftware.com>.
Our lead developer on this project, Jaime Meritt, is out of the country
until 9/15.  He said he would be available for calls if we can schedule
them for early morning EDT due to a 13 hour time difference.  We could
have a productive call without him but I would prefer that he be there. 
I will try to see if he can be available Tuesday 9/10 at 9:00 am EDT. 
Does that work for you?

Also, on the issue of "J2EE legal" that you raised -- I'm assuming you
mean that you want to stay within the bounds of JAX-RPC API's and be TCK
compliant?  I agree that is a must and certainly wouldn't want to break
that.  However, I think that we must expand beyond that to support
asynchronous callbacks in the client API.  I haven't heard of anything
slated for J2EE 1.4 that addresses this issue, and I don't think we
should wait for post-1.4 to see what shakes out.  I think that whatever
we add for client API's with regard to asynch callback/notification
would not break TCK compliance since there is no support for it, right?

Also, what we are offering initially is a JMS transport layer that is
pluggable.  So I agree that it is complementary with your mods to the
Call object.  I see no reason to NOT put the transport into 1.0.  It is
separate enough that it won't break anything else and is only activated
when the application specifically wants to use it.  I will defer to the
wisdom of the committers on that one.

Dave

James M Snell wrote:
> 
> David,
> 
> One good thing that I see here is that the two approaches should
> actually be complementary.  Let's definitely have a chat about this to
> 1) make sure we're on the same page and 2) make sure we're not
> stepping on toes.   I'll set up the conference call, just let me know
> who to invite and when. :-)
> 
> - James Snell
>     IBM Emerging Technologies
>     jasnell@us.ibm.com
>     (559) 587-1233 (office)
>     (700) 544-9035 (t/l)
>     Programming Web Services With SOAP
>         O'Reilly & Associates, ISBN 0596000952
> 
>     Have I not commanded you? Be strong and courageous.
>     Do not be terrified, do not be discouraged, for the Lord your
>     God will be with you whereever you go.    - Joshua 1:9
> 
> David Chappell <ch...@sonicsoftware.com> wrote on 09/04/2002
> 10:36:39 PM:
> 
> > Hi James,
> > If this seems like a surprise to you, my apologies.  We started
> talking
> > to Glen about this starting almost two months ago, including the
> details
> > of a draft proposal of the asynchronous callback support. He saw
> that,
> > thought it was a good proposal. In all fairness to him with regard
> to
> > timing issues, he has been advocating for some time for us to post
> our
> > thoughts to the axis-dev list. So we started with this.  We have
> been
> > working under the operating assumption that simply a proposal was
> not
> > enough.  We should put some skin in the game.  So we wrote some code
> and
> > submitted it as a measure of good faith.  Last week at the XML
> > conference in Boston, Glen and I  both talked to Sam about the
> notion of
> > submitting this.  He seemed OK with it as well.  So here we are.
> 
> > We (Sonic) are also a member of the JCP EG process, and understand
> the
> > notion of J2EE legal with regard to invokeOneWay(), and the history
> of
> > that.
> 
> > All that aside...let's work in this.  We are volunteering to do some
> > heavy lifting.  We have thrown our hat in the ring an offered up a
> JMS
> > transport as a phase 1.  Like I said, we would like to work closely
> with
> > the Axis-dev community on this proposal.  We are obviously thinking
> > along similar lines, and should work together to flesh out the
> longer
> > term strategy. Your approach with the ASYNC_CALL_PROPERTY sounds
> > interesting.  We would like to hear more about it.  Perhaps we
> should
> > have a con-call about it?
> 
> >
> > Dave
> 
> >
> > James M Snell wrote:
> 
> > > General FYI:
> > >
> > > I am currently about a week away from providing a fix to the
> current
> > > Axis code that makes the asynchronous sending of messages by the
> Axis
> > > Call object J2EE legal and that allows us to do asynchronous
> > > request/response operations.  The approach I am taking provides
> this
> > > functionality by implementing a pluggable asynchronous processing
> > > model that operates behind the Axis Call object and minimally
> impacts
> > > the current programming model by adding only a couple of new
> methods
> > > to the current Call object interface.  An example of how this
> > > mechanism will work is provided below.
> > >
> > > Currently in Axis, there is no way to do asynchronous
> request/response
> > > operations.  Also, the invokeOneWay currently implements
> asynchronous
> > > processing by creating a thread and invoking the Axis engine --
> > > unfortunately this is not legal in J2EE since thread management
> done
> > > directly within J2EE containers is not allowed.  By implementing a
> > > pluggable mechanism, we can go back and plug in an asynchronous
> > > processing model that IS legal within J2EE -- including, but not
> > > limited to, using JMS.
> > >
> > > 1          try {
> > > 2              String endpoint =
> > > 3                       "some_service_endpoint";
> > > 4
> > > 5              Service  service = new Service();
> > > 6              Call     call    = (Call) service.createCall();
> > > 7
> > > 8              call.setProperty(AsyncCall.ASYNC_CALL_PROPERTY,
> > > 9                               new Boolean(true));
> > > 10
> > > 11             call.setTargetEndpointAddress( new
> > > java.net.URL(endpoint) );
> > > 12             call.setOperationName(
> > > 13               new QName("namespace", "getQuote"));
> > > 14
> > > 15             String ret = (String) call.invoke( new Object[] {
> "IBM"
> > > } );
> > > 16
> > > 17             while (call.getAsyncStatus() != Call.ASYNC_READY)
> {}
> > > 18             System.out.println(call.getReturnValue());
> > > 19             System.out.println("done!");
> > > 20
> > > 21         } catch (Exception e) {
> > > 22             System.err.println(e.toString());
> > > 23         }
> > >
> > > The way this works is simple.  Lines 8-9 tell the Axis call object
> to
> > > use Async processing.  When the call.invoke is done on Line 15,
> Axis
> > > will dispatch the invocation to the pluggable async processing
> > > implementation currently configured (uses non-J2EE legal approach
> by
> > > default, the admin can configure a new impl either through a
> system
> > > property or using the engine config wsdd).
> > >
> > > Line 17 illustrates how the user can check to see when a response
> has
> > > been received.  While the async operation is processing,
> > > call.getAsyncStatus() will return Call.ASYNC_RUNNING.  When the
> > > operation completes, the value will switch to Call.ASYNC_READY.
>  The
> > > client can then call.getReturnValue() to return the response
> value.
> > >
> > > The invokeOneWay operation will be modified to use the pluggable
> async
> > > processing impl automatically (without the end user specifying
> > > ASYNC_CALL_PROPERTY == true).
> > >
> > > The point here (and the key benefit) is that from the end users
> point
> > > of view, how the asyncronous processing is actually implemented is
> > > irrelevant.  The existing programming model is impacted in a very
> > > minimal way.  This could be provided for Axis 1.0 without making
> very
> > > significant changes to the current axis code base.
> > >
> > > The implementation of this is about half way done (I'm currently
> > > working on a J2EE legal pluggable implementation).
> > >
> > > - James Snell
> > >     IBM Emerging Technologies
> > >     jasnell@us.ibm.com
> > >     (559) 587-1233 (office)
> > >     (700) 544-9035 (t/l)
> > >     Programming Web Services With SOAP, O'Reilly & Associates,
> ISBN
> > > 0596000952
> > > ==
> > > Have I not commanded you? Be strong and courageous.  Do not be
> > > terrified,
> > > do not be discouraged, for the Lord your God will be with you
> > > whereever you go.
> > > - Joshua 1:9
> > >
> > > Please respond to axis-dev@xml.apache.org
> > >
> > > To:        axis-dev@xml.apache.org
> > > cc:
> > > Subject:        Asynchronous Transport in Apache Axis, JMS and
> beyond
> > >
> > > Sonic Software would like to become actively involved with
> providing
> > > asynchronous transport support in Axis.  The first phase of this
> > > effort,
> > > included in the attached patch file, is a JMS transport
> > > implementation.
> > >
> > > While this patch submission is limited to synchronous
> request/reply
> > > over
> > > a JMS transport, our longer term goal is to provide asynchrony in
> the
> > > Axis engine on both the client and server side.  This effort
> includes
> > > but is not limited to:
> > >
> > > -        Providing API's in the Axis client and server in support
> of
> > > asynchronous callbacks, asynchronous request/reply, notification,
> and
> > > solicit-response.
> > > -        Splitting apart the axis engine at the pivot point in
> order
> > > to be able
> > > to support asynchronous callbacks, asynchronous request/reply,
> > > notification, and solicit-response.
> > > -        Adding correlation management in support of splitting
> apart
> > > the
> > > requests and responses in the Axis engine.
> > > -        Generalizing the asynchronous support beyond JMS such
> that it
> > > works
> > > with any protocol such as HTTP and SMTP/POP/IMAP.
> > >
> > > The attached .zip file contains the files that implement the JMS
> > > transport.  We tried to make it as vendor-neutral as possible yet
> keep
> > > it dynamic and flexible by making the vendor specific parts of JMS
> > > (ConnectionFactories, Topics, and Queues) be accessible both via
> JNDI
> > > and via a string-based lookup.
> > >
> > > In addition to implementing the Transport, we have also included a
> > > layer
> > > of helper classes that do things like connection and session
> pooling,
> > > connection retry management, and a Endpoint abstraction that deals
> > > with
> > > Topic and Queue destinations in JMS 1.0.2 using a single
> interface.
> > > This layer is used by the transport.
> > >
> > > The contents of jms.zip belong in org.apache.axis.transport.jms,
> the
> > > contents of JMSSamples.zip under samples/jms, and the following
> files
> > > replace the pre-existing ones-
> > > axisNLS.properties -> org.apache.axis.utils
> > > build.xml -> java
> > > targets.xml -> java/xmls
> > >
> > > At the moment JMSTest.java is intended to be run manually.  We
> would
> > > like to add more tests to the automated test suite, but we need to
> > > think
> > > about issues like starting and stopping a JMS provider process in
> a
> > > generic fashion.  Your input would be greatly appreciated on this.
> > >
> > > We would like to become committers to Axis, and get involved with
> Axis
> > > for the long term.  We are working on fine-tuning a proposal that
> > > outlines the details of what we would like to provide.  We will be
> > > sharing that with you by the end of this month, and look forward
> to
> > > hearing your feedback on it.
> > >
> > > We are very enthusiastic about getting involved in the Axis
> project,
> > > and
> > > look forward to working with you all.  We would also like to thank
> > > Glen
> > > for helping us to understand what it takes to get involved.
> > >
> > > FYI - I will be away from email for the next 1.5 days, but we will
> > > have
> > > engineers monitoring this list during that time to answer any
> > > questions.
> > >
> > > Regards,
> > > Dave Chappell
> > > Sonic Software
> > > ---
> > > David Chappell <ch...@sonicsoftware.com> Office: (781)999-7099
> > > Mobile: (617)510-6566
> > > Vice President and Chief Technology Evangelist, Sonic Software
> > > co-author,"Java Web Services", (O'Reilly 2002)
> > > "The Java Message Service", (O'Reilly 2000)
> > > "Professional ebXML Foundations", (Wrox 2001)
> > >
> > > <?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 targets SYSTEM "file:xmls/targets.xml">
> > > ]>
> > >
> > > <project default="compile" basedir=".">
> > > <!--
> > >
> ===================================================================
> > > -->
> > > <description>
> > > Build 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
> > >
> > > Optional components:
> > > SOAP Attachment support enablement:
> > > activation.jar     from
> > > http://java.sun.com/products/javabeans/glasgow/jaf.html
> > > mailapi.jar        from http://java.sun.com/products/javamail/
> > > JimiProClasses.zip from http://java.sun.com/products/jimi/
> > > Security support enablement:
> > > xmlsec.jar from fresh build of CVS from
> > > http://xml.apache.org/security/
> > > Other support jars from
> > > http://cvs.apache.org/viewcvs.cgi/xml-security/libs/
> > >
> > > Build Instructions:
> > > To build, run
> > >
> > > ant "target"
> > >
> > > on the directory where this file is located with the target you
> want.
> > >
> > > Most useful targets:
> > >
> > > - compile  : creates the "axis.jar" package in "./build/lib"
> > > - javadocs : creates the javadocs in "./build/javadocs"
> > > - dist     : creates the complete binary distribution
> > > - srcdist  : creates the complete src distribution
> > > - functional-tests : attempts to build Ant task and then run
> > > client-server functional test
> > > - war      : create the web application as a WAR file
> > > - clean    : clean up files and directories
> > >
> > > Custom post-compilation work:
> > >
> > > If you desire to do some extra work as a part of the build after
> the
> > > axis.jar is assembled, simply create an ant buildfile called
> > > "post-compile.xml" in this directory.  The build will
> automatically
> > > notice this and run it at the appropriate time.  This is handy for
> > > updating the jar file in a running server, for instance.
> > >
> > > Authors:
> > > Sam Ruby  rubys@us.ibm.com
> > > Matthew J. Duftler duftler@us.ibm.com
> > > Glen Daniels gdaniels@macromedia.com
> > >
> > > Copyright:
> > > Copyright (c) 2001-2002 Apache Software Foundation.
> > > </description>
> > > <!--
> > >
> ====================================================================
> > > -->
> > >
> > > <!-- Include the Generic XML files -->
> > > &properties;
> > > &paths;
> > > &taskdefs;
> > > &targets;
> > >
> > > <!--
> > >
> ===================================================================
> > > -->
> > > <!-- Compiles the source directory
> > >   -->
> > > <!--
> > >
> ===================================================================
> > > -->
> > > <target name="compile" depends="printEnv">
> > > <javac srcdir="${src.dir}" destdir="${build.dest}"
> debug="${debug}"
> > > deprecation="${deprecation}"
> > > classpathref="classpath">
> > > <exclude name="**/old/**/*" />
> > > <exclude name="**/bak/**"/>
> > > <exclude name="**/org/apache/axis/components/net/JSSE*.java"
> > > unless="jsse.present"/>
> > > <exclude name="**/org/apache/axis/components/net/Fake*.java"
> > > unless="jsse.present"/>
> > > <exclude name="**/org/apache/axis/components/image/JimiIO.java"
> > > unless="jimi.present"/>
> > > <exclude name="**/org/apache/axis/components/image/MerlinIO.java"
> > > unless="merlinio.present"/>
> > > <exclude
> name="**/org/apache/axis/attachments/AttachmentsImpl.java"
> > > unless="attachments.present"/>
> > > <exclude name="**/org/apache/axis/attachments/AttachmentPart.java"
> > > unless="attachments.present"/>
> > > <exclude
> name="**/org/apache/axis/attachments/AttachmentUtils.java"
> > > unless="attachments.present"/>
> > > <exclude name="**/org/apache/axis/attachments/MimeUtils.java"
> > > unless="attachments.present"/>
> > > <exclude
> > > name="**/org/apache/axis/attachments/ManagedMemoryDataSource.java"
> > > unless="attachments.present"/>
> > > <exclude
> > >
> name="**/org/apache/axis/attachments/MultiPartRelatedInputStream.java"
> > > unless="attachments.present"/>
> > > <exclude
> > > name="**/org/apache/axis/attachments/BoundaryDelimitedStream.java"
> > > unless="attachments.present"/>
> > > <exclude
> name="**/org/apache/axis/attachments/ImageDataSource.java"
> > > unless="jimiAndAttachments.present"/>
> > > <exclude
> > > name="**/org/apache/axis/attachments/MimeMultipartDataSource.java"
> > > unless="attachments.present"/>
> > > <exclude
> > > name="**/org/apache/axis/attachments/PlainTextDataSource.java"
> > > unless="attachments.present"/>
> > > <exclude
> > >
> >
> name="**/org/apache/axis/configuration/ServletEngineConfigurationFactory.java"
> > > unless="servlet.present"/>
> > > <exclude
> > >
> name="**/org/apache/axis/encoding/ser/JAFDataHandlerSerializer.java"
> > > unless="attachments.present"/>
> > > <exclude
> > >
> >
> name="**/org/apache/axis/encoding/ser/JAFDataHandlerDeserializerFactory.java"
> > > unless="attachments.present"/>
> > > <exclude
> > >
> name="**/org/apache/axis/encoding/ser/JAFDataHandlerSerializerFactory.java"
> > > unless="attachments.present"/>
> > > <exclude
> > >
> name="**/org/apache/axis/encoding/ser/JAFDataHandlerDeserializer.java"
> > > unless="attachments.present"/>
> > > <exclude name="**/org/apache/axis/handlers/MD5AttachHandler.java"
> > > unless="attachments.present"/>
> > > <exclude
> name="**/org/apache/axis/transport/http/AdminServlet.java"
> > > unless="servlet.present"/>
> > > <exclude
> name="**/org/apache/axis/transport/http/AxisHttpSession.java"
> > > unless="servlet.present"/>
> > > <exclude name="**/org/apache/axis/transport/http/AxisServlet.java"
> > > unless="servlet.present"/>
> > > <exclude
> > > name="**/org/apache/axis/transport/http/CommonsHTTPSender.java"
> > > unless="commons-httpclient.present"/>
> > > <exclude name="**/org/apache/axis/transport/jms/*"
> > > unless="jms.present"/>
> > > <exclude
> name="**/org/apache/axis/server/JNDIAxisServerFactory.java"
> > > unless="servlet.present"/>
> > > <exclude name="**/org/apache/axis/security/servlet/*"
> > > unless="servlet.present"/>
> > > <exclude name="**/javax/xml/soap/*.java"
> > > unless="attachments.present"/>
> > > <exclude name="**/javax/xml/rpc/handler/soap/*.java"
> > > unless="attachments.present"/>
> > > <exclude name="**/javax/xml/rpc/server/Servlet*.java"
> > > unless="servlet.present"/>
> > > <exclude name="**/*TestSuite.java" unless="junit.present"/>
> > > </javac>
> > > <copy file="${src.dir}/org/apache/axis/server/server-config.wsdd"
> > > toDir="${build.dest}/org/apache/axis/server"/>
> > > <copy file="${src.dir}/org/apache/axis/client/client-config.wsdd"
> > > toDir="${build.dest}/org/apache/axis/client"/>
> > > <copy file="${src.dir}/log4j.properties"
> > > toDir="${build.dest}"/>
> > > <copy file="${src.dir}/simplelog.properties"
> > > toDir="${build.dest}"/>
> > > <copy file="${src.dir}/org/apache/axis/utils/axisNLS.properties"
> > > toDir="${build.dest}/org/apache/axis/utils"/>
> > >
> > > <tstamp>
> > > <format property="build.time" pattern="MMM dd, yyyy (hh:mm:ss
> z)"/>
> > > </tstamp>
> > > <replace
> file="${build.dest}/org/apache/axis/utils/axisNLS.properties"
> > >
> > > token="#today#" value="${build.time}"/>
> > > <replace
> file="${build.dest}/org/apache/axis/utils/axisNLS.properties"
> > >
> > > token="#axisVersion#" value="${axis.version}"/>
> > >
> > > <jar jarfile="${build.lib}/${name}.jar" basedir="${build.dest}" >
> > > <include name="org/**" />
> > > <include name="log4j.properties"/>
> > > <include name="simplelog.properties"/>
> > > </jar>
> > > <jar jarfile="${build.lib}/${jaxrpc}.jar" basedir="${build.dest}"
> >
> > > <include name="javax/**"/>
> > > <exclude name="javax/xml/soap/**"/>
> > > </jar>
> > > <jar jarfile="${build.lib}/${saaj}.jar" basedir="${build.dest}" >
> > > <include name="javax/xml/soap/**"/>
> > > </jar>
> > > <copy file="${wsdl4j.jar}" toDir="${build.lib}"/>
> > > <copy file="${commons-logging.jar}" toDir="${build.lib}"/>
> > > <copy file="${commons-discovery.jar}" toDir="${build.lib}"/>
> > > <copy file="${log4j-core.jar}" toDir="${build.lib}"/>
> > >
> > > <!-- stub in my task generations -->
> > > <ant antfile="buildPreTestTaskdefs.xml" />
> > >
> > > <!--  Build the new org.apache.axis.tools.ant stuff -->
> > > <ant antfile="tools/build.xml" />
> > > <ant antfile="tools/build.xml" target="test"/>
> > >
> > > <antcall target="post-compile"/>
> > > </target>
> > >
> > > <!--
> > >
> ===================================================================
> > > -->
> > > <!-- Custom post-compilation step
> > >    -->
> > > <!--
> > >
> ===================================================================
> > > -->
> > > <target name="post-compile" if="post-compile.present">
> > > <ant antfile="post-compile.xml"/>
> > > </target>
> > >
> > > <!--
> > >
> ===================================================================
> > > -->
> > > <!-- Compiles the samples
> > >    -->
> > > <!--
> > >
> ===================================================================
> > > -->
> > > <target name="samples" depends="compile"
> > > description="build the samples">
> > >
> > > <!-- The interop echo sample depends on the wsdl2java task -->
> > > <javac srcdir="." destdir="${build.dest}"
> > > debug="${debug}">
> > > <classpath>
> > > <pathelement location="${build.lib}/${name}.jar"/>
> > > <pathelement location="${build.lib}/${jaxrpc}.jar"/>
> > > <pathelement location="${build.lib}/${saaj}.jar"/>
> > > <path refid="classpath"/>
> > > </classpath>
> > > <include name="test/wsdl/*.java" />
> > > </javac>
> > >
> > > <taskdef name="wsdl2java"
> > > classname="test.wsdl.Wsdl2javaAntTask">
> > > <classpath refid="test-classpath" />
> > > </taskdef>
> > >
> > > <!-- Create java files for the echo sample -->
> > > <wsdl2java url="samples/echo/InteropTest.wsdl"
> > > output="build/work"
> > > deployscope="session"
> > > serverSide="no"
> > > noimports="no"
> > > verbose="no"
> > > typeMappingVersion="1.1"
> > > testcase="no">
> > > <mapping namespace="http://soapinterop.org/"
> package="samples.echo"/>
> > > <mapping namespace="http://soapinterop.org/xsd"
> > > package="samples.echo"/>
> > > </wsdl2java>
> > >
> > > <!-- Compile the echo sample generated java files -->
> > > <javac srcdir="${build.dir}/work" destdir="${build.dest}"
> > > debug="${debug}">
> > > <classpath refid="test-classpath" />
> > > <include name="samples/echo/**.java" />
> > > </javac>
> > >
> > > <!-- AddressBook Sample -->
> > > <wsdl2java url="samples/addr/AddressBook.wsdl"
> > > output="build/work"
> > > deployscope="session"
> > > serverSide="yes"
> > > skeletonDeploy="yes"
> > > noimports="no"
> > > verbose="no"
> > > typeMappingVersion="1.1"
> > > testcase="no">
> > > <mapping namespace="urn:AddressFetcher2" package="samples.addr"/>
> > > </wsdl2java>
> > >
> > > <!-- jaxrpc Dynamic proxy with bean - Bug 10824 -->
> > > <wsdl2java url="samples/jaxrpc/address/Address.wsdl"
> > > output="build/work"
> > > serverSide="yes"
> > > testcase="no">
> > > </wsdl2java>
> > >
> > > <!-- Compile the echo sample generated java files -->
> > > <javac srcdir="${build.dir}/work" destdir="${build.dest}"
> > > debug="${debug}">
> > > <classpath refid="test-classpath" />
> > > <include name="samples/addr/**.java" />
> > > <include name="samples/jaxrpc/address/**.java" />
> > > </javac>
> > >
> > > <!-- Compile the sample code -->
> > > <javac srcdir="." destdir="${build.dest}"
> > > debug="${debug}">
> > > <classpath>
> > > <pathelement location="${build.lib}/${name}.jar"/>
> > > <pathelement location="${build.lib}/${jaxrpc}.jar"/>
> > > <pathelement location="${build.lib}/${saaj}.jar"/>
> > > <path refid="classpath"/>
> > > </classpath>
> > > <include name="samples/**/*.java" />
> > > <exclude name="samples/**/*SMTP*.java" unless="smtp.present" />
> > > <exclude name="**/old/**/*.java" />
> > > <exclude name="samples/userguide/example2/Calculator.java"/>
> > > <exclude name="samples/addr/AddressBookTestCase.java" unless=
> > > "junit.present"/>
> > > <exclude name="samples/userguide/example6/Main.java" />
> > > <exclude name="samples/userguide/example6/*Impl.java" />
> > > <exclude name="samples/userguide/example6/*TestCase.java" />
> > > <exclude name="samples/attachments/**/*.java"
> > > unless="attachments.present" />
> > > <exclude name="samples/security/**/*.java"
> unless="security.present"/>
> > > <exclude name="samples/jms/**/*.java" unless="jms.present"/>
> > > </javac>
> > > </target>
> > >
> > > <!--
> > >
> ===================================================================
> > > -->
> > > <!-- Compiles the JUnit testcases -->
> > > <!--
> > >
> ===================================================================
> > > -->
> > >
> > > <path id="test-classpath">
> > > <pathelement location="${build.dest}" />
> > > <path refid="classpath"/>
> > > </path>
> > >
> > > <target name="buildTest" if="junit.present"
> depends="compile,samples">
> > > <echo message="junit package found ..."/>
> > > <!-- Start by building the testcases -->
> > > <javac srcdir="." destdir="${build.dest}"
> > > debug="${debug}">
> > > <classpath>
> > > <pathelement location="${build.lib}/${name}.jar"/>
> > > <pathelement location="${build.lib}/${jaxrpc}.jar"/>
> > > <pathelement location="${build.lib}/${saaj}.jar"/>
> > > <path refid="classpath"/>
> > > </classpath>
> > > <include name="test/**/*.java" />
> > > <exclude name="test/lib/*.java"/>
> > > <exclude name="test/inout/*.java" />
> > > <exclude name="test/wsdl/*/*.java" />
> > > <exclude name="test/wsdl/interop3/groupE/**/*.java" />
> > > <exclude name="test/wsdl/interop3/**/*.java" />
> > > <exclude name="test/wsdl/Wsdl2javaTestSuite.java"
> > > unless="servlet.present"/>
> > > <exclude name="test/md5attach/*.java"
> unless="attachments.present"/>
> > > <exclude name="test/functional/TestAttachmentsSample.java"
> > > unless="attachments.present"/>
> > > <exclude name="test/wsdl/attachments/*.java"
> > > unless="jimiAndAttachments.present" />
> > > <exclude name="test/httpunit/**/*.java"/>
> > > </javac>
> > > <copy file="test/wsdd/testStructure1.wsdd"
> > > toDir="${build.dest}/test/wsdd"/>
> > > </target>
> > >
> > > <!--
> > >
> ===================================================================
> > > -->
> > > <!-- Runs the JUnit package testcases -->
> > > <!--
> > >
> ===================================================================
> > > -->
> > > <target name="junit" if="junit.present"
> depends="samples,buildTest">
> > > <mkdir dir="${test.functional.reportdir}" />
> > > <junit printsummary="yes" haltonfailure="yes" fork="yes">
> > > <classpath refid="test-classpath" />
> > > <formatter type="xml" />
> > > <batchtest todir="${test.functional.reportdir}">
> > > <fileset dir="${build.dir}/classes">
> > > <!-- Convention: each package that's being tested
> > > has its own test class collecting all the tests -->
> > > <include name="**/PackageTests.class" />
> > > <!-- <include name="**/test/*TestSuite.class"/> -->
> > > </fileset>
> > > </batchtest>
> > > </junit>
> > > </target>
> > >
> > > <!--
> > >
> ===================================================================
> > > -->
> > > <!-- Functional tests, no dependencies (for no-build testing)
> > >    -->
> > > <!--
> > >
> ===================================================================
> > > -->
> > > <target name="functional-tests-only" depends="printEnv"
> > > description="functional tests without a rebuild; the Axis Ant task
> > > must be in ANT_HOME/lib"
> > > >
> > >
> > > <!-- The Axis Ant task must be built (into ANT_HOME/lib)... -->
> > > <ant antfile="test/build_functional_tests.xml"
> > > target="functional-tests-only"/>
> > >
> > > <!--
> > > ...and then the functional tests can be run.  If this step yields
> a
> > > "can't find class test.functional.ant.RunAxisFunctionalTestsTask",
> > > verify that your Ant classpath contains ANT_HOME/lib.
> > > -->
> > >
> > > </target>
> > >
> > > <target name="functional-tests-secure-only" depends="printEnv"
> > > description="functional secure tests without a rebuild;"
> > > >
> > > <ant antfile="test/build_functional_tests.xml"
> > > target="functional-tests-secure-only"/>
> > > </target>
> > >
> > > <!--
> > >
> ===================================================================
> > > -->
> > > <!-- Functional tests, no server (for testing under debugger)
> > >    -->
> > > <!--
> > >
> ===================================================================
> > > -->
> > > <target name="functional-tests-noserver" depends="buildTest,
> samples"
> > > description="functional tests, no server">
> > > <ant antfile="test/build_functional_tests.xml"
> > > target="junit-functional-noserver">
> > > <property name="test.functional.usefile"
> > > value="${test.functional.usefile}"/>
> > > </ant>
> > >
> > > </target>
> > >
> > > <!--
> > >
> ===================================================================
> > > -->
> > > <!-- Functional tests, with server
> > >   -->
> > > <!--
> > >
> ===================================================================
> > > -->
> > > <target name="functional-tests" depends="buildTest, samples"
> > > description="functional tests">
> > > <ant antfile="test/build_functional_tests.xml">
> > > <property name="test.functional.usefile"
> > > value="${test.functional.usefile}"/>
> > > </ant>
> > > </target>
> > >
> > > <!-- Security only tests, with full dependencies -->
> > > <target name="secure-tests" depends="junit,
> > > functional-tests-secure-only">
> > > </target>
> > >
> > > <!-- All tests -->
> > > <target name="all-tests" depends="junit, functional-tests">
> > > </target>
> > >
> > > <!--
> > >
> ===================================================================
> > > -->
> > > <!-- Creates the API documentation
> > >   -->
> > > <!--
> > >
> ===================================================================
> > > -->
> > > <target name="javadocs" depends="printEnv"
> > > unless="javadoc.notrequired"
> > > description="create javadocs">
> > >
> > > <mkdir dir="${build.javadocs}"/>
> > > <javadoc packagenames="${packages}"
> > > sourcepath="${src.dir}"
> > > classpathref="classpath"
> > > destdir="${build.javadocs}"
> > > author="true"
> > > version="true"
> > > use="true"
> > > windowtitle="${Name} API"
> > > doctitle="${Name}"
> > > bottom="Copyright &#169; ${year} Apache XML Project. All Rights
> > > Reserved."
> > > />
> > > </target>
> > >
> > > <!--
> > >
> ===================================================================
> > > -->
> > > <!-- Build/Test EVERYTHING from scratch!
> > >   -->
> > > <!--
> > >
> ===================================================================
> > > -->
> > > <target name="all" depends="dist, functional-tests"
> > > description="do everything: distribution build and functional
> tests"
> > > />
> > >
> > > <!--
> > >
> ===================================================================
> > > -->
> > > <!-- Creates a war file for testing
> > >    -->
> > > <!--
> > >
> ===================================================================
> > > -->
> > > <target name="war" depends="compile, samples"
> > > description="Create the web application" >
> > > <mkdir dir="${build.webapp}"/>
> > > <copy todir="${build.webapp}">
> > > <fileset dir="${webapp}"/>
> > > </copy>
> > > <copy todir="${build.webapp}/WEB-INF/lib">
> > > <fileset dir="${lib.dir}">
> > > <include name="*.jar"/>
> > > </fileset>
> > > <fileset dir="${build.lib}">
> > > <include name="*.jar"/>
> > > </fileset>
> > > </copy>
> > > <copy todir="${build.webapp}/samples">
> > > <fileset dir="./samples"/>
> > > </copy>
> > > <copy todir="${build.webapp}/WEB-INF/classes/samples">
> > > <fileset dir="${build.samples}"/>
> > > </copy>
> > > <copy todir="${build.webapp}/WEB-INF">
> > > <fileset dir="${samples.dir}/stock">
> > > <include name="*.lst"/>
> > > </fileset>
> > > </copy>
> > > <delete>
> > > <fileset dir="${build.webapp}" includes="**/CVS"/>
> > > </delete>
> > > <jar jarfile="${build.dir}/${name}.war"
> basedir="${build.webapp}"/>
> > > </target>
> > >
> > > <!--
> > >
> ===================================================================
> > > -->
> > > <!-- Creates the binary distribution
> > >   -->
> > > <!--
> > >
> ===================================================================
> > > -->
> > > <target name="javadocsdist" depends="javadocs"
> > > unless="javadoc.notrequired">
> > > <mkdir dir="${dist.dir}/docs"/>
> > > <mkdir dir="${dist.dir}/docs/apiDocs"/>
> > > <copy todir="${dist.dir}/docs/apiDocs">
> > > <fileset dir="${build.javadocs}"/>
> > > </copy>
> > > </target>
> > >
> > > <target name="dist" depends="compile, javadocsdist, samples,
> junit"
> > > description="create the full binary distribution">
> > > <mkdir dir="${dist.dir}"/>
> > > <mkdir dir="${dist.dir}/lib"/>
> > > <mkdir dir="${dist.dir}/samples"/>
> > > <mkdir dir="${dist.dir}/webapps/axis"/>
> > >
> > > <copy todir="${dist.dir}/lib">
> > > <fileset dir="${build.lib}"/>
> > > </copy>
> > > <copy todir="${dist.dir}/samples">
> > > <fileset dir="${build.samples}"/>
> > > <fileset dir="./samples"/>
> > > </copy>
> > > <copy todir="${dist.dir}/docs">
> > > <fileset dir="${docs.dir}"/>
> > > </copy>
> > > <copy todir="${dist.dir}/webapps/axis">
> > > <fileset dir="${webapp}"/>
> > > </copy>
> > > <copy todir="${dist.dir}/webapps/axis/WEB-INF">
> > > <fileset dir="${samples.dir}/stock">
> > > <include name="*.lst"/>
> > > </fileset>
> > > </copy>
> > > <copy todir="${dist.dir}/webapps/axis/WEB-INF/lib">
> > > <fileset dir="${build.lib}">
> > > <include name="*.jar"/>
> > > </fileset>
> > > </copy>
> > > <copy todir="${dist.dir}/webapps/axis/WEB-INF/classes/samples">
> > > <fileset dir="${build.samples}"/>
> > > </copy>
> > > <!--
> > > <copy file="../LICENSE" tofile="${dist.dir}/LICENSE"/>
> > > -->
> > > <copy file="README" tofile="${dist.dir}/README"/>
> > > <copy file="release-notes.html"
> > > tofile="${dist.dir}/release-notes.html"/>
> > > </target>
> > >
> > > <!--
> > >
> ===================================================================
> > > -->
> > > <!-- Creates the source distribution
> > >   -->
> > > <!--
> > >
> ===================================================================
> > > -->
> > > <target name="srcdist" depends="javadocs"
> > > description="Create the source distribution">
> > > <copy todir="${dist.dir}">
> > > <fileset dir=".">
> > > <include name="build.xml"/>
> > > <include name="README"/>
> > > <include name="docs/**"/>
> > > <include name="lib/**"/>
> > > <include name="samples/**"/>
> > > <include name="src/**"/>
> > > <include name="test/**"/>
> > > <include name="webapps/**"/>
> > >
> > > <exclude name="**/CVS/**"/>
> > > </fileset>
> > > </copy>
> > > <copy todir="${dist.dir}/docs/apiDocs">
> > > <fileset dir="${build.javadocs}"/>
> > > </copy>
> > > <copy file="../LICENSE" tofile="${dist.dir}/LICENSE"/>
> > > </target>
> > >
> > > <!--
> > >
> ===================================================================
> > > -->
> > > <!-- Interop 3
> > >   -->
> > > <!--
> > >
> ===================================================================
> > > -->
> > > <target name="interop3" depends="buildTest"
> > > description="run the round3 interop tests">
> > > <ant dir="test/wsdl/interop3/import1"/>
> > > <ant dir="test/wsdl/interop3/import2"/>
> > > <ant dir="test/wsdl/interop3/import3"/>
> > > <ant dir="test/wsdl/interop3/compound1"/>
> > > <ant dir="test/wsdl/interop3/compound2"/>
> > > <ant dir="test/wsdl/interop3/docLit"/>
> > > <ant dir="test/wsdl/interop3/docLitParam"/>
> > > <ant dir="test/wsdl/interop3/rpcEnc"/>
> > > </target>
> > >
> > > <!--
> > >
> ===================================================================
> > > -->
> > > <!-- Cleans everything
> > >   -->
> > > <!--
> > >
> ===================================================================
> > > -->
> > > <target name="clean"
> > > description="clean up, build, dist and much of the axis servlet">
> > > <delete dir="${build.dir}"/>
> > > <delete dir="${dist.dir}"/>
> > > <delete file="client-config.wsdd"/>
> > > <delete file="server-config.wsdd"/>
> > > <delete file="webapps/axis/WEB-INF/server-config.wsdd"/>
> > > <delete>
> > > <fileset dir="webapps/axis" includes="**/*.class" />
> > > </delete>
> > > <delete dir="test-reports"/>
> > > <delete file="TEST-test.functional.FunctionalTests.txt"/>
> > > </target>
> > >
> > > <!--
> > >
> ===================================================================
> > > -->
> > > <!-- Check the style of the Axis source
> > >   -->
> > > <!--
> > >
> ===================================================================
> > > -->
> > > <target name="checkstyle"
> > > description="Check the style of the Axis source" >
> > > <ant dir="." target="checkstyle"
> > > antfile="xmls/checkstyle.xml"
> > > inheritall="true"
> > > inheritrefs="true"
> > > >
> > > <property name="checkstyle.project"
> > > value="axis" />
> > > <property name="checkstyle.src.dir"
> > > location="${axis.home}/src" />
> > > </ant>
> > > </target>
> > > </project>
> > >
> > > # Translation instructions.
> > > # 1.  Each message line is of the form key=value.
> > > #     Translate the value, DO NOT translate the key.
> > > # 2.  The messages may contain arguments that will be filled in
> > > #     by the runtime.  These are of the form: {0}, {1}, etc.
> > > #     These must appear as is in the message, though the order
> > > #     may be changed to support proper language syntax.
> > > # 3.  If a single quote character is to appear in the resulting
> > > #     message, it must appear in this file as two consecutive
> > > #     single quote characters.
> > > # 4.  Lines beginning with "#" (like this one) are comment lines
> > > #     and may contain translation instructions.  They need not be
> > > #     translated unless your translated file, rather than this
> file,
> > > #     will serve as a base for other translators.
> > >
> > > addAfterInvoke00={0}:  the chain has already been invoked
> > > addBody00=Adding body element to message...
> > > addHeader00=Adding header to message...
> > > addTrailer00=Adding trailer to message...
> > > adminServiceDeny=Denying service admin request from {0}
> > > adminServiceLoad=Current load = {0}
> > > adminServiceStart=Starting service in response to admin request
> from
> > > {0}
> > > adminServiceStop=Stopping service in response to admin request
> from
> > > {0}
> > > auth00=User ''{0}'' authenticated to server
> > > auth01=User ''{0}'' authorized to ''{1}''
> > >
> > > # NOTE:  in axisService00, do not translate "AXIS"
> > > axisService00=Hi there, this is an AXIS service!
> > >
> > > # NOTE:  in badArrayType00, do not translate "arrayTypeValue"
> > > badArrayType00=Malformed arrayTypeValue ''{0}''
> > >
> > > # NOTE:  in badAuth00, do not translate ""Basic""
> > > badAuth00=Bad authentication type (I can only handle "Basic").
> > >
> > > badBool00=Invalid boolean
> > >
> > > # NOTE:  in badCall00, do not translate "Call"
> > > badCall00=Cannot update the Call object
> > > badCall01=Failure trying to get the Call object
> > > badCall02=Invocation of Call.getOutputParams failed
> > >
> > > badChars00=Unexpected characters
> > > badChars01=Bad character or insufficient number of characters in
> hex
> > > string
> > > badCompile00=Error while compiling:  {0}
> > > badDate00=Invalid date
> > > badDateTime00=Invalid date/time
> > > badElem00=Invalid element in {0} - {1}
> > > badHandlerClass00=Class ''{0}'' is not a Handler (can't be used in
> > > HandlerProvider)!
> > > badHolder00=Holder of wrong type.
> > > badInteger00=Explicit array length is not a valid integer ''{0}''.
> > >
> > > # NOTE:  in badMsgCtx00, do not translate "--messageContext",
> > > "--skeleton"
> > > badMsgCtx00=Error: --messageContext switch only valid with
> --skeleton
> > >
> > > badNameAttr00=No ''name'' attribute was specified in an
> undeployment
> > > element
> > > badNamespace00=Bad envelope namespace:  {0}
> > > badNameType00=Invalid Name
> > > badNCNameType00=Invalid NCName
> > > badNmtoken00=Invalid Nmtoken
> > > badOffset00=Malformed offset attribute ''{0}''.
> > > badpackage00=Error: --NStoPKG and --package switch can't be used
> > > together
> > > # NOTE:  in badParmMode00, do not translate "Parameter".
> > > badParmMode00=Invalid Parameter mode {0}.
> > > badPosition00=Malformed position attribute ''{0}''.
> > > badProxy00=Proxy port number, "{0}", incorrectly formatted
> > > badPort00=portName should not be null
> > >
> > > # NOTE:  in badRequest00, do not translate "GET", "POST"
> > > badRequest00=Cannot handle non-GET, non-POST request
> > >
> > > # NOTE:  in badRootElem00, do not translate "clientdeploy",
> "deploy",
> > > "undeploy", "list", "passwd", "quit"
> > > badRootElem00=Root element must be ''clientdeploy'', ''deploy'',
> > > ''undeploy'', ''list'', ''passwd'', or ''quit''
> > >
> > > badScope00=Unrecognized scope:  {0}.  Ignoring it.
> > > badTag00=Bad envelope tag:  {0}
> > > badTime00=Invalid time
> > > badTimezone00=Invalid timezone
> > > badTypeNamespace00=Found languageSpecificType namespace ''{0}'',
> > > expected ''{1}''
> > > badUnsignedByte00=Invalid unsigned byte
> > > badUnsignedShort00=Invalid unsigned short
> > > badUnsignedInt00=Invalid unsigned int
> > > badUnsignedLong00=Invalid unsigned long
> > > badWSDDElem00=Invalid WSDD Element
> > > beanSerConfigFail00=Exception configuring bean serialization for
> {0}
> > > bodyElementParent=Warning: SOAPBodyElement.setParentElement should
> > > take a SOAPBody parameter instead of a SOAPEnvelope (but need not
> be
> > > called after SOAPBody.addBodyElement)
> > > bodyElems00=There are {0} body elements.
> > > bodyIs00=body is {0}
> > > bodyPresent=Body already present
> > > buildChain00={0} building chain ''{1}''
> > > cantAuth00=User ''{0}'' not authenticated (unknown user)
> > > cantAuth01=User ''{0}'' not authenticated
> > > cantAuth02=User ''{0}'' not authorized to ''{1}''
> > >
> > > # NOTE:  in the cantConvertXX messages, do not translate "bytes",
> > > "String", "bean", "int"
> > > cantConvert00=Cannot convert {0} to bytes
> > > cantConvert01=Cannot convert form {0} to String
> > > cantConvert02=Could not convert {0} to bean field ''{1}'', type
> {2}
> > > cantConvert03=Could not convert value to int
> > >
> > > cantDoNullArray00=Cannot serialize null arrays just yet...
> > >
> > > # NOTE:  in cantDoURL00, do not translate "getURL", "URL"
> > > cantDoURL00=getURL failed to correctly process URL; protocol not
> > > supported
> > >
> > > cantHandle00={0} cannot handle structured data!
> > >
> > > # NOTE:  in cantInvoke00, do not translate "Call" or "URI"
> > > cantInvoke00=Cannot invoke Call with null namespace URI for method
> {0}
> > >
> > > cantResolve00=Cannot resolve chain
> > >
> > > # NOTE:  in cantSerialize00, do not translate "ArraySerializer"
> > > cantSerialize00=Cannot serialize a {0} with the ArraySerializer!
> > >
> > > # NOTE:  in cantSerialize01, do not translate "Elements" and
> > > "ElementSerializer"
> > > cantSerialize01=Cannot serialize non-Elements with an
> > > ElementSerializer!
> > >
> > > cantSerialize02=Cannot serialize a raw object
> > > cantSetURI00=Cannot set location URI:  {0}
> > > cantTunnel00=Unable to tunnel through {0}:{1}.  Proxy returns
> "{2}"
> > > changePwd00=Changing admin password
> > > childPresent=MessageElement.setObjectValue called when a child
> element
> > > is present
> > > compiling00=Compiling:  {0}
> > > ctor00=Constructor
> > > convert00=Trying to convert {0} to {1}
> > > copy00=copy {0} {1}
> > > couldntCall00=Could not get a call
> > > couldntConstructProvider00=Service couldn't construct provider!
> > >
> > > # NOTE:  in createdHTTP entries, do not translate "HTTP"
> > > createdHTTP00=Created an insecure HTTP connection
> > > createdHTTP01=Created an insecure HTTP connection using proxy {0},
> > > port {1}
> > >
> > > # NOTE:  in createdSSL00, do not translate "SSL"
> > > createdSSL00=Created an SSL connection
> > >
> > > connectionClosed00=Connection closed.
> > >
> > > debugLevel00=Setting debug level to:  {0}
> > >
> > > # NOTE:  in defaultLogic00, do not translate "AxisServer"
> > > defaultLogic00=Calling default logic in AxisServer
> > >
> > > deployChain00=Deploying chain:  {0}
> > > deployHandler00=Deploying handler:  {0}
> > > deployService00=Deploying service ''{0}'' into {1}
> > > deployService01=Deploying service:  {0}
> > > deployTransport00=Deploying transport:  {0}
> > >
> > > # NOTE:  in deserFact00, do not translate "DeserializerFactory"
> > > deserFact00=DeserializerFactory class is {0}
> > >
> > > disabled00=functionality disabled.
> > > dispatching00=Dispatching to a body namespace ''{0}''
> > > doList00=Doing a list
> > > done00=Done processing
> > > doQuit00=Doing a quit
> > >
> > > dupConfigProvider00=Attempt to set configProvider for
> > > already-configured Service!
> > > duplicateFile00=Duplicate file name: {0}.  \nHint: you may have
> mapped
> > > two namespaces with elements of the same name to the same package
> > > name.
> > > duplicateClass00=Duplicate class name: {0}.  \nHint: you may have
> > > mapped two namespaces with elements of the same name to the same
> > > package name.
> > >
> > > elapsed00=Elapsed: {0} milliseconds
> > >
> > > # NOTE:  in emitFail00, do not translate "parameterOrder"
> > > emitFail00=Emitter failure.  All input parts must be listed in the
> > > parameterOrder attribute of {0}
> > >
> > > # NOTE:  in emitFail01, do not translate "portType", "binding"
> > > emitFail01=Emitter failure.  Cannot find portType operation
> parameters
> > > for binding {0}
> > >
> > > # NOTE:  in emitFail02 and emitFail03, do not translate "port",
> > > "service"
> > > emitFail02=Emitter failure.  Cannot find endpoint address in port
> {0}
> > > in service {1}
> > > emitFail03=Emitter failure.  Invalid endpoint address in port {0}
> in
> > > service {1}:  {2}
> > >
> > > # NOTE do not translate "binding", "port", "service", or
> "portType"
> > > emitFailNoBinding01=Emitter failure.  No binding found for port
> {0}
> > > emitFailNoBindingEntry01=Emitter failure. No binding entry found
> for
> > > {0}
> > > emitFailNoPortType01=Emitter failure.  No portType entry found for
> {0}
> > > emitFailtUndefinedBinding01=Emitter failure.  There is an
> undefined
> > > binding ({0}) in the WSDL document.\nHint: make sure <port
> > > binding=\"..\"> is fully qualified.
> > > emitFailtUndefinedBinding02=Emitter failure.  There is an
> undefined
> > > binding ({0}) in the WSDL document {1}.\nHint: make sure <port
> > > binding=\"..\"> is fully qualified.
> > > emitFailtUndefinedMessage01=Emitter failure.  There is an
> undefined
> > > message ({0}) in the WSDL document.\nHint: make sure <input
> > > message=\"..\"> and <output message=".."> are fully qualified.
> > > emitFailtUndefinedPort01=Emitter failure.  There is an undefined
> > > portType ({0}) in the WSDL document.\nHint: make sure <binding
> > > type=\"..\"> is fully qualified.
> > > emitFailtUndefinedPort02=Emitter failure.  There is an undefined
> > > portType ({0}) in the WSDL document {1}.\nHint: make sure <binding
> > > type=\"..\"> is fully qualified.
> > >
> > > emitter00=emitter
> > > empty00=empty
> > >
> > > # NOTE:  in enableTransport00, do not translate "SOAPService"
> > > enableTransport00=SOAPService({0}) enabling transport {1}
> > >
> > > end00=end
> > > endDoc00=End document
> > > endDoc01=Done with document
> > > endElem00=End element {0}
> > > endPrefix00=End prefix mapping ''{0}''
> > > enter00=Enter:  {0}
> > >
> > > #NOTE:  in error00, do not translate "AXIS"
> > > error00=AXIS error
> > >
> > > error01=Error:  {0}
> > > errorInvoking00=Error invoking operation:  {0}
> > > errorProcess00=Error processing ''{0}''
> > > exit00=Exit:  {0}
> > > exit01=Exit:  {0} no-argument constructor
> > > exit02=Exit:  {0} - {1} is null
> > > fault00=Fault occurred
> > > fileExistError00=Error determining if {0} already exists.  Will
> not
> > > generate this file.
> > > filename00=File name is:  {0}
> > > filename01={0}:  request file name = ''{1}''
> > > fromFile00=From file:  ''{0}'':''{1}''
> > > from00=From {0}
> > > genDeploy00=Generating deployment document
> > > genDeployFail00=Failed to write deployment document
> > > genFault00=Generating fault class
> > > genHolder00=Generating type implementation holder
> > >
> > > # NOTE:  in genIFace00, do not translate "portType"
> > > genIface00=Generating portType interface
> > > genIface01=Generating server-side portType interface
> > >
> > > genImpl00=Generating server-side implementation template
> > >
> > > # NOTE:  in genService00, do not translate "service"
> > > genService00=Generating service class
> > >
> > > genSkel00=Generating server-side skeleton
> > > genStub00=Generating client-side stub
> > > genTest00=Generating service test case
> > > genType00=Generating type implementation
> > > genHelper00=Generating helper implementation
> > > genUndeploy00=Generating undeployment document
> > > genUndeployFail00=Failed to write undeployment document
> > > getProxy00=Use to get a proxy class for {0}
> > > got00=Got {0}
> > > gotForID00=Got {0} for ID {1} (class = {2})
> > > gotPrincipal00=Got principal:  {0}
> > > gotResponse00=Got response message
> > > gotType00={0} got type {1}
> > > gotValue00={0} got value {1}
> > > handlerRegistryConfig=Service does not support configuration of a
> > > HandlerRegistry
> > > headers00=headers
> > > headerPresent=Header already present
> > >
> > > # NOTE:  in httpPassword00, do not translate HTTP
> > > httpPassword00=HTTP password:  {0}
> > >
> > > # NOTE:  in httpPassword00, do not translate HTTP
> > > httpUser00=HTTP user id:  {0}
> > >
> > > inMsg00=In message: {0}
> > > internalError00=Internal error
> > > internalError01=Internal server error
> > >
> > > invalidConfigFilePath=Configuration file directory ''{0}'' is not
> > > readable.
> > >
> > > invalidWSDD00=Invalid WSDD element ''{0}'' (wanted ''{1}'')
> > >
> > > # NOTE:  in invokeGet00, do no translate "GET"
> > > invokeGet00=invoking via GET
> > >
> > > invokeRequest00=Invoking request chain
> > > invokeResponse00=Invoking response chain
> > > invokeService00=Invoking service/pivot
> > > isNull00=is {0} null?  {1}
> > >
> > > lookup00=Looking up method {0} in class {1}
> > > makeEnvFail00=Could not make envelope
> > > match00={0} match:  host:  {1}, pattern:  {2}
> > > mustBeIface00=Only interfaces may be used for the proxy class
> argument
> > > mustExtendRemote00=Only interfaces which extend java.rmi.Remote
> may be
> > > used for the proxy class argument
> > > namesDontMatch00=Method names do not match\nBody method name =
> > > {0}\nService method names = {1}
> > > namesDontMatch01=Method names do not match\nBody name =
> {0}\nService
> > > name = {1}\nService nameList = {2}
> > > needPwd00=Must specify a password!
> > > needService00=No target service to authorize for!
> > > needUser00=Need to specify a user for authorization!
> > > never00={0}:  this should never happen!  {1}
> > >
> > > # NOTE:  in newElem00, do not translate "MessageElement"
> > > newElem00=New MessageElement ({0}) named {1}
> > >
> > > no00=no {0}
> > > noAdminAccess00=Remote administrator access is not allowed!
> > > noArrayArray00=Arrays of arrays are not supported ''{0}''.
> > >
> > > # NOTE:  in noArrayType00, do no translate "arrayType"
> > > noArrayType00=No arrayType attribute for array!
> > >
> > > # NOTE:  in noBeanHome00, do not translate "EJBProvider"
> > > noBeanHome00=EJBProvider cannot get Bean Home
> > >
> > > # NOTE:  in noBody00, do not translate "Body"
> > > noBody00=Body not found.
> > >
> > > noChains00=Services must use targeted chains
> > > noClass00=Could not create class {0}
> > >
> > > # NOTE:  in noClassname00, do not translate "classname"
> > > noClassname00=No classname attribute in type mapping
> > >
> > > noComponent00=No deserializer defined for array type {0}
> > > noConfig00=No engine configuration file - aborting!
> > >
> > > # NOTE:  in noContext00, do not translate
> > > "MessageElement.getValueAsType()"
> > > noContext00=No deserialization context to use in
> > > MessageElement.getValueAsType()!
> > >
> > > # NOTE:  in noContext01, do not translate "EJBProvider", "Context"
> > > noContext01=EJBProvider cannot get Context
> > >
> > > # NOTE:  in noCustomElems00, do not translate "<body>"
> > > noCustomElems00=No custom elements allowed at top level until
> after
> > > the <body> tag
> > > noData00=No data
> > > noDeploy00=Could not generate deployment list!
> > > noDeser00=No deserializer for {0}
> > >
> > > # NOTE:  in noDeserFact00, do not translate "DeserializerFactory"
> > > noDeserFact00=Could not load DeserializerFactory {0}
> > >
> > > noDeser01=Deserializing parameter ''{0}'':  could not find
> > > deserializer for type {1}
> > > noDoc00=Could not get DOM document: XML was "{0}"
> > >
> > > # NOTE:  in noEngine00, do not translate "AXIS"
> > > noEngine00=Could not find AXIS engine!
> > >
> > > # NOTE:  in noEngineConfig00, do not translate "engineConfig"
> > > noEngineConfig00=Wanted ''engineConfig'' element, got ''{0}''
> > >
> > > # NOTE:  in engineConfigWrongClass??, do not translate
> > > "EngineConfiguration"
> > > engineConfigWrongClass00=Expected instance of
> ''EngineConfiguration''
> > > in environment
> > > engineConfigWrongClass01=Expected instance of ''{0}'' to be of
> type
> > > ''EngineConfiguration''
> > >
> > > # NOTE:  in engineConfigNoClass00, do not translate
> > > "EngineConfiguration"
> > > engineConfigNoClass00=''EngineConfiguration'' class not found:
> ''{0}''
> > >
> > > engineConfigNoInstance00=''{0}'' class cannot be instantiated
> > > engineConfigIllegalAccess00=Illegal access while instantiating
> class
> > > ''{0}''
> > >
> > > jndiNotFound00=JNDI InitialContext() returned null, default to
> > > non-JNDI behavior (DefaultAxisServerFactory)
> > >
> > > # NOTE:  in servletContextWrongClass00, do not translate
> > > "ServletContext"
> > > servletContextWrongClass00=Expected instance of ''ServletContext''
> in
> > > environment
> > >
> > > noEngineWSDD=Engine configuration is not present or not WSDD!
> > >
> > > noHandler00=Cannot locate handler:  {0}
> > >
> > > # NOTE:  in noHandler01, do not translate "QName"
> > > noHandler01=No handler for QName {0}
> > >
> > > noHandler02=Could not find registered handler ''{0}''
> > >
> > > noHandlerClass00=No HandlerProvider ''handlerClass'' option was
> > > specified!
> > >
> > > noHandlersInChain00=No handlers in {0} ''{1}''
> > >
> > > noHeader00=no {0} header!
> > >
> > > # NOTE:  in noInstructions00, do not translate "SOAP"
> > > noInstructions00=Processing instructions are not allowed within
> SOAP
> > > messages
> > >
> > > # NOTE:  in noJSSE00, do not translate "SSL", JSSE", "classpath"
> > > noJSSE00=SSL feature disallowed:  JSSE files not installed or
> present
> > > in classpath
> > >
> > > noMap00={0}:  {1} is not a map
> > >
> > > noMatchingProvider00=No provider type matches QName ''{0}''
> > >
> > > noMethod00=Method not found\nMethod name = {0}\nService name = {1}
> > > noMethod01=No method!
> > > noMultiArray00=Multidimensional arrays are not supported ''{0}''.
> > > noOperation00=No operation name specified!
> > > noOperation01=Cannot find operation:  {0} - none defined
> > > noOperation02=Cannot find operation:  {0}
> > > noOption00=No ''{0}'' option was configured for the service
> ''{1}''
> > >
> > > # NOTE:  in noParent00, do not translate "SOAPTypeMappingRegistry"
> > > noParent00=no SOAPTypeMappingRegistry parent
> > >
> > > noPart00={0} not found as an input part OR an output part!
> > > noPivot00=No pivot handler ''{0}'' found!
> > > noPivot01=Can't deploy a Service with no provider (pivot)!
> > >
> > > # NOTE:  in noPort00, do not translate "port"
> > > noPort00=Cannot find port:  {0}
> > >
> > > # NOTE:  in noPortType00, do not translate "portType"
> > > noPortType00=Cannot find portType:  {0}
> > >
> > > noPrefix00={0} did not find prefix:  {1}
> > > noPrincipal00=No principal!
> > > noProviderAttr00=No provider specified for service ''{0}''
> > > noProviderElem00=The required provider element is missing
> > > noRecorder00=No event recorder inside element
> > >
> > > # NOTE:  in noRequest00, do not translate "MessageContext"
> > > noRequest00=No request message in MessageContext?
> > >
> > > noRequest01=No request chain
> > > noResponse00=No response chain
> > > noResponse01=No response message!
> > > noRoles00=No roles specified for target service, allowing.
> > > noRoles01=No roles specified for target service, disallowing.
> > > noSerializer00=No serializer found for class {0} in registry {1}
> > > noSerializer01=Could not load serializer class {0}
> > > noService00=Cannot find service:  {0}
> > > noService01=No service has been defined
> > > noService02=This service is not available at this endpoint ({0}).
> > > noService03=No service/pivot
> > > noService04=No service object defined for this Call object.
> > >
> > > #NOTE:  in noService04, do not translate "AXIS", "targetService"
> > > noService05=The AXIS engine could not find a target service to
> invoke!
> > >  targetService is {0}
> > >
> > > noService06=No service is available at this URL
> > >
> > > # NOTE:  in noSecurity00, do not translate "MessageContext"
> > > noSecurity00=No security provider in MessageContext!
> > >
> > > # NOTE:  in noSOAPAction00, do not translate "HTTP", "SOAPAction"
> > > noSOAPAction00=No HTTP SOAPAction property in context
> > >
> > > noTransport00=No client transport named ''{0}'' found!
> > > noTransport01=No transport mapping for protocol:  {0}
> > > noType00=No mapped schema type for {0}
> > >
> > > # NOTE:  in noType01, do not translate "vector"
> > > noType01=No type attribute for vector!
> > >
> > > noTypeAttr00=Must include type attribute for Handler deployment!
> > >
> > > noTypeQName00=No type QName for mapping!
> > >
> > > notAuth00=User ''{0}'' not authorized to ''{1}''
> > > notImplemented00={0} is not implemented!
> > >
> > > noTypeOnGlobalConfig00=GlobalConfiguration does not allow the
> ''type''
> > > attribute!
> > >
> > > # NOTE:  in noUnderstand00, do not translate "MustUnderstand"
> > > noUnderstand00=Did not understand "MustUnderstand" header(s)!
> > >
> > > # NOTE:  in noValue00, do not translate "value", "RPCParam"
> > > noValue00=No value field for RPCParam to use?!? {0}
> > >
> > > # NOTE:  in noWSDL00, do not translate "WSDL"
> > > noWSDL00=Could not generate WSDL!
> > >
> > > null00={0} is null
> > >
> > > # NOTE:  in nullCall00, do not translate "AdminClient" or
> "''call''"
> > > nullCall00=AdminClient did not initialize correctly: ''call'' is
> null!
> > >
> > > # NOTE:  in nullEJBUser00, do not translate "EJBProvider"
> > > nullEJBUser00=Null user in EJBProvider
> > >
> > > nullHandler00={0}:  Null handler;
> > > nullNamespaceURI=Null namespace URI specified.
> > > nullParent00=null parent!
> > >
> > > nullProvider00=Null provider type passed to WSDDProvider!
> > >
> > > nullResponse00=Null response message!
> > > oddDigits00=Odd number of digits in hex string
> > > ok00=OK
> > >
> > > # NOTE:  in the only1Body00, do not translate "Body"
> > > only1Body00=Only one Body element allowed!
> > >
> > > # NOTE:  in the only1Header00, do not translate "Header"
> > > only1Header00=Only one Header element allowed!
> > >
> > > optionAll00=generate code for all elements, even unreferenced ones
> > > optionHelp00=print this message and exit
> > >
> > > # NOTE:  in optionImport00, do not translate "WSDL"
> > > optionImport00=only generate code for the immediate WSDL document
> > >
> > > # NOTE:  in optionMsgCtx00, do not translate "MessageContext"
> > > optionMsgCtx00=emit a MessageContext parameter to skeleton methods
> > >
> > > # NOTE:  in optionFileNStoPkg00, do not translate
> "NStoPkg.properties"
> > > optionFileNStoPkg00=file of NStoPkg mappings (default
> > > NStoPkg.properties)
> > >
> > > # NOTE:  in optionNStoPkg00, do not translate "namespace",
> "package"
> > > optionNStoPkg00=mapping of namespace to package
> > >
> > > optionOutput00=output directory for emitted files
> > > optionPackage00=override all namespace to package mappings, use
> this
> > > package name instead
> > > optionTimeout00=timeout in seconds (default is 45, specify -1 to
> > > disable)
> > > options00=Options:
> > >
> > > # NOTE:  in optionScope00, do not translate "Application",
> "Request",
> > > "Session"
> > > optionScope00=add scope to deploy.wsdd: "Application", "Request",
> > > "Session"
> > >
> > > optionSkel00=emit server-side bindings for web service
> > >
> > > # NOTE:  in optionTest00, do not translate "junit"
> > > optionTest00=emit junit testcase class for web service
> > >
> > > optionVerbose00=print informational messages
> > >
> > > outMsg00=Out message: {0}
> > > params00=Parameters are:  {0}
> > > parent00=parent
> > >
> > > # NOTE: in parmMismatch00, do not translate "IN/INOUT",
> > > "addParameter()"
> > > parmMismatch00=Number of parameters passed in ({0}) doesn''t match
> the
> > > number of IN/INOUT parameters ({1}) from the addParameter() calls
> > >
> > > # NOTE:  in parsing00, do not translate "XML"
> > > parsing00=Parsing XML file:  {0}
> > >
> > > parseError00=Error in parsing:  {0}
> > > password00=Password:  {0}
> > > perhaps00=Perhaps there will be a form for invoking the service
> > > here...
> > > popHandler00=Popping handler {0}
> > > process00=Processing ''{0}''
> > > processFile00=Processing file {0}
> > >
> > > # NOTE:  in pushHandler00, we are pushing a handler onto a stack
> > > pushHandler00=Pushing handler {0}
> > > quit00={0} quitting.
> > > quitRequest00=Administration service requested to quit, quitting.
> > >
> > > # NOTE:  in reachedServer00, do not translate "SimpleAxisServer"
> > > reachedServer00=You have reached the SimpleAxisServer.
> > > unableToStartServer00=Unable to bind to port {0}. Did not start
> > > SimpleAxisServer.
> > >
> > > # NOTE:  in reachedServlet00, do not translate "AXIS HTTP
> Servlet",
> > > "URL", "SOAP"
> > > reachedServlet00=Hi, you have reached the AXIS HTTP Servlet.
>  Normally
> > > you would be hitting this URL with a SOAP client rather than a
> > > browser.
> > >
> > > readOnlyConfigFile=Configuration file read-only so engine
> > > configuration changes will not be saved.
> > >
> > > register00=register ''{0}'' - ''{1}''
> > > registerTypeMap00=Registering type mapping {0} -> {1}
> > > registryAdd00=Registry {0} adding ''{1}'' ({2})
> > > result00=Got result:  {0}
> > > removeBody00=Removing body element from message...
> > > removeHeader00=Removing header from message...
> > > removeTrailer00=Removing trailer from message...
> > > return00={0} returning new instance of {1}
> > > return01=return code:  {0}\n{1}
> > > return02={0} returned:  {1}
> > > returnChain00={0} returning chain ''{1}''
> > > saveConfigFail00=Could not write engine config!
> > >
> > > # NOTE:  in semanticCheck00, do not translate "SOAP"
> > > semanticCheck00=Doing SOAP semantic checks...
> > >
> > > # NOTE:  in sendingXML00, do not translate "XML"
> > > sendingXML00={0} sending XML:
> > >
> > > serializer00=Serializer class is {0}
> > > serverDisabled00=This Axis server is not currently accepting
> requests.
> > >
> > > # NOTE:  in serverFault00, do not translate "HTTP"
> > > serverFault00=HTTP server fault
> > >
> > > serverRun00=Server is running
> > > serverStop00=Server is stopped
> > >
> > > servletEngineWebInfError00=Problem with servlet engine /WEB-INF
> > > directory
> > > servletEngineWebInfError01=Problem with servlet engine config
> file:
> > > {0}
> > >
> > > setCurrMsg00=Setting current message form to: {0} (current message
> is
> > > now {1})
> > > setProp00=Setting {0} property in {1}
> > >
> > > # NOTE:  in setupTunnel00, do not translate "SSL"
> > > setupTunnel00=Set up SSL tunnelling through {0}:{1}
> > >
> > > setValueInTarget00=Set value {0} in target {1}
> > > somethingWrong00=Sorry, something seems to have gone wrong... here
> are
> > > the details:
> > > start00={0} starting up on port {1}.
> > > startElem00=Start element {0}
> > > startPrefix00=Start prefix mapping ''{0}'' -> ''{1}''
> > > stackFrame00=Stack frame marker
> > > test00=...
> > > test01=.{0}.
> > > test02={0}, {1}.
> > > test03=.{2}, {0}, {1}.
> > > test04=.{0} {1} {2} ... {3} {2} {4} {5}.
> > > timeout00=Session id {0} timed out.
> > > transport00=Transport is {0}
> > > transport01={0}:  Transport = ''{1}''
> > >
> > > # NOTE:  in transportName00, do not translate "AXIS"
> > > transportName00=In case you are interested, my AXIS transport name
> > > appears to be ''{0}''
> > >
> > > tryingLoad00=Trying to load class:  {0}
> > >
> > > # NOTE:  in typeFromAttr00, do not translate "Type"
> > > typeFromAttr00=Type from attributes is:  {0}
> > >
> > > # NOTE:  in typeFromParms00, do not translate "Type"
> > > typeFromParms00=Type from default parameters is:  {0}
> > >
> > > # NOTE:  in typeNotSet00, do not translate "Part"
> > > typeNotSet00=Type attribute on Part ''{0}'' is not set
> > >
> > > types00=Types:
> > >
> > > # NOTE:  in typeSetNotAllowed00, do not translate "Type"
> > > typeSetNotAllowed00={0} disallows setting of Type
> > > unauth00=Unauthorized
> > > undeploy00=Undeploying {0}
> > > unexpectedDesc00=Unexpected {0} descriptor
> > > unexpectedEOS00=Unexpected end of stream
> > > unexpectedUnknown00=Unexpected unknown element
> > > unknownHost00=Unknown host - could not verify admininistrator
> access
> > > unknownType00=Unknown type:  {0}
> > > unknownType01=Unknown type to {0}
> > >
> > > # NOTE: in unlikely00, do not translate "URL", "WSDL2Java"
> > > unlikely00=unlikely as URL was validated in WSDL2Java
> > >
> > > unregistered00=Unregistered type:  {0}
> > > usage00=Usage:  {0}
> > > user00=User:  {0}
> > > usingServer00={0} using server {1}
> > > value00=value:  {0}
> > > warning00=Warning: {0}
> > > where00=Where {0} looks like:
> > >
> > > # NOTE:  in withParent00, do not translate
> "SOAPTypeMappingRegistry"
> > > withParent00=SOAPTypeMappingRegistry with parent
> > > wsdlError00=Error processing WSDL document: {0} {1}
> > >
> > > # NOTE:  in wsdlGenLine00, do not translate "WSDL"
> > > wsdlGenLine00=This file was auto-generated from WSDL
> > >
> > > # NOTE:  in wsdlGenLine01, do not translate "Apache Axis
> WSDL2Java"
> > > wsdlGenLine01=by the Apache Axis WSDL2Java emitter.
> > >
> > > wsdlMissing00=Missing WSDL document
> > >
> > > # NOTE:  in wsdlService00, do not translate "WSDL service"
> > > wsdlService00=Services from {0} WSDL service
> > >
> > > # NOTE:  in xml entries, do not translate "XML"
> > > xmlRecd00=XML received:
> > > xmlSent00=XML sent:
> > >
> > > # NOTE:  in the deployXX entries, do not translate "<!--" and
> "-->".
> > >  These are comment indicators.  Adding or removing whitespace to
> make
> > > the comment indicators line up would be nice.  Also, do not
> translate
> > > the string "axis", or messages:  deploy03, deploy04, deploy07
> > > deploy08.  Those messages are included so that the spaces can be
> lined
> > > up by the translator.
> > > deploy00=<!-- Use this file to deploy some handlers/chains and
> > > services      -->
> > > deploy01=<!-- Use this file to undeploy some handlers/chains and
> > > services    -->
> > > deploy02=<!-- Two ways to do this:
> > >       -->
> > > deploy03=<!--   java org.apache.axis.client.AdminClient
> deploy.wsdd
> > >        -->
> > > deploy04=<!--   java org.apache.axis.client.AdminClient
> undeploy.wsdd
> > >        -->
> > > deploy05=<!--      after the axis server is running
> > >        -->
> > > deploy06=<!-- or
> > >       -->
> > > deploy07=<!--   java org.apache.axis.utils.Admin client|server
> > > deploy.wsdd   -->
> > > deploy08=<!--   java org.apache.axis.utils.Admin client|server
> > > undeploy.wsdd -->
> > > deploy09=<!--      from the same directory that the Axis engine
> runs
> > >       -->
> > >
> > > alreadyExists00={0} already exists
> > > optionDebug00=print debug information
> > > symbolTable00=Symbol Table
> > > undefined00=Type {0} is referenced but not defined.
> > >
> > > #NOTE: in cannotFindJNDIHome00, do not translate "EJB" or "JNDI"
> > > cannotFindJNDIHome00=Cannot find EJB at JNDI location {0}
> > > cannotCreateInitialContext00=Cannot create InitialContext
> > > undefinedloop00= The definition of {0} results in a loop.
> > > deserInitPutValueDebug00=Initial put of deserialized value= {0}
> for
> > > id= {1}
> > > deserPutValueDebug00=Put of deserialized value= {0} for id= {1}
> > > j2wemitter00=emitter
> > > j2wusage00=Usage: {0}
> > > j2woptions00=Options:
> > > j2wdetails00=Details:\n   portType element name= <--portTypeName
> > > value> OR <class-of-portType name>\n   binding  element name=
> > > <--bindingName value> OR <--servicePortName value>SoapBinding\n
> > > service  element name= <--serviceElementName value> OR
> <--portTypeName
> > > value>Service \n   port     element name= <--servicePortName
> value>\n
> > >   address location     = <--location value>
> > > j2wopthelp00=print this message and exit
> > > j2woptoutput00=output WSDL filename
> > > j2woptlocation00=service location url
> > > j2woptportTypeName00=portType name (obtained from
> class-of-portType if
> > > not specified)
> > > j2woptservicePortName00=service port name (obtained from
> --location if
> > > not specified)
> > > j2woptserviceElementName00=service element name (defaults to
> > > --servicePortName value + "Service")
> > > j2woptnamespace00=target namespace
> > > j2woptPkgtoNS00=package=namespace, name value pairs
> > > j2woptmethods00=space or comma separated list of methods to export
> > > j2woptall00=look for allowed methods in inherited class
> > > j2woptoutputWsdlMode00=output WSDL mode: All, Interface,
> > > Implementation
> > > j2woptlocationImport00=location of interface wsdl
> > > j2woptnamespaceImpl00=target namespace for implementation wsdl
> > > j2woptoutputImpl00=output Implementation WSDL filename, setting
> this
> > > causes --outputWsdlMode to be ignored
> > > j2woptfactory00=name of the Java2WSDLFactory class for extending
> WSDL
> > > generation functions
> > > j2woptimplClass00=optional class that contains implementation of
> > > methods in class-of-portType.  The debug information in the class
> is
> > > used to obtain the method parameter names, which are used to set
> the
> > > WSDL part names.
> > > j2werror00=Error: {0}
> > > j2wmodeerror=Error Unrecognized Mode: {0} Use All, Interface or
> > > Implementation. Continuing with All.
> > > j2woptexclude00=space or comma separated list of methods not to
> export
> > > j2woptstopClass00=space or comma separated list of class names
> which
> > > will stop inheritance search if --all switch is given
> > >
> > > # NOTE:  in optionSkeletonDeploy00, do not translate
> "--server-side".
> > > optionSkeletonDeploy00=deploy skeleton (true) or implementation
> > > (false) in deploy.wsdd.  Default is false.  Assumes --server-side.
> > >
> > > j2wMissingLocation00=The -l <location> option must be specified if
> the
> > > full wsdl or the implementation wsdl is requested.
> > > invalidSolResp00={0} is a solicit-response style operation and is
> > > unsupported.
> > > invalidNotif00={0} is a notification style operation and is
> > > unsupported.
> > >
> > > multipleBindings00=Warning: Multiple bindings use the same
> portType:
> > > {0}.  Only one interface is currently generated, which may not be
> what
> > > you want.
> > > triedArgs00={0} on object "{1}", method name "{2}", tried argument
> > > types:  {3}
> > > triedClass00=tried class:  {0}, method name:  {1}.
> > >
> > >
> >
> #############################################################################
> > > # DO NOT TOUCH THESE PROPERTIES - THEY ARE AUTOMATICALLY UPDATED
> BY
> > > THE BUILD
> > > # PROCESS.
> > > axisVersion=Apache Axis version: #axisVersion#
> > > builtOn=Built on #today#
> > >
> >
> #############################################################################
> > >
> > > badProp00=Bad property.  The value for {0} should be of type {1},
> but
> > > it is of type {2}.
> > > badProp01=Bad property.  {0} should be {1}; but it is {2}.
> > > badProp02=Cannot set {0} property when {1} property is not {2}.
> > > badProp03=Null property name specified.
> > > badProp04=Null property value specified.
> > > badProp05=Property name {0} not supported.
> > > badGetter00=Null getter method specified.
> > > badAccessor00=Null accessor method specified.
> > > badSetter00=Null setter method specified.
> > > badModifier00=Null modifier method specified.
> > > badField00=Null public instance field specified.
> > >
> > > badJavaType=Null java class specified.
> > > badXmlType=Null qualified name specified.
> > > badSerFac=Null serializer factory specified.
> > > badDeserFac=Null deserializer factory specified.
> > >
> > > literalTypePart00=Error: Message part {0} of operation or fault
> {1} is
> > > specified as a type and the soap:body use of binding "{2}" is
> literal.
> > >  This WSDL is not currently supported.
> > > BadServiceName00=Error: Empty or missing service name
> > > AttrNotSimpleType00=Bean attribute {0} is of type {1}, which is
> not a
> > > simple type
> > > AttrNotSimpleType01=Error: attribute is of type {0}, which is not
> a
> > > simple type
> > > NoSerializer00=Unable to find serializer for type {0}
> > >
> > > NoJAXRPCHandler00=Unable to create handler of type {0}
> > >
> > > optionTypeMapping00=indicate 1.1 or 1.2.  The default is 1.1 (SOAP
> 1.1
> > > JAX-RPC compliant.  1.2 indicates SOAP 1.1 encoded.)
> > > badTypeMappingOption00=The -typeMappingVersion argument must be
> 1.1 or
> > > 1.2
> > > j2wopttypeMapping00=indicate 1.1 or 1.2.  The default is 1.1 (SOAP
> 1.1
> > > JAX-RPC compliant  1.2 indicates SOAP 1.1 encoded.)
> > > j2wBadTypeMapping00=The -typeMappingVersion argument must be 1.1
> or
> > > 1.2
> > >
> > > nodisk00=No disk access, using memory only.
> > >
> > > noFactory00=!! No Factory for {0}
> > > noTransport02=Couldn't find transport {0}
> > >
> > > noCompiler00=No compiler found in your classpath!  (you may need
> to
> > > add 'tools.jar')
> > > compilerFail00=Please ensure that you have your JDK's rt.jar
> listed in
> > > your classpath. Jikes needs it to operate.
> > >
> > > nullFieldDesc=Null FieldDesc specified
> > > exception00=Exception:
> > > exception01=Exception: {0}
> > > axisConfigurationException00=ConfigurationException:
> > > parserConfigurationException00=ParserConfigurationException:
> > > SAXException00=SAXException:
> > > javaNetUnknownHostException00=java.net.UnknownHostException:
> > > javaxMailMessagingException00=javax.mail.MessagingException:
> > > javaIOException00=java.io.IOException:
> > > javaIOException01=java.io.IOException: {0}
> > > illegalAccessException00=IllegalAccessException:
> > > illegalArgumentException00=IllegalArgumentException:
> > > illegalArgumentException01=IllegalArgumentException: {0}
> > > invocationTargetException00=InvocationTargetException:
> > > instantiationException00=InstantiationException:
> > > malformedURLException00=MalformedURLException:
> > > axisFault00=AxisFault:
> > > axisFault01=AxisFault: {0}
> > > toAxisFault00=Mapping Exception to AxisFault
> > > toAxisFault01=Mapping Exception to AxisFault: {0}
> > >
> > > # NOTE:  in badSkeleton00, do not translate "--skeletonDeploy" and
> > > "--server-side".
> > > badSkeleton00=Error:  --skeletonDeploy cannot be specified without
> > > --server-side.
> > > badStyle=Bad string for style value - was ''{0}'', should be
> ''rpc'',
> > > ''document'', or ''wrapped''.
> > > onlyOneMapping=Only a single <elementMapping> is allowed
> per-operation
> > > at present.
> > >
> > > timedOut=WSDL2Java emitter timed out (this often means the WSDL at
> the
> > > specified URL is inaccessible)!
> > > valuePresent=MessageElement.addChild called when an object value
> is
> > > present
> > > xmlPresent=MessageElement.setObjectValue called on an instance
> which
> > > was constructed using XML
> > > attachEnabled=Attachment support is enabled?
> > > noEndpoint=No endpoint
> > > headerNotNull=Header may not be null!
> > > headerNotEmpty=Header may not be empty!
> > > headerValueNotNull=Header value may not be null!
> > > setMsgForm=Setting current message form to: {0} (currentMessage is
> now
> > > {1})
> > > exitCurrMsg=Exit:  {0}, current message is {1}
> > > currForm=current form is {0}
> > > unsupportedAttach=Unsupported attachment type "{0}" only
> supporting
> > > "{1}".
> > >
> > > # NOTE:  in onlySOAPParts, do not translate "SOAPPart".
> > > onlySOAPParts=This attachment implementation accepts only SOAPPart
> > > objects as the root part.
> > >
> > > gotNullPart=AttachmentUtils.getActiviationDataHandler received a
> null
> > > parameter as a part.
> > > streamNo=New boundary stream number:  {0}
> > > streamClosed=Stream closed.
> > > eosBeforeMarker=End of stream encountered before final boundary
> > > marker.
> > > atEOS=Boundary stream number {0} is at end of stream
> > > readBStream="Read {0} from BoundaryDelimitedStream:  {1} "{2}"
> > > bStreamClosed=Boundary stream number {0} is closed
> > >
> > > # NOTE:  in badMaxCache, do not translate "maxCached".
> > > badMaxCached=maxCached value is bad:  {0}
> > >
> > > maxCached=ManagedMemoryDataSource.flushToDisk maximum cached {0},
> > > total memory {1}.
> > > diskCache=Disk cache file name "{0}".
> > > resourceDeleted=Resource has been deleted.
> > > noResetMark=Reset and mark not supported!
> > > nullInput=input buffer is null
> > > negOffset=Offset is negative:  {0}
> > > length=Length:  {0}
> > > writeBeyond=Write beyond buffer
> > > reading=reading {0} bytes from disk
> > >
> > > # NOTE: do not translate openBread
> > > openBread=open bread = {0}
> > >
> > > flushing=flushing
> > > read=read {0} bytes
> > > readError=Error reading data stream:  {0}
> > > noFile=File for data handler does not exist:  {0}
> > > mimeErrorNoBoundary=Error in MIME data stream, start boundary not
> > > found, expected:  {0}
> > > mimeErrorParsing=Error in parsing mime data stream:  {0}
> > > noRoot=Root part containing SOAP envelope not found.  contentId =
> {0}
> > > noAttachments=No support for attachments
> > > noContent=No content
> > > targetService=Target service:  {0}
> > > exceptionPrinting=Exception caught while printing request message
> > > noConfigFile=No engine configuration file - aborting!
> > > noTypeSetting={0} disallows setting of Type
> > > noSubElements=The element "{0}" is an attachment with sub elements
> > > which is not supported.
> > >
> > > # NOTE:  in defaultCompiler, do not translate "javac"
> > > defaultCompiler=Using default javac compiler
> > > noModernCompiler=Javac connector could not find modern compiler --
> > > falling back to classic.
> > > compilerClass=Javac compiler class:  {0}
> > > noMoreTokens=no more tokens - could not parse error message:  {0}
> > > cantParse=could not parse error message:  {0}
> > >
> > > noParmAndRetReq=Parameter or return type inferred from WSDL and
> may
> > > not be updated.
> > >
> > > # NOTE:  in sunJavac, do not translate "Sun Javac"
> > > sunJavac=Sun Javac Compiler
> > >
> > > # NOTE:  in ibmJikes, do not translate "IBM Jikes"
> > > ibmJikes=IBM Jikes Compiler
> > >
> > > typeMeta=Type metadata
> > > returnTypeMeta=Return type metadata object
> > > needStringCtor=Simple Types must have a String constructor
> > > needToString=Simple Types must have a toString for serializing the
> > > value
> > > typeMap00=All the type mapping information is registered
> > > typeMap01=when the first call is made.
> > > typeMap02=The type mapping information is actually registered in
> > > typeMap03=the TypeMappingRegistry of the service, which
> > > typeMap04=is the reason why registration is only needed for the
> first
> > > call.
> > > mustSetStyle=must set encoding style before registering
> serializers
> > >
> > > # NOTE:  in mustSpecifyReturnType and mustSpecifyParms, do not
> > > translate "addParameter()" and "setReturnType()"
> > > mustSpecifyReturnType=No returnType was specified to the Call
> object!
> > >  You must call setReturnType() if you have called addParameter().
> > > mustSpecifyParms=No parameters specified to the Call object!  You
> must
> > > call addParameter() for all parameters if you have called
> > > setReturnType().
> > > noElemOrType=Error: Message part {0} of operation {1} should have
> > > either an element or a type attribute
> > > badTypeNode=Error: Missing type resolution for element {2}, in
> WSDL
> > > message part {0} of operation {1}
> > >
> > > # NOTE:  in noUse, do no translate "soap:operation", "binding
> > > operation", "use".
> > > noUse=The soap:operation for binding operation {0} must have a
> "use"
> > > attribute.
> > >
> > > fixedTypeMapping=Default type mapping cannot be modified.
> > > delegatedTypeMapping=Type mapping cannot be modified via delegate.
> > > badTypeMapping=Invalid TypeMapping specified: wrong type or null.
> > > defaultTypeMappingSet=Default type mapping from secondary type
> mapping
> > > registry is already in use.
> > > getPortDoc00=For the given interface, get the stub implementation.
> > > getPortDoc01=If this service has no port for the given interface,
> > > getPortDoc02=then ServiceException is thrown.
> > > getPortDoc03=This service has multiple ports for a given
> interface;
> > > getPortDoc04=the proxy implementation returned may be
> indeterminate.
> > > noStub=There is no stub implementation for the interface:
> > > CantGetSerializer=unable to get serializer for class {0}
> > >
> > > noVector00={0}:  {1} is not a vector
> > >
> > > optionFactory00=name of the JavaWriterFactory class for extending
> Java
> > > generation functions
> > > optionHelper00=emits separate Helper classes for meta data
> > >
> > > badParameterMode=Invalid parameter mode byte ({0}) passed to
> > > getModeAsString().
> > >
> > > attach.bounday.mns=Marking streams not supported.
> > > noSuchOperation=No such operation ''{0}''
> > >
> > > optionUsername=username to access the WSDL-URI
> > > optionPassword=password to access the WSDL-URI
> > > cantGetDoc00=Unable to retrieve WSDL document: {0}
> > > implAlreadySet=Attempt to set implementation class on a
> ServiceDesc
> > > which has already been configured
> > >
> > > cantCreateBean00=Unable to create JavaBean of type {0}.  Missing
> > > default constructor?  Error was: {1}.
> > > faultDuringCleanup=AxisEngine faulted during cleanup!
> > >
> > > j2woptsoapAction00=value of the operation's soapAction field.
> Values
> > > are DEFAULT, OPERATION or NONE. OPERATION forces soapAction to the
> > > name of the operation.  DEFAULT causes the soapAction to be set
> > > according to the operation's meta data (usually "").  NONE forces
> the
> > > soapAction to "".  The default is DEFAULT.
> > > j2wBadSoapAction00=The value of --soapAction must be DEFAULT, NONE
> or
> > > OPERATION.
> > > dispatchIAE00=Tried to invoke method {0} with arguments {1}.  The
> > > arguments do not match the signature.
> > >
> > > ftsf00=Creating trusting socket factory
> > > ftsf01=Exception creating factory
> > > ftsf02=SSL setup failed
> > > ftsf03=isClientTrusted: yes
> > > ftsf04=isServerTrusted: yes
> > > ftsf05=getAcceptedIssuers: none
> > >
> > > generating=Generating {0}
> > >
> > > j2woptStyle00=The style of binding in the WSDL.  Values are
> DOCUMENT
> > > or LITERAL.
> > > j2woptBadStyle00=The value of --style must be DOCUMENT or LITERAL.
> > >
> > > noClassForService00=Could not find class for the service named:
> > > {0}\nHint: you may need to copy your class files/tree into the
> right
> > > location (which depends on the servlet system you are using).
> > > j2wDuplicateClass00=The <class-of-portType> has already been
> specified
> > > as, {0}.  It cannot be specified again as {1}.
> > > j2wMissingClass00=The <class-of-portType> was not specified.
> > > w2jDuplicateWSDLURI00=The wsdl URI has already been specified as,
> {0}.
> > >  It cannot be specified again as {1}.
> > > w2jMissingWSDLURI00=The wsdl URI was not specified.
> > >
> > > badEnum02=Unrecognized {0}: ''{1}''
> > > badEnum03=Unrecognized {0}: ''{1}'', defaulting to ''{2}''
> > > beanCompatType00=The class {0} is not a bean class and cannot be
> > > converted into an xml schema type.  An xml schema anyType will be
> used
> > > to define this class in the wsdl file.
> > > beanCompatPkg00=The class {0} is defined in a java or javax
> package
> > > and cannot be converted into an xml schema type.  An xml schema
> > > anyType will be used to define this class in the wsdl file.
> > > beanCompatConstructor00=The class {0} does not contain a default
> > > constructor, which is a requirement for a bean class.  The class
> > > cannot be converted into an xml schema type.  An xml schema
> anyType
> > > will be used to define this class in the wsdl file.
> > >
> > > unsupportedSchemaType00=The XML Schema type ''{0}'' is not
> currently
> > > supported.
> > > optionNoWrap00=turn off support for "wrapped" document/literal
> > > noTypeOrElement00=Error: Message part {0} of operation or fault
> {1}
> > > has no element or type attribute.
> > >
> > > msgContentLengthHTTPerr=Message content length {0} exceeds servlet
> > > return capacity.
> > > badattachmenttypeerr=The value of {0} for attachment format must
> be
> > > {1};
> > > attach.dimetypeexceedsmax=DIME Type length is {0} which exceeds
> > > maximum {0}
> > > attach.dimelengthexceedsmax=DIME ID length is {0} which exceeds
> > > maximum {1}.
> > > attach.dimeMaxChunkSize0=Max chunk size \"{0}\" needs to be
> greater
> > > than one.
> > > attach.dimeMaxChunkSize1=Max chunk size \"{0}\" exceeds 32 bits.
> > > attach.dimeReadFullyError=Each DIME Stream must be read fully or
> > > closed in succession.
> > > attach.dimeNotPaddedCorrectly=DIME stream data not padded
> correctly.
> > > attach.readLengthError=Received \"{0}\" bytes to read.
> > > attach.readOffsetError=Received \"{0}\" as an offset.
> > > attach.readArrayNullError=Array to read is null
> > > attach.readArrayNullError=Array to read is null
> > > attach.readArraySizeError=Array size of {0} to read {1} at offset
> {2}
> > > is too small.
> > > attach.DimeStreamError0=End of physical stream detected when more
> DIME
> > > chunks expected.
> > > attach.DimeStreamError1=End of physical stream detected when {0}
> more
> > > bytes expected.
> > > attach.DimeStreamError2=There are no more DIME chunks expected!
> > > attach.DimeStreamError3=DIME header less than {0} bytes.
> > > attach.DimeStreamError4=DIME version received \"{0}\" greater than
> > > current supported version \"{1}\".
> > > attach.DimeStreamError5=DIME option length \"{0}\" is greater
> stream
> > > length.
> > > attach.DimeStreamError6=DIME typelength length \"{0}\" is greater
> > > stream length.
> > > attach.DimeStreamError7=DIME stream closed during options padding.
> > > attach.DimeStreamError8=DIME stream closed getting ID length.
> > > attach.DimeStreamError9=DIME stream closed getting ID padding.
> > > attach.DimeStreamError10=DIME stream closed getting type.
> > > attach.DimeStreamError11=DIME stream closed getting type padding.
> > > attach.DimeStreamBadType=DIME stream received bad type \"{0}\".
> > >
> > > badOutParameter00=A holder could not be found or constructed for
> the
> > > OUT parameter {0} of method {1}.
> > > setJavaTypeErr00=Illegal argument passed to
> ParameterDesc.setJavaType.
> > >  The java type {0} does not match the mode {1}
> > > badNormalizedString00=Invalid normalizedString value
> > > badToken00=Invalid token value
> > > badPropertyDesc00=Internal Error occurred while build the property
> > > descriptors for {0}
> > > j2woptinput00=input WSDL filename
> > > j2woptbindingName00=binding name (--servicePortName value +
> > > "SOAPBinding" if not specified)
> > > writeSchemaProblem00=Problems encountered trying to write schema
> for
> > > {0}
> > > badClassFile00=Error looking for paramter names in bytecode: input
> > > does not appear to be a valid class file
> > > unexpectedEOF00=Error looking for paramter names in bytecode:
> > > unexpected end of file
> > > unexpectedBytes00=Error looking for paramter names in bytecode:
> > > unexpected bytes in file
> > > beanCompatExtends00=The class {0} extends non-bean class {1}.  An
> xml
> > > schema anyType will be used to define {0} in the wsdl file.
> > > wrongNamespace00=The XML Schema type ''{0}'' is not valid in the
> > > Schema version ''{1}''.
> > >
> > > onlyOneBodyFor12=Only one body allowed for SOAP 1.2 RPC
> > > differentTypes00=Error: The input and output parameter have the
> same
> > > name, ''{0}'', but are defined with type ''{1}'' and also with
> type
> > > ''{2}''.
> > >
> > > badMsgMethodParam=Message service must take either a single Vector
> or
> > > a Document - method {0} takes a single {1}
> > > msgMethodMustHaveOneParam=Message service methods must take a
> single
> > > parameter.  Method {0} takes {1}
> > > needMessageContextArg=Full-message message service must take a
> single
> > > MessageContext argument.  Method {0} takes a single {1}
> > > onlyOneMessageOp=Message services may only have one operation -
> > > service ''{0}'' has {1}
> > >
> > > # NOTE:  in wontOverwrite, do no translate "WSDL2Java".
> > > wontOverwrite={0} already exists, WSDL2Java will not overwrite it.
> > >
> > > badYearMonth00=Invalid gYearMonth
> > > badYear00=Invalid gYear
> > > badMonth00=Invalid gMonth
> > > badDay00=Invalid gDay
> > > badMonthDay00=Invalid gMonthDay
> > > badDuration=Invalid duration: must contain a P
> > >
> > > # NOTE:  in noDataHandler, do not translate DataHandler.
> > > noDataHandler=Could not create a DataHandler for {0}, returning
> {1}
> > > instead.
> > > needSimpleValueSer=Serializer class {0} does not implement
> > > SimpleValueSerializer, which is necessary for attributes.
> > >
> > > # NOTE:  in needImageIO, do not translate "JIMI",
> "java.awt.Image",
> > > "http://java.sun.com/products/jimi/"
> > > needImageIO=JIMI is necessary to use java.awt.Image attachments
> > > (http://java.sun.com/products/jimi/).
> > >
> > > imageEnabled=Image attachment support is enabled?
> > >
> > > wsddServiceName00=The WSDD service name defaults to the port name.
> > >
> > > badSource=javax.xml.transform.Source implementation not supported:
> > >  {0}.
> > > rpcProviderOperAssert00=The OperationDesc for {0} was not found in
> the
> > > ServiceDesc.
> > > serviceDescOperSync00=The OperationDesc for {0} was not
> syncronized to
> > > a method of {1}.
> > >
> > > noServiceClass=No service class was found!  Are you missing a
> > > className option?
> > > jpegOnly=Cannot handle {0}, can only handle JPEG image types.
> > >
> > > engineFactory=Got EngineFactory: {0}
> > > engineConfigMissingNewFactory=Factory {0} Ignored: missing
> required
> > > method: {1}.
> > > engineConfigInvokeNewFactory=Factory {0} Ignored: invoke method
> > > failed: {1}.
> > > engineConfigFactoryMissing=Unable to locate a valid
> > > EngineConfigurationFactory
> > >
> > > noClassNameAttr00=classname attribute is missing.
> > > noValidHeader=qname attribute is missing.
> > >
> > > cannotConnectError=Error: Cannot connect
> > >
> > > <!--
> > >
> ===================================================================
> > > This is an accessory function to echo out fileNames
> > >
> ===================================================================
> > > -->
> > > <target name="echo-file">
> > > <basename property="fileName" file="${file}"/>
> > > <dirname property="dirName" file="${file}"/>
> > > <echo message="Dir: ${dirName} File: ${fileName}"/>
> > > </target>
> > >
> > > <!--
> > >
> ===================================================================
> > > This is an accessory function to compile some given component
> > >
> ===================================================================
> > > -->
> > > <target name="component-compile">
> > > <echo message="${file}"/>
> > > <ant antfile="${file}" target="compile"/>
> > > </target>
> > >
> > > <!--
> > >
> ===================================================================
> > > This is an accessory function to exec JUST the testcase of a
> > > component.
> > >
> ===================================================================
> > > -->
> > > <target name="batch-component-test">
> > > <antcall target="echo-file"/>
> > > <ant antfile="${file}" target="component-junit-functional" />
> > > </target>
> > >
> > > <!--
> > >
> ===================================================================
> > > This is an accessory function to execs the full component test
> > >
> ===================================================================
> > > -->
> > > <target name="batch-component-run">
> > > <antcall target="echo-file"/>
> > > <ant antfile="${file}" target="run" />
> > > </target>
> > >
> > > <!--
> > >
> ===================================================================
> > > -->
> > > <!-- Determine what dependencies are present
> > >   -->
> > > <!--
> > >
> ===================================================================
> > > -->
> > >
> > > <target name="setenv">
> > >
> > > <condition property="ant.good">
> > > <and>
> > > <contains string="${ant.version}" substring="Apache Ant version"/>
> > > </and>
> > > </condition>
> > >
> > > <mkdir dir="${build.dir}"/>
> > > <mkdir dir="${build.dest}"/>
> > > <mkdir dir="${build.lib}"/>
> > > <mkdir dir="${build.dir}/work"/>
> > >
> > > <available property="servlet.present"
> > > classname="javax.servlet.Servlet"
> > > classpathref="classpath"/>
> > >
> > > <available property="regexp.present"
> > > classname="org.apache.oro.text.regex.Pattern"
> > > classpathref="classpath"/>
> > >
> > > <available property="junit.present"
> > > classname="junit.framework.TestCase"
> > > classpathref="classpath"/>
> > >
> > > <available property="wsdl4j.present"
> > > classname="javax.wsdl.Definition"
> > > classpathref="classpath"/>
> > >
> > > <available property="commons-logging.present"
> > > classname="org.apache.commons.logging.Log"
> > > classpathref="classpath"/>
> > >
> > > <available property="commons-discovery.present"
> > > classname="org.apache.commons.discovery.DiscoverSingleton"
> > > classpathref="classpath"/>
> > >
> > > <available property="commons-httpclient.present"
> > > classname="org.apache.commons.httpclient.HttpConnection"
> > > classpathref="classpath"/>
> > >
> > > <available property="log4j.present"
> > > classname="org.apache.log4j.Category"
> > > classpathref="classpath"/>
> > >
> > > <available property="activation.present"
> > > classname="javax.activation.DataHandler"
> > > classpathref="classpath"/>
> > >
> > > <available property="security.present"
> > > classname="org.apache.xml.security.Init"
> > > classpathref="classpath"/>
> > >
> > > <available property="mailapi.present"
> > > classname="javax.mail.internet.MimeMessage"
> > > classpathref="classpath"/>
> > >
> > > <condition property="jsse.present" >
> > > <and>
> > > <available classname="com.sun.net.ssl.X509TrustManager"
> > > classpathref="classpath" />
> > > <available classname="javax.net.SocketFactory"
> > > classpathref="classpath" />
> > > </and>
> > > </condition>
> > >
> > > <condition property="attachments.present" >
> > > <and>
> > > <available classname="javax.activation.DataHandler"
> > > classpathref="classpath" />
> > > <available classname="javax.mail.internet.MimeMessage"
> > > classpathref="classpath" />
> > > </and>
> > > </condition>
> > >
> > > <condition property="jimi.present" >
> > > <available classname="com.sun.jimi.core.Jimi"
> classpathref="classpath"
> > > />
> > > </condition>
> > >
> > > <condition property="merlinio.present" >
> > > <available classname="javax.imageio.ImageIO"
> classpathref="classpath"
> > > />
> > > </condition>
> > >
> > > <condition property="axis-ant.present" >
> > > <available classname="tools.ant.foreach.ForeachTask"
> > > classpathref="classpath" />
> > > </condition>
> > >
> > > <condition property="jimiAndAttachments.present">
> > > <and>
> > > <available classname="javax.activation.DataHandler"
> > > classpathref="classpath" />
> > > <available classname="javax.mail.internet.MimeMessage"
> > > classpathref="classpath" />
> > > <available classname="com.sun.jimi.core.Jimi"
> classpathref="classpath"
> > > />
> > > </and>
> > > </condition>
> > >
> > > <condition property="jms.present" >
> > > <available classname="javax.jms.Message" classpathref="classpath"
> />
> > > </condition>
> > >
> > > <available property="post-compile.present" file="post-compile.xml"
> />
> > >
> > > <property environment="env"/>
> > > <condition property="debug" value="on">
> > > <and>
> > > <equals arg1="on" arg2="${env.debug}"/>
> > > </and>
> > > </condition>
> > >
> > > </target>
> > >
> > > <target name="printEnv" depends="setenv" >
> > >
> > > <echo
> > >
> >
> message="-----------------------------------------------------------------"/>
> > > <echo message="       Build environment for ${Name}
> ${axis.version}
> > > [${year}]   "/>
> > > <echo
> > >
> >
> message="-----------------------------------------------------------------"/>
> > > <echo message="Building with ${ant.version}"/>
> > > <echo message="using build file ${ant.file}"/>
> > > <echo message="Java ${java.version} located at ${java.home} "/>
> > > <echo
> > >
> >
> message="-----------------------------------------------------------------"/>
> > >
> > > <echo message="--- Flags (Note: If the {property name} is
> displayed,
> > > "/>
> > > <echo message="           then the component is not present)" />
> > > <echo message=""/>
> > >
> > > <echo message="build.dir = ${build.dir}"/>
> > > <echo message="build.dest = ${build.dest}"/>
> > > <echo message=""/>
> > > <echo message="=== Required Libraries ===" />
> > > <echo message="wsdl4j.present=${wsdl4j.present}" />
> > > <echo message="commons-logging.present=${commons-logging.present}"
> />
> > > <echo
> message="commons-discovery.present=${commons-discovery.present}"
> > > />
> > > <echo message="log4j.present=${log4j.present}" />
> > > <echo message="activation.present=${activation.present}" />
> > > <echo message=""/>
> > > <echo message="--- Optional Libraries ---" />
> > > <echo message="servlet.present=${servlet.present}" />
> > > <echo message="regexp.present=${regexp.present}" />
> > > <echo message="junit.present=${junit.present}" />
> > > <echo message="mailapi.present=${mailapi.present}" />
> > > <echo message="attachments.present=${attachments.present}" />
> > > <echo message="jimi.present=${jimi.present}" />
> > > <echo message="security.present=${security.present}" />
> > > <echo message="jsse.present=${jsse.present}" />
> > > <echo
> > > message="commons-httpclient.present=${commons-httpclient.present}"
> />
> > > <echo message="axis-ant.present=${axis-ant.present}" />
> > > <echo message="jms.present=${jms.present}" />
> > > <echo message=""/>
> > > <echo message="--- Property values ---" />
> > > <echo message="debug=${debug}" />
> > > <echo message="deprecation=${deprecation}" />
> > > <!-- Set environment variable axis_nojavadocs=true  to never
> generate
> > > javadocs. Case sensative! -->
> > > <echo message="axis_nojavadocs=${env.axis_nojavadocs}"/>
> > >
> > > <echo message="" />
> > > <echo message="-- Test Environment for AXIS ---"/>
> > > <echo message="" />
> > > <echo message="test.functional.remote = ${test.functional.remote}"
> />
> > > <echo message="test.functional.local = ${test.functional.local}"
> />
> > > <echo message="test.functional.both = ${test.functional.both}" />
> > > <echo message="test.functional.reportdir =
> > > ${test.functional.reportdir}" />
> > > <echo message="test.functional.SimpleAxisPort =
> > > ${test.functional.SimpleAxisPort}" />
> > > <echo message="test.functional.TCPListenerPort =
> > > ${test.functional.TCPListenerPort}" />
> > > <echo message="test.functional.fail = ${test.functional.fail}" />
> > > <echo message="" />
> > >
> > > <uptodate property="javadoc.notoutofdate"
> > > targetfile="${build.javadocs}/index.html">
> > > <srcfiles dir="${src.dir}" includes="**/*.java" />
> > > </uptodate>
> > >
> > > <condition property="axis_nojavadocs" value="true">
> > > <equals arg1="true" arg2="${env.axis_nojavadocs}"/>
> > > </condition>
> > > <condition property="axis_nojavadocs" value="false">
> > > <equals arg1="${axis_nojavadocs}" arg2="$${axis_nojavadocs}"/>
> > > </condition>
> > >
> > > <condition property="javadoc.notrequired" value="true">
> > > <or>
> > > <equals arg1="${javadoc.notoutofdate}" arg2="true"/>
> > > <equals arg1="true" arg2="${axis_nojavadocs}"/>
> > > </or>
> > > </condition>
> > >
> > > </target>
> > >
> > > <!--
> > >
> ===================================================================
> > > -->
> > > <!-- Launches the functional test TCP server -->
> > > <!--
> > >
> ===================================================================
> > > -->
> > > <target name="start-functional-test-tcp-server"
> if="junit.present">
> > > <echo message="Starting test tcp server."/>
> > > <java classname="samples.transport.tcp.TCPListener" fork="yes"
> > > dir="${axis.home}/build">
> > > <arg line="-p ${test.functional.TCPListenerPort}" /> <!--
> arbitrary
> > > port -->
> > > <classpath refid="classpath" />
> > > </java>
> > > </target>
> > >
> > > <!--
> > >
> ===================================================================
> > > -->
> > > <!-- Launches the functional test HTTP server -->
> > > <!--
> > >
> ===================================================================
> > > -->
> > > <target name="start-functional-test-http-server"
> if="junit.present">
> > > <echo message="Starting test http server."/>
> > > <java classname="org.apache.axis.transport.http.SimpleAxisServer"
> > > fork="yes" dir="${axis.home}/build">
> > > <!-- Uncomment this to use Jikes instead of Javac for compiling
> JWS
> > > Files
> > > <jvmarg
> > >
> value="-Daxis.Compiler=org.apache.axis.components.compiler.Jikes"/>
> > > -->
> > > <jvmarg
> > > value="-Daxis.wsdlgen.intfnamespace=http://localhost:${test.
> > functional.ServicePort}"/>
> > > <jvmarg
> > > value="-Daxis.wsdlgen.serv.loc.url=http://localhost:${test.
> > functional.ServicePort}"/>
> > > <arg line="-p ${test.functional.SimpleAxisPort}" />  <!--
> arbitrary
> > > port -->
> > > <classpath refid="classpath" />
> > > </java>
> > >
> > > </target>
> > >
> > > <!--
> > >
> ===================================================================
> > > -->
> > > <!-- Stops the functional test HTTP server -->
> > > <!--
> > >
> ===================================================================
> > > -->
> > > <target name="stop-functional-test-http-server" if="junit.present"
> > > depends="stop-signature-signing-and-verification">
> > > <echo message="Stopping test http server."/>
> > > <java classname="org.apache.axis.client.AdminClient" fork="yes">
> > > <classpath refid="classpath" />
> > > <arg line="quit"/>
> > > </java>
> > > </target>
> > >
> > > <!--
> > >
> ===================================================================
> > > -->
> > > <!-- Stops the functional test HTTP server when testing digital
> > > signature -->
> > > <!--
> > >
> ===================================================================
> > > -->
> > > <target name="stop-functional-test-http-server-secure"
> > > if="junit.present"
> depends="stop-signature-signing-and-verification">
> > > <echo message="Stopping test http server."/>
> > > <java classname="org.apache.axis.client.AdminClient" fork="yes">
> > > <classpath refid="classpath" />
> > > <arg line="quit"/>
> > > </java>
> > > </target>
> > >
> > > <!--
> > >
> ===================================================================
> > > -->
> > > <!-- Start Signature Signing and Verification -->
> > > <!--
> > >
> ===================================================================
> > > -->
> > > <target name="start-signature-signing-and-verification"
> > > if="security.present">
> > > <!-- Enable transparent Signing of SOAP Messages sent
> > > from the client and Server-side Signature Verification.
> > > -->
> > > <java classname="org.apache.axis.client.AdminClient" fork="yes">
> > > <classpath refid="classpath" />
> > > <arg line="samples/security/serversecuritydeploy.wsdd"/>
> > > </java>
> > > <java classname="org.apache.axis.utils.Admin" fork="yes">
> > > <classpath refid="classpath" />
> > > <arg value="client"/>
> > > <arg value="samples/security/clientsecuritydeploy.wsdd"/>
> > > </java>
> > > </target>
> > >
> > > <!--
> > >
> ===================================================================
> > > -->
> > > <!-- Stop Signature Signing and Verification -->
> > > <!--
> > >
> ===================================================================
> > > -->
> > > <target name="stop-signature-signing-and-verification"
> > > if="security.present">
> > > <!-- Disable transparent Signing of SOAP Messages sent
> > > from the client and Server-side Signature Verification.
> > > -->
> > > <java classname="org.apache.axis.client.AdminClient" fork="yes">
> > > <classpath refid="classpath" />
> > > <arg line="samples/security/serversecurityundeploy.wsdd"/>
> > > </java>
> > > <java classname="org.apache.axis.utils.Admin" fork="yes">
> > > <classpath refid="classpath" />
> > > <arg value="client"/>
> > > <arg value="samples/security/clientsecurityundeploy.wsdd"/>
> > > </java>
> > >
> > > </target>
> > >
> > > <!--
> > >
> ===================================================================
> > > -->
> > > <!-- Prepares the JUnit functional test -->
> > > <!--
> > >
> ===================================================================
> > > -->
> > > <target name="component-junit-functional-prepare"
> if="junit.present">
> > >
> > > <!-- first, put the JWS where the functional test can see it -->
> > > <mkdir dir="${axis.home}/build/jws" />
> > > <copy file="${axis.home}/samples/stock/StockQuoteService.jws"
> > > todir="${axis.home}/build/jws" />
> > > <copy file="${axis.home}/test/functional/AltStockQuoteService.jws"
> > > todir="${axis.home}/build/jws" />
> > > <copy file="${axis.home}/test/functional/GlobalTypeTest.jws"
> > > todir="${axis.home}/build/jws"/>
> > >
> > > <path id="deploy.xml.files">
> > > <fileset dir="${build.dir}">
> > > <include name="work/${componentName}/**/deploy.wsdd"/>
> > > <include name="${extraServices}/deploy.wsdd" />
> > > </fileset>
> > > </path>
> > >
> > > <path id="undeploy.xml.files">
> > > <fileset dir="${build.dir}">
> > > <include name="work/${componentName}/**/undeploy.wsdd"/>
> > > <include name="${extraServices}/undeploy.wsdd" />
> > > </fileset>
> > > </path>
> > >
> > > <property name="deploy.xml.property" refid="deploy.xml.files"/>
> > > <property name="undeploy.xml.property"
> refid="undeploy.xml.files"/>
> > > </target>
> > >
> > > <target name="component-test-run" if="junit.present"
> > > depends="start-signature-signing-and-verification">
> > > <echo message="Execing ${componentName} Test"/>
> > > <antcall target="component-junit-functional"/>
> > > </target>
> > >
> > > <target name="component-junit-functional" if="junit.present"
> > > depends="component-junit-functional-prepare">
> > > <java classname="org.apache.axis.client.AdminClient" fork="yes">
> > > <classpath refid="classpath" />
> > > <arg line="${deploy.xml.property}"/>
> > > </java>
> > >
> > > <junit dir="${axis.home}" printsummary="yes"
> > > haltonfailure="${test.functional.fail}" fork="yes">
> > > <classpath refid="classpath" />
> > > <formatter type="xml" usefile="${test.functional.usefile}"/>
> > > <batchtest todir="${test.functional.reportdir}">
> > > <fileset dir="${build.dest}">
> > > <include name="${componentName}/*TestCase.class" />
> > > <include name="${componentName}/**/*TestCase.class" />
> > > <include name="${componentName}/**/PackageTests.class" />
> > > <!-- <include name="${componentName}/**/test/*TestSuite.class"/>
> -->
> > > </fileset>
> > > </batchtest>
> > > </junit>
> > >
> > > <java classname="org.apache.axis.client.AdminClient" fork="yes">
> > > <classpath refid="classpath" />
> > > <arg line="${undeploy.xml.property}"/>
> > > </java>
> > >
> > > </target>
> > >
> > > <target name="execute-Component"  depends="transport-layer" >
> > > <runaxisfunctionaltests
> > > url="http://localhost:${test.functional.TCPListenerPort}"
> > > startTarget1="start-functional-test-tcp-server"
> > > startTarget2="start-functional-test-http-server"
> > > testTarget="component-test-run"
> > > stopTarget="stop-functional-test-http-server" />
> > > </target>
> > >
> > > <target name="transport-layer" depends="setenv" >
> > > <mkdir dir="${test.functional.reportdir}" />
> > > <ant antfile="${axis.home}/samples/transport/build.xml"
> > > target="compile" />
> > > </target>
> > >
> > > cvs diff (in directory D:\projects\axis\xml-axis\)
> > > ? java/samples/jms
> > > ? java/src/org/apache/axis/transport/jms
> > > cvs server: Diffing .
> > > cvs server: Diffing contrib
> > > cvs server: Diffing contrib/Axis-C++
> > > cvs server: Diffing contrib/Axis-C++/Axis_Release
> > > cvs server: Diffing contrib/Axis-C++/Linux
> > > cvs server: Diffing contrib/Axis-C++/Linux/KDev
> > > cvs server: Diffing contrib/Axis-C++/Linux/KDev/axis
> > > cvs server: Diffing contrib/Axis-C++/Linux/KDev/axis/axtest
> > > cvs server: Diffing contrib/Axis-C++/TestHarnesses
> > > cvs server: Diffing contrib/Axis-C++/Win32
> > > cvs server: Diffing contrib/Axis-C++/Win32/Axis_Release
> > > cvs server: Diffing contrib/Axis-C++/Win32/Calculator
> > > cvs server: Diffing contrib/Axis-C++/Win32/Fault
> > > cvs server: Diffing contrib/Axis-C++/Win32/TestHarness
> > > cvs server: Diffing contrib/Axis-C++/Win32/UserType
> > > cvs server: Diffing contrib/Axis-C++/Win32/axis-dll-not-finish
> > > cvs server: Diffing contrib/Axis-C++/docs
> > > cvs server: Diffing contrib/Axis-C++/docs/ApiDocs
> > > cvs server: Diffing contrib/Axis-C++/doxygen
> > > cvs server: Diffing contrib/Axis-C++/lib
> > > cvs server: Diffing contrib/Axis-C++/lib/AIX_4.3
> > > cvs server: Diffing contrib/Axis-C++/lib/Linux
> > > cvs server: Diffing contrib/Axis-C++/lib/NT_4.0
> > > cvs server: Diffing contrib/Axis-C++/lib/SunOS_5.6
> > > cvs server: Diffing contrib/Axis-C++/lib/SunOS_5.7
> > > cvs server: Diffing contrib/Axis-C++/lib/SunOS_5.8
> > > cvs server: Diffing contrib/Axis-C++/objs
> > > cvs server: Diffing contrib/Axis-C++/objs/AIX_4.3
> > > cvs server: Diffing contrib/Axis-C++/objs/AIX_4.3/common
> > > cvs server: Diffing contrib/Axis-C++/objs/Linux
> > > cvs server: Diffing contrib/Axis-C++/objs/Linux/common
> > > cvs server: Diffing contrib/Axis-C++/objs/NT_4.0
> > > cvs server: Diffing contrib/Axis-C++/objs/SunOS_5.6
> > > cvs server: Diffing contrib/Axis-C++/objs/SunOS_5.6/common
> > > cvs server: Diffing contrib/Axis-C++/objs/SunOS_5.7
> > > cvs server: Diffing contrib/Axis-C++/objs/SunOS_5.7/common
> > > cvs server: Diffing contrib/Axis-C++/objs/SunOS_5.8
> > > cvs server: Diffing contrib/Axis-C++/objs/SunOS_5.8/common
> > > cvs server: Diffing contrib/Axis-C++/src
> > > cvs server: Diffing contrib/Axis-C++/src/Client
> > > cvs server: Diffing contrib/Axis-C++/src/Encoding
> > > cvs server: Diffing contrib/Axis-C++/src/Message
> > > cvs server: Diffing contrib/Axis-C++/src/Transport
> > > cvs server: Diffing contrib/Axis-C++/src/Util
> > > cvs server: Diffing contrib/Axis-C++/src/Xml
> > > cvs server: Diffing contrib/Axis-C++/xerces-c
> > > cvs server: Diffing contrib/Axis-C++/xerces-c/bin
> > > cvs server: Diffing contrib/Axis-C++/xerces-c/include
> > > cvs server: Diffing contrib/Axis-C++/xerces-c/include/dom
> > > cvs server: Diffing contrib/Axis-C++/xerces-c/include/framework
> > > cvs server: Diffing contrib/Axis-C++/xerces-c/include/idom
> > > cvs server: Diffing contrib/Axis-C++/xerces-c/include/internal
> > > cvs server: Diffing contrib/Axis-C++/xerces-c/include/parsers
> > > cvs server: Diffing contrib/Axis-C++/xerces-c/include/sax
> > > cvs server: Diffing contrib/Axis-C++/xerces-c/include/sax2
> > > cvs server: Diffing contrib/Axis-C++/xerces-c/include/util
> > > cvs server: Diffing
> contrib/Axis-C++/xerces-c/include/util/Compilers
> > > cvs server: Diffing
> contrib/Axis-C++/xerces-c/include/util/MsgLoaders
> > > cvs server: Diffing
> > > contrib/Axis-C++/xerces-c/include/util/MsgLoaders/ICU
> > > cvs server: Diffing
> > > contrib/Axis-C++/xerces-c/include/util/MsgLoaders/InMemory
> > > cvs server: Diffing
> > > contrib/Axis-C++/xerces-c/include/util/MsgLoaders/MsgCatalog
> > > cvs server: Diffing
> > > contrib/Axis-C++/xerces-c/include/util/MsgLoaders/Win32
> > > cvs server: Diffing
> contrib/Axis-C++/xerces-c/include/util/Platforms
> > > cvs server: Diffing
> > > contrib/Axis-C++/xerces-c/include/util/Platforms/AIX
> > > cvs server: Diffing
> > > contrib/Axis-C++/xerces-c/include/util/Platforms/HPUX
> > > cvs server: Diffing
> > > contrib/Axis-C++/xerces-c/include/util/Platforms/Linux
> > > cvs server: Diffing
> > > contrib/Axis-C++/xerces-c/include/util/Platforms/MacOS
> > > cvs server: Diffing
> > > contrib/Axis-C++/xerces-c/include/util/Platforms/OS2
> > > cvs server: Diffing
> > > contrib/Axis-C++/xerces-c/include/util/Platforms/OS390
> > > cvs server: Diffing
> > > contrib/Axis-C++/xerces-c/include/util/Platforms/PTX
> > > cvs server: Diffing
> > > contrib/Axis-C++/xerces-c/include/util/Platforms/Solaris
> > > cvs server: Diffing
> > > contrib/Axis-C++/xerces-c/include/util/Platforms/Tandem
> > > cvs server: Diffing
> > > contrib/Axis-C++/xerces-c/include/util/Platforms/Win32
> > > cvs server: Diffing
> contrib/Axis-C++/xerces-c/include/util/Transcoders
> > > cvs server: Diffing
> > > contrib/Axis-C++/xerces-c/include/util/Transcoders/ICU
> > > cvs server: Diffing
> > > contrib/Axis-C++/xerces-c/include/util/Transcoders/Iconv
> > > cvs server: Diffing
> > > contrib/Axis-C++/xerces-c/include/util/Transcoders/Win32
> > > cvs server: Diffing contrib/Axis-C++/xerces-c/include/util/regx
> > > cvs server: Diffing contrib/Axis-C++/xerces-c/include/validators
> > > cvs server: Diffing
> contrib/Axis-C++/xerces-c/include/validators/DTD
> > > cvs server: Diffing
> > > contrib/Axis-C++/xerces-c/include/validators/common
> > > cvs server: Diffing
> > > contrib/Axis-C++/xerces-c/include/validators/datatype
> > > cvs server: Diffing
> > > contrib/Axis-C++/xerces-c/include/validators/schema
> > > cvs server: Diffing contrib/Axis-C++/xerces-c/lib
> > > cvs server: Diffing contrib/Axis-C++/xerces-c/lib/Linux
> > > cvs server: Diffing java
> > > Index: java/build.xml
> > >
> ===================================================================
> > > RCS file: /home/cvspublic/xml-axis/java/build.xml,v
> > > retrieving revision 1.176
> > > diff -r1.176 build.xml
> > > 105a106
> > > >       <exclude name="**/org/apache/axis/transport/jms/*"
> > > unless="jms.present"/>
> > > 254a256
> > > >       <exclude name="samples/jms/**/*.java"
> unless="jms.present"/>
> > > cvs server: Diffing java/docs
> > > cvs server: Diffing java/lib
> > > cvs server: Diffing java/samples
> > > cvs server: Diffing java/samples/addr
> > > cvs server: Diffing java/samples/attachments
> > > cvs server: Diffing java/samples/bidbuy
> > > cvs server: Diffing java/samples/echo
> > > cvs server: Diffing java/samples/encoding
> > > cvs server: Diffing java/samples/integrationGuide
> > > cvs server: Diffing java/samples/integrationGuide/example1
> > > cvs server: Diffing java/samples/integrationGuide/example2
> > > cvs server: Diffing java/samples/jaxm
> > > cvs server: Diffing java/samples/jaxrpc
> > > cvs server: Diffing java/samples/jaxrpc/address
> > > cvs server: Diffing java/samples/jaxrpc/hello
> > > cvs server: Diffing java/samples/message
> > > cvs server: Diffing java/samples/misc
> > > cvs server: Diffing java/samples/proxy
> > > cvs server: Diffing java/samples/security
> > > cvs server: Diffing java/samples/stock
> > > cvs server: Diffing java/samples/transport
> > > cvs server: Diffing java/samples/transport/tcp
> > > cvs server: Diffing java/samples/userguide
> > > cvs server: Diffing java/samples/userguide/example1
> > > cvs server: Diffing java/samples/userguide/example2
> > > cvs server: Diffing java/samples/userguide/example3
> > > cvs server: Diffing java/samples/userguide/example4
> > > cvs server: Diffing java/samples/userguide/example5
> > > cvs server: Diffing java/samples/userguide/example6
> > > cvs server: Diffing java/src
> > > cvs server: Diffing java/src/javax
> > > cvs server: Diffing java/src/javax/xml
> > > cvs server: Diffing java/src/javax/xml/messaging
> > > cvs server: Diffing java/src/javax/xml/namespace
> > > cvs server: Diffing java/src/javax/xml/rpc
> > > cvs server: Diffing java/src/javax/xml/rpc/encoding
> > > cvs server: Diffing java/src/javax/xml/rpc/handler
> > > cvs server: Diffing java/src/javax/xml/rpc/handler/soap
> > > cvs server: Diffing java/src/javax/xml/rpc/holders
> > > cvs server: Diffing java/src/javax/xml/rpc/server
> > > cvs server: Diffing java/src/javax/xml/rpc/soap
> > > cvs server: Diffing java/src/javax/xml/soap
> > > cvs server: Diffing java/src/javax/xml/transform
> > > cvs server: Diffing java/src/javax/xml/transform/dom
> > > cvs server: Diffing java/src/javax/xml/transform/sax
> > > cvs server: Diffing java/src/javax/xml/transform/stream
> > > cvs server: Diffing java/src/org
> > > cvs server: Diffing java/src/org/apache
> > > cvs server: Diffing java/src/org/apache/axis
> > > cvs server: Diffing java/src/org/apache/axis/attachments
> > > cvs server: Diffing java/src/org/apache/axis/client
> > > cvs server: Diffing java/src/org/apache/axis/components
> > > cvs server: Diffing java/src/org/apache/axis/components/compiler
> > > cvs server: Diffing java/src/org/apache/axis/components/image
> > > cvs server: Diffing java/src/org/apache/axis/components/logger
> > > cvs server: Diffing java/src/org/apache/axis/components/net
> > > cvs server: Diffing java/src/org/apache/axis/configuration
> > > cvs server: Diffing java/src/org/apache/axis/deployment
> > > cvs server: Diffing java/src/org/apache/axis/deployment/wsdd
> > > cvs server: Diffing
> java/src/org/apache/axis/deployment/wsdd/providers
> > > cvs server: Diffing java/src/org/apache/axis/description
> > > cvs server: Diffing java/src/org/apache/axis/encoding
> > > cvs server: Diffing java/src/org/apache/axis/encoding/ser
> > > cvs server: Diffing java/src/org/apache/axis/enum
> > > cvs server: Diffing java/src/org/apache/axis/handlers
> > > cvs server: Diffing java/src/org/apache/axis/handlers/http
> > > cvs server: Diffing java/src/org/apache/axis/handlers/soap
> > > cvs server: Diffing java/src/org/apache/axis/holders
> > > cvs server: Diffing java/src/org/apache/axis/message
> > > cvs server: Diffing java/src/org/apache/axis/providers
> > > cvs server: Diffing java/src/org/apache/axis/providers/java
> > > cvs server: Diffing java/src/org/apache/axis/schema
> > > cvs server: Diffing java/src/org/apache/axis/security
> > > cvs server: Diffing java/src/org/apache/axis/security/servlet
> > > cvs server: Diffing java/src/org/apache/axis/security/simple
> > > cvs server: Diffing java/src/org/apache/axis/server
> > > cvs server: Diffing java/src/org/apache/axis/session
> > > cvs server: Diffing java/src/org/apache/axis/soap
> > > cvs server: Diffing java/src/org/apache/axis/strategies
> > > cvs server: Diffing java/src/org/apache/axis/transport
> > > cvs server: Diffing java/src/org/apache/axis/transport/http
> > > cvs server: Diffing java/src/org/apache/axis/transport/java
> > > cvs server: Diffing java/src/org/apache/axis/transport/local
> > > cvs server: Diffing java/src/org/apache/axis/types
> > > cvs server: Diffing java/src/org/apache/axis/utils
> > > Index: java/src/org/apache/axis/utils/axisNLS.properties
> > >
> ===================================================================
> > > RCS file:
> > >
> /home/cvspublic/xml-axis/java/src/org/apache/axis/utils/axisNLS.properties,v
> > > retrieving revision 1.55
> > > diff -r1.55 axisNLS.properties
> > > 1009c1009,1011
> > > < noValidHeader=qname attribute is missing.
> > > \ No newline at end of file
> > > ---
> > > > noValidHeader=qname attribute is missing.
> > > >
> > > > cannotConnectError=Error: Cannot connect
> > > cvs server: Diffing java/src/org/apache/axis/utils/bytecode
> > > cvs server: Diffing java/src/org/apache/axis/utils/cache
> > > cvs server: Diffing java/src/org/apache/axis/wsdl
> > > cvs server: Diffing java/src/org/apache/axis/wsdl/fromJava
> > > cvs server: Diffing java/src/org/apache/axis/wsdl/gen
> > > cvs server: Diffing java/src/org/apache/axis/wsdl/symbolTable
> > > cvs server: Diffing java/src/org/apache/axis/wsdl/toJava
> > > cvs server: Diffing java/test
> > > cvs server: Diffing java/test/RPCDispatch
> > > cvs server: Diffing java/test/chains
> > > cvs server: Diffing java/test/concurrency
> > > cvs server: Diffing java/test/doesntWork
> > > cvs server: Diffing java/test/dynamic
> > > cvs server: Diffing java/test/encoding
> > > cvs server: Diffing java/test/encoding/beans
> > > cvs server: Diffing java/test/faults
> > > cvs server: Diffing java/test/functional
> > > cvs server: Diffing java/test/functional/ant
> > > cvs server: Diffing java/test/httpunit
> > > cvs server: Diffing java/test/httpunit/lib
> > > cvs server: Diffing java/test/httpunit/src
> > > cvs server: Diffing java/test/httpunit/src/test
> > > cvs server: Diffing java/test/inheritance
> > > cvs server: Diffing java/test/lib
> > > cvs server: Diffing java/test/md5attach
> > > cvs server: Diffing java/test/message
> > > cvs server: Diffing java/test/outparams
> > > cvs server: Diffing java/test/properties
> > > cvs server: Diffing java/test/saaj
> > > cvs server: Diffing java/test/session
> > > cvs server: Diffing java/test/soap
> > > cvs server: Diffing java/test/soap12
> > > cvs server: Diffing java/test/templateTest
> > > cvs server: Diffing java/test/types
> > > cvs server: Diffing java/test/utils
> > > cvs server: Diffing java/test/utils/cache
> > > cvs server: Diffing java/test/wsdd
> > > cvs server: Diffing java/test/wsdl
> > > cvs server: Diffing java/test/wsdl/_import
> > > cvs server: Diffing java/test/wsdl/addrNoImplSEI
> > > cvs server: Diffing java/test/wsdl/arrays
> > > cvs server: Diffing java/test/wsdl/attachments
> > > cvs server: Diffing java/test/wsdl/clash
> > > cvs server: Diffing java/test/wsdl/datatypes
> > > cvs server: Diffing java/test/wsdl/echo
> > > cvs server: Diffing java/test/wsdl/extensibility
> > > cvs server: Diffing java/test/wsdl/faults
> > > cvs server: Diffing java/test/wsdl/filegen
> > > cvs server: Diffing java/test/wsdl/getPort
> > > cvs server: Diffing java/test/wsdl/import2
> > > cvs server: Diffing java/test/wsdl/import2/interface1
> > > cvs server: Diffing java/test/wsdl/import2/interface1/interface2
> > > cvs server: Diffing java/test/wsdl/import2/service1
> > > cvs server: Diffing java/test/wsdl/import2/service1/service2
> > > cvs server: Diffing java/test/wsdl/import2/types1
> > > cvs server: Diffing java/test/wsdl/import2/types1/types2
> > > cvs server: Diffing java/test/wsdl/import2/types1/types3
> > > cvs server: Diffing java/test/wsdl/import3
> > > cvs server: Diffing java/test/wsdl/import3/MultiImpIncl
> > > cvs server: Diffing java/test/wsdl/import3/MultiImpIncl/cmp
> > > cvs server: Diffing java/test/wsdl/import3/MultiImpIncl/includes
> > > cvs server: Diffing java/test/wsdl/import3/MultiImpIncl/tbl1
> > > cvs server: Diffing java/test/wsdl/import3/MultiImpIncl/tbl2
> > > cvs server: Diffing java/test/wsdl/import3/MultiImpIncl/wsdl
> > > cvs server: Diffing java/test/wsdl/include
> > > cvs server: Diffing java/test/wsdl/include/address
> > > cvs server: Diffing java/test/wsdl/include/state
> > > cvs server: Diffing java/test/wsdl/inheritance
> > > cvs server: Diffing java/test/wsdl/inout
> > > cvs server: Diffing java/test/wsdl/interop
> > > cvs server: Diffing java/test/wsdl/interop3
> > > cvs server: Diffing java/test/wsdl/interop3/compound1
> > > cvs server: Diffing java/test/wsdl/interop3/compound2
> > > cvs server: Diffing java/test/wsdl/interop3/docLit
> > > cvs server: Diffing java/test/wsdl/interop3/docLitParam
> > > cvs server: Diffing java/test/wsdl/interop3/groupE
> > > cvs server: Diffing java/test/wsdl/interop3/groupE/client
> > > cvs server: Diffing java/test/wsdl/interop3/import1
> > > cvs server: Diffing java/test/wsdl/interop3/import2
> > > cvs server: Diffing java/test/wsdl/interop3/import3
> > > cvs server: Diffing java/test/wsdl/interop3/rpcEnc
> > > cvs server: Diffing java/test/wsdl/literal
> > > cvs server: Diffing java/test/wsdl/marrays
> > > cvs server: Diffing java/test/wsdl/multibinding
> > > cvs server: Diffing java/test/wsdl/multiref
> > > cvs server: Diffing java/test/wsdl/multithread
> > > cvs server: Diffing java/test/wsdl/names
> > > cvs server: Diffing java/test/wsdl/nested
> > > cvs server: Diffing java/test/wsdl/omit
> > > cvs server: Diffing java/test/wsdl/opStyles
> > > cvs server: Diffing java/test/wsdl/parameterOrder
> > > cvs server: Diffing java/test/wsdl/polymorphism
> > > cvs server: Diffing java/test/wsdl/qualify
> > > cvs server: Diffing java/test/wsdl/qualify2
> > > cvs server: Diffing java/test/wsdl/ram
> > > cvs server: Diffing java/test/wsdl/refattr
> > > cvs server: Diffing java/test/wsdl/roundtrip
> > > cvs server: Diffing java/test/wsdl/roundtrip/holders
> > > cvs server: Diffing java/test/wsdl/sequence
> > > cvs server: Diffing java/test/wsdl/types
> > > cvs server: Diffing java/test/wsdl/wrapped
> > > cvs server: Diffing java/tools
> > > cvs server: Diffing java/tools/org
> > > cvs server: Diffing java/tools/org/apache
> > > cvs server: Diffing java/tools/org/apache/axis
> > > cvs server: Diffing java/tools/org/apache/axis/tools
> > > cvs server: Diffing java/tools/org/apache/axis/tools/ant
> > > cvs server: Diffing java/tools/org/apache/axis/tools/ant/axis
> > > cvs server: Diffing java/tools/org/apache/axis/tools/ant/foreach
> > > cvs server: Diffing java/tools/org/apache/axis/tools/ant/wsdl
> > > cvs server: Diffing java/webapps
> > > cvs server: Diffing java/webapps/axis
> > > cvs server: Diffing java/webapps/axis/WEB-INF
> > > cvs server: Diffing java/wsdd
> > > cvs server: Diffing java/wsdd/docs
> > > cvs server: Diffing java/wsdd/examples
> > > cvs server: Diffing java/wsdd/examples/chaining_examples
> > > cvs server: Diffing java/wsdd/examples/from_SOAP_v2
> > > cvs server: Diffing
> java/wsdd/examples/serviceConfiguration_examples
> > > cvs server: Diffing java/wsdd/providers
> > > cvs server: Diffing java/xmls
> > > Index: java/xmls/targets.xml
> > >
> ===================================================================
> > > RCS file: /home/cvspublic/xml-axis/java/xmls/targets.xml,v
> > > retrieving revision 1.20
> > > diff -r1.20 targets.xml
> > > 129a130,133
> > > >     <condition property="jms.present" >
> > > >       <available classname="javax.jms.Message"
> > > classpathref="classpath" />
> > > >     </condition>
> > > >
> > > 175a180
> > > >     <echo message="jms.present=${jms.present}" />
> > > cvs server: Diffing proposals
> > > cvs server: Diffing proposals/arch
> > > cvs server: Diffing proposals/arch/docs
> > > cvs server: Diffing proposals/arch/src
> > > cvs server: Diffing proposals/arch/src/org
> > > cvs server: Diffing proposals/arch/src/org/apache
> > > cvs server: Diffing proposals/arch/src/org/apache/axis
> > > cvs server: Diffing proposals/arch/src/org/apache/axis/flow
> > > cvs server: Diffing proposals/arch/test
> > > cvs server: Diffing proposals/arch/test/flow
> 
> > --
> > Sonic Software - Backbone of the Extended Enterprise
> > --
> > David Chappell <ch...@sonicsoftware.com> Office: (781)999-7099
> > Mobile: (617)510-6566
> > Vice President and Chief Technology Evangelist, Sonic Software
> > co-author,"Java Web Services", (O'Reilly 2002)
> > "The Java Message Service", (O'Reilly 2000)
> > "Professional ebXML Foundations", (Wrox 2001)
> > --
> >
> > [attachment "chappell.vcf" removed by James M Snell/Fresno/IBM]

-- 
Sonic Software - Backbone of the Extended Enterprise
--
David Chappell <ch...@sonicsoftware.com> Office: (781)999-7099
Mobile: (617)510-6566
Vice President and Chief Technology Evangelist, Sonic Software
co-author,"Java Web Services", (O'Reilly 2002)
"The Java Message Service", (O'Reilly 2000)
"Professional ebXML Foundations", (Wrox 2001)
--

Re: Asynchronous Transport in Apache Axis, JMS and beyond

Posted by James M Snell <ja...@us.ibm.com>.
David,

One good thing that I see here is that the two approaches should actually 
be complementary.  Let's definitely have a chat about this to 1) make sure 
we're on the same page and 2) make sure we're not stepping on toes.   I'll 
set up the conference call, just let me know who to invite and when. :-)

- James Snell
     IBM Emerging Technologies
     jasnell@us.ibm.com
     (559) 587-1233 (office)
     (700) 544-9035 (t/l)
     Programming Web Services With SOAP
         O'Reilly & Associates, ISBN 0596000952

     Have I not commanded you? Be strong and courageous. 
     Do not be terrified, do not be discouraged, for the Lord your 
     God will be with you whereever you go.    - Joshua 1:9

David Chappell <ch...@sonicsoftware.com> wrote on 09/04/2002 10:36:39 
PM:

> Hi James,
> If this seems like a surprise to you, my apologies.  We started talking
> to Glen about this starting almost two months ago, including the details
> of a draft proposal of the asynchronous callback support. He saw that,
> thought it was a good proposal. In all fairness to him with regard to
> timing issues, he has been advocating for some time for us to post our
> thoughts to the axis-dev list. So we started with this.  We have been
> working under the operating assumption that simply a proposal was not
> enough.  We should put some skin in the game.  So we wrote some code and
> submitted it as a measure of good faith.  Last week at the XML
> conference in Boston, Glen and I  both talked to Sam about the notion of
> submitting this.  He seemed OK with it as well.  So here we are.

> We (Sonic) are also a member of the JCP EG process, and understand the
> notion of J2EE legal with regard to invokeOneWay(), and the history of
> that.

> All that aside...let's work in this.  We are volunteering to do some
> heavy lifting.  We have thrown our hat in the ring an offered up a JMS
> transport as a phase 1.  Like I said, we would like to work closely with
> the Axis-dev community on this proposal.  We are obviously thinking
> along similar lines, and should work together to flesh out the longer
> term strategy. Your approach with the ASYNC_CALL_PROPERTY sounds
> interesting.  We would like to hear more about it.  Perhaps we should
> have a con-call about it?

> 
> Dave

> 
> James M Snell wrote:

> > General FYI:
> >
> > I am currently about a week away from providing a fix to the current
> > Axis code that makes the asynchronous sending of messages by the Axis
> > Call object J2EE legal and that allows us to do asynchronous
> > request/response operations.  The approach I am taking provides this
> > functionality by implementing a pluggable asynchronous processing
> > model that operates behind the Axis Call object and minimally impacts
> > the current programming model by adding only a couple of new methods
> > to the current Call object interface.  An example of how this
> > mechanism will work is provided below.
> >
> > Currently in Axis, there is no way to do asynchronous request/response
> > operations.  Also, the invokeOneWay currently implements asynchronous
> > processing by creating a thread and invoking the Axis engine --
> > unfortunately this is not legal in J2EE since thread management done
> > directly within J2EE containers is not allowed.  By implementing a
> > pluggable mechanism, we can go back and plug in an asynchronous
> > processing model that IS legal within J2EE -- including, but not
> > limited to, using JMS.
> >
> > 1          try {
> > 2              String endpoint =
> > 3                       "some_service_endpoint";
> > 4
> > 5              Service  service = new Service();
> > 6              Call     call    = (Call) service.createCall();
> > 7
> > 8              call.setProperty(AsyncCall.ASYNC_CALL_PROPERTY,
> > 9                               new Boolean(true));
> > 10
> > 11             call.setTargetEndpointAddress( new
> > java.net.URL(endpoint) );
> > 12             call.setOperationName(
> > 13               new QName("namespace", "getQuote"));
> > 14
> > 15             String ret = (String) call.invoke( new Object[] { "IBM"
> > } );
> > 16
> > 17             while (call.getAsyncStatus() != Call.ASYNC_READY) {}
> > 18             System.out.println(call.getReturnValue());
> > 19             System.out.println("done!");
> > 20
> > 21         } catch (Exception e) {
> > 22             System.err.println(e.toString());
> > 23         }
> >
> > The way this works is simple.  Lines 8-9 tell the Axis call object to
> > use Async processing.  When the call.invoke is done on Line 15, Axis
> > will dispatch the invocation to the pluggable async processing
> > implementation currently configured (uses non-J2EE legal approach by
> > default, the admin can configure a new impl either through a system
> > property or using the engine config wsdd).
> >
> > Line 17 illustrates how the user can check to see when a response has
> > been received.  While the async operation is processing,
> > call.getAsyncStatus() will return Call.ASYNC_RUNNING.  When the
> > operation completes, the value will switch to Call.ASYNC_READY.  The
> > client can then call.getReturnValue() to return the response value.
> >
> > The invokeOneWay operation will be modified to use the pluggable async
> > processing impl automatically (without the end user specifying
> > ASYNC_CALL_PROPERTY == true).
> >
> > The point here (and the key benefit) is that from the end users point
> > of view, how the asyncronous processing is actually implemented is
> > irrelevant.  The existing programming model is impacted in a very
> > minimal way.  This could be provided for Axis 1.0 without making very
> > significant changes to the current axis code base.
> >
> > The implementation of this is about half way done (I'm currently
> > working on a J2EE legal pluggable implementation).
> >
> > - James Snell
> >     IBM Emerging Technologies
> >     jasnell@us.ibm.com
> >     (559) 587-1233 (office)
> >     (700) 544-9035 (t/l)
> >     Programming Web Services With SOAP, O'Reilly & Associates, ISBN
> > 0596000952
> > ==
> > Have I not commanded you? Be strong and courageous.  Do not be
> > terrified,
> > do not be discouraged, for the Lord your God will be with you
> > whereever you go.
> > - Joshua 1:9
> >
> > Please respond to axis-dev@xml.apache.org
> >
> > To:        axis-dev@xml.apache.org
> > cc:
> > Subject:        Asynchronous Transport in Apache Axis, JMS and beyond
> >
> > Sonic Software would like to become actively involved with providing
> > asynchronous transport support in Axis.  The first phase of this
> > effort,
> > included in the attached patch file, is a JMS transport
> > implementation.
> >
> > While this patch submission is limited to synchronous request/reply
> > over
> > a JMS transport, our longer term goal is to provide asynchrony in the
> > Axis engine on both the client and server side.  This effort includes
> > but is not limited to:
> >
> > -        Providing API's in the Axis client and server in support of
> > asynchronous callbacks, asynchronous request/reply, notification, and
> > solicit-response.
> > -        Splitting apart the axis engine at the pivot point in order
> > to be able
> > to support asynchronous callbacks, asynchronous request/reply,
> > notification, and solicit-response.
> > -        Adding correlation management in support of splitting apart
> > the
> > requests and responses in the Axis engine.
> > -        Generalizing the asynchronous support beyond JMS such that it
> > works
> > with any protocol such as HTTP and SMTP/POP/IMAP.
> >
> > The attached .zip file contains the files that implement the JMS
> > transport.  We tried to make it as vendor-neutral as possible yet keep
> > it dynamic and flexible by making the vendor specific parts of JMS
> > (ConnectionFactories, Topics, and Queues) be accessible both via JNDI
> > and via a string-based lookup.
> >
> > In addition to implementing the Transport, we have also included a
> > layer
> > of helper classes that do things like connection and session pooling,
> > connection retry management, and a Endpoint abstraction that deals
> > with
> > Topic and Queue destinations in JMS 1.0.2 using a single interface.
> > This layer is used by the transport.
> >
> > The contents of jms.zip belong in org.apache.axis.transport.jms, the
> > contents of JMSSamples.zip under samples/jms, and the following files
> > replace the pre-existing ones-
> > axisNLS.properties -> org.apache.axis.utils
> > build.xml -> java
> > targets.xml -> java/xmls
> >
> > At the moment JMSTest.java is intended to be run manually.  We would
> > like to add more tests to the automated test suite, but we need to
> > think
> > about issues like starting and stopping a JMS provider process in a
> > generic fashion.  Your input would be greatly appreciated on this.
> >
> > We would like to become committers to Axis, and get involved with Axis
> > for the long term.  We are working on fine-tuning a proposal that
> > outlines the details of what we would like to provide.  We will be
> > sharing that with you by the end of this month, and look forward to
> > hearing your feedback on it.
> >
> > We are very enthusiastic about getting involved in the Axis project,
> > and
> > look forward to working with you all.  We would also like to thank
> > Glen
> > for helping us to understand what it takes to get involved.
> >
> > FYI - I will be away from email for the next 1.5 days, but we will
> > have
> > engineers monitoring this list during that time to answer any
> > questions.
> >
> > Regards,
> > Dave Chappell
> > Sonic Software
> > ---
> > David Chappell <ch...@sonicsoftware.com> Office: (781)999-7099
> > Mobile: (617)510-6566
> > Vice President and Chief Technology Evangelist, Sonic Software
> > co-author,"Java Web Services", (O'Reilly 2002)
> > "The Java Message Service", (O'Reilly 2000)
> > "Professional ebXML Foundations", (Wrox 2001)
> >
> > <?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 targets SYSTEM "file:xmls/targets.xml">
> > ]>
> >
> > <project default="compile" basedir=".">
> > <!--
> > ===================================================================
> > -->
> > <description>
> > Build 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
> >
> > Optional components:
> > SOAP Attachment support enablement:
> > activation.jar     from
> > http://java.sun.com/products/javabeans/glasgow/jaf.html
> > mailapi.jar        from http://java.sun.com/products/javamail/
> > JimiProClasses.zip from http://java.sun.com/products/jimi/
> > Security support enablement:
> > xmlsec.jar from fresh build of CVS from
> > http://xml.apache.org/security/
> > Other support jars from
> > http://cvs.apache.org/viewcvs.cgi/xml-security/libs/
> >
> > Build Instructions:
> > To build, run
> >
> > ant "target"
> >
> > on the directory where this file is located with the target you want.
> >
> > Most useful targets:
> >
> > - compile  : creates the "axis.jar" package in "./build/lib"
> > - javadocs : creates the javadocs in "./build/javadocs"
> > - dist     : creates the complete binary distribution
> > - srcdist  : creates the complete src distribution
> > - functional-tests : attempts to build Ant task and then run
> > client-server functional test
> > - war      : create the web application as a WAR file
> > - clean    : clean up files and directories
> >
> > Custom post-compilation work:
> >
> > If you desire to do some extra work as a part of the build after the
> > axis.jar is assembled, simply create an ant buildfile called
> > "post-compile.xml" in this directory.  The build will automatically
> > notice this and run it at the appropriate time.  This is handy for
> > updating the jar file in a running server, for instance.
> >
> > Authors:
> > Sam Ruby  rubys@us.ibm.com
> > Matthew J. Duftler duftler@us.ibm.com
> > Glen Daniels gdaniels@macromedia.com
> >
> > Copyright:
> > Copyright (c) 2001-2002 Apache Software Foundation.
> > </description>
> > <!--
> > ====================================================================
> > -->
> >
> > <!-- Include the Generic XML files -->
> > &properties;
> > &paths;
> > &taskdefs;
> > &targets;
> >
> > <!--
> > ===================================================================
> > -->
> > <!-- Compiles the source directory
> >   -->
> > <!--
> > ===================================================================
> > -->
> > <target name="compile" depends="printEnv">
> > <javac srcdir="${src.dir}" destdir="${build.dest}" debug="${debug}"
> > deprecation="${deprecation}"
> > classpathref="classpath">
> > <exclude name="**/old/**/*" />
> > <exclude name="**/bak/**"/>
> > <exclude name="**/org/apache/axis/components/net/JSSE*.java"
> > unless="jsse.present"/>
> > <exclude name="**/org/apache/axis/components/net/Fake*.java"
> > unless="jsse.present"/>
> > <exclude name="**/org/apache/axis/components/image/JimiIO.java"
> > unless="jimi.present"/>
> > <exclude name="**/org/apache/axis/components/image/MerlinIO.java"
> > unless="merlinio.present"/>
> > <exclude name="**/org/apache/axis/attachments/AttachmentsImpl.java"
> > unless="attachments.present"/>
> > <exclude name="**/org/apache/axis/attachments/AttachmentPart.java"
> > unless="attachments.present"/>
> > <exclude name="**/org/apache/axis/attachments/AttachmentUtils.java"
> > unless="attachments.present"/>
> > <exclude name="**/org/apache/axis/attachments/MimeUtils.java"
> > unless="attachments.present"/>
> > <exclude
> > name="**/org/apache/axis/attachments/ManagedMemoryDataSource.java"
> > unless="attachments.present"/>
> > <exclude
> > name="**/org/apache/axis/attachments/MultiPartRelatedInputStream.java"
> > unless="attachments.present"/>
> > <exclude
> > name="**/org/apache/axis/attachments/BoundaryDelimitedStream.java"
> > unless="attachments.present"/>
> > <exclude name="**/org/apache/axis/attachments/ImageDataSource.java"
> > unless="jimiAndAttachments.present"/>
> > <exclude
> > name="**/org/apache/axis/attachments/MimeMultipartDataSource.java"
> > unless="attachments.present"/>
> > <exclude
> > name="**/org/apache/axis/attachments/PlainTextDataSource.java"
> > unless="attachments.present"/>
> > <exclude
> > 
> 
name="**/org/apache/axis/configuration/ServletEngineConfigurationFactory.java"
> > unless="servlet.present"/>
> > <exclude
> > name="**/org/apache/axis/encoding/ser/JAFDataHandlerSerializer.java"
> > unless="attachments.present"/>
> > <exclude
> > 
> 
name="**/org/apache/axis/encoding/ser/JAFDataHandlerDeserializerFactory.java"
> > unless="attachments.present"/>
> > <exclude
> > 
name="**/org/apache/axis/encoding/ser/JAFDataHandlerSerializerFactory.java"
> > unless="attachments.present"/>
> > <exclude
> > name="**/org/apache/axis/encoding/ser/JAFDataHandlerDeserializer.java"
> > unless="attachments.present"/>
> > <exclude name="**/org/apache/axis/handlers/MD5AttachHandler.java"
> > unless="attachments.present"/>
> > <exclude name="**/org/apache/axis/transport/http/AdminServlet.java"
> > unless="servlet.present"/>
> > <exclude name="**/org/apache/axis/transport/http/AxisHttpSession.java"
> > unless="servlet.present"/>
> > <exclude name="**/org/apache/axis/transport/http/AxisServlet.java"
> > unless="servlet.present"/>
> > <exclude
> > name="**/org/apache/axis/transport/http/CommonsHTTPSender.java"
> > unless="commons-httpclient.present"/>
> > <exclude name="**/org/apache/axis/transport/jms/*"
> > unless="jms.present"/>
> > <exclude name="**/org/apache/axis/server/JNDIAxisServerFactory.java"
> > unless="servlet.present"/>
> > <exclude name="**/org/apache/axis/security/servlet/*"
> > unless="servlet.present"/>
> > <exclude name="**/javax/xml/soap/*.java"
> > unless="attachments.present"/>
> > <exclude name="**/javax/xml/rpc/handler/soap/*.java"
> > unless="attachments.present"/>
> > <exclude name="**/javax/xml/rpc/server/Servlet*.java"
> > unless="servlet.present"/>
> > <exclude name="**/*TestSuite.java" unless="junit.present"/>
> > </javac>
> > <copy file="${src.dir}/org/apache/axis/server/server-config.wsdd"
> > toDir="${build.dest}/org/apache/axis/server"/>
> > <copy file="${src.dir}/org/apache/axis/client/client-config.wsdd"
> > toDir="${build.dest}/org/apache/axis/client"/>
> > <copy file="${src.dir}/log4j.properties"
> > toDir="${build.dest}"/>
> > <copy file="${src.dir}/simplelog.properties"
> > toDir="${build.dest}"/>
> > <copy file="${src.dir}/org/apache/axis/utils/axisNLS.properties"
> > toDir="${build.dest}/org/apache/axis/utils"/>
> >
> > <tstamp>
> > <format property="build.time" pattern="MMM dd, yyyy (hh:mm:ss z)"/>
> > </tstamp>
> > <replace file="${build.dest}/org/apache/axis/utils/axisNLS.properties"
> >
> > token="#today#" value="${build.time}"/>
> > <replace file="${build.dest}/org/apache/axis/utils/axisNLS.properties"
> >
> > token="#axisVersion#" value="${axis.version}"/>
> >
> > <jar jarfile="${build.lib}/${name}.jar" basedir="${build.dest}" >
> > <include name="org/**" />
> > <include name="log4j.properties"/>
> > <include name="simplelog.properties"/>
> > </jar>
> > <jar jarfile="${build.lib}/${jaxrpc}.jar" basedir="${build.dest}" >
> > <include name="javax/**"/>
> > <exclude name="javax/xml/soap/**"/>
> > </jar>
> > <jar jarfile="${build.lib}/${saaj}.jar" basedir="${build.dest}" >
> > <include name="javax/xml/soap/**"/>
> > </jar>
> > <copy file="${wsdl4j.jar}" toDir="${build.lib}"/>
> > <copy file="${commons-logging.jar}" toDir="${build.lib}"/>
> > <copy file="${commons-discovery.jar}" toDir="${build.lib}"/>
> > <copy file="${log4j-core.jar}" toDir="${build.lib}"/>
> >
> > <!-- stub in my task generations -->
> > <ant antfile="buildPreTestTaskdefs.xml" />
> >
> > <!--  Build the new org.apache.axis.tools.ant stuff -->
> > <ant antfile="tools/build.xml" />
> > <ant antfile="tools/build.xml" target="test"/>
> >
> > <antcall target="post-compile"/>
> > </target>
> >
> > <!--
> > ===================================================================
> > -->
> > <!-- Custom post-compilation step
> >    -->
> > <!--
> > ===================================================================
> > -->
> > <target name="post-compile" if="post-compile.present">
> > <ant antfile="post-compile.xml"/>
> > </target>
> >
> > <!--
> > ===================================================================
> > -->
> > <!-- Compiles the samples
> >    -->
> > <!--
> > ===================================================================
> > -->
> > <target name="samples" depends="compile"
> > description="build the samples">
> >
> > <!-- The interop echo sample depends on the wsdl2java task -->
> > <javac srcdir="." destdir="${build.dest}"
> > debug="${debug}">
> > <classpath>
> > <pathelement location="${build.lib}/${name}.jar"/>
> > <pathelement location="${build.lib}/${jaxrpc}.jar"/>
> > <pathelement location="${build.lib}/${saaj}.jar"/>
> > <path refid="classpath"/>
> > </classpath>
> > <include name="test/wsdl/*.java" />
> > </javac>
> >
> > <taskdef name="wsdl2java"
> > classname="test.wsdl.Wsdl2javaAntTask">
> > <classpath refid="test-classpath" />
> > </taskdef>
> >
> > <!-- Create java files for the echo sample -->
> > <wsdl2java url="samples/echo/InteropTest.wsdl"
> > output="build/work"
> > deployscope="session"
> > serverSide="no"
> > noimports="no"
> > verbose="no"
> > typeMappingVersion="1.1"
> > testcase="no">
> > <mapping namespace="http://soapinterop.org/" package="samples.echo"/>
> > <mapping namespace="http://soapinterop.org/xsd"
> > package="samples.echo"/>
> > </wsdl2java>
> >
> > <!-- Compile the echo sample generated java files -->
> > <javac srcdir="${build.dir}/work" destdir="${build.dest}"
> > debug="${debug}">
> > <classpath refid="test-classpath" />
> > <include name="samples/echo/**.java" />
> > </javac>
> >
> > <!-- AddressBook Sample -->
> > <wsdl2java url="samples/addr/AddressBook.wsdl"
> > output="build/work"
> > deployscope="session"
> > serverSide="yes"
> > skeletonDeploy="yes"
> > noimports="no"
> > verbose="no"
> > typeMappingVersion="1.1"
> > testcase="no">
> > <mapping namespace="urn:AddressFetcher2" package="samples.addr"/>
> > </wsdl2java>
> >
> > <!-- jaxrpc Dynamic proxy with bean - Bug 10824 -->
> > <wsdl2java url="samples/jaxrpc/address/Address.wsdl"
> > output="build/work"
> > serverSide="yes"
> > testcase="no">
> > </wsdl2java>
> >
> > <!-- Compile the echo sample generated java files -->
> > <javac srcdir="${build.dir}/work" destdir="${build.dest}"
> > debug="${debug}">
> > <classpath refid="test-classpath" />
> > <include name="samples/addr/**.java" />
> > <include name="samples/jaxrpc/address/**.java" />
> > </javac>
> >
> > <!-- Compile the sample code -->
> > <javac srcdir="." destdir="${build.dest}"
> > debug="${debug}">
> > <classpath>
> > <pathelement location="${build.lib}/${name}.jar"/>
> > <pathelement location="${build.lib}/${jaxrpc}.jar"/>
> > <pathelement location="${build.lib}/${saaj}.jar"/>
> > <path refid="classpath"/>
> > </classpath>
> > <include name="samples/**/*.java" />
> > <exclude name="samples/**/*SMTP*.java" unless="smtp.present" />
> > <exclude name="**/old/**/*.java" />
> > <exclude name="samples/userguide/example2/Calculator.java"/>
> > <exclude name="samples/addr/AddressBookTestCase.java" unless=
> > "junit.present"/>
> > <exclude name="samples/userguide/example6/Main.java" />
> > <exclude name="samples/userguide/example6/*Impl.java" />
> > <exclude name="samples/userguide/example6/*TestCase.java" />
> > <exclude name="samples/attachments/**/*.java"
> > unless="attachments.present" />
> > <exclude name="samples/security/**/*.java" unless="security.present"/>
> > <exclude name="samples/jms/**/*.java" unless="jms.present"/>
> > </javac>
> > </target>
> >
> > <!--
> > ===================================================================
> > -->
> > <!-- Compiles the JUnit testcases -->
> > <!--
> > ===================================================================
> > -->
> >
> > <path id="test-classpath">
> > <pathelement location="${build.dest}" />
> > <path refid="classpath"/>
> > </path>
> >
> > <target name="buildTest" if="junit.present" depends="compile,samples">
> > <echo message="junit package found ..."/>
> > <!-- Start by building the testcases -->
> > <javac srcdir="." destdir="${build.dest}"
> > debug="${debug}">
> > <classpath>
> > <pathelement location="${build.lib}/${name}.jar"/>
> > <pathelement location="${build.lib}/${jaxrpc}.jar"/>
> > <pathelement location="${build.lib}/${saaj}.jar"/>
> > <path refid="classpath"/>
> > </classpath>
> > <include name="test/**/*.java" />
> > <exclude name="test/lib/*.java"/>
> > <exclude name="test/inout/*.java" />
> > <exclude name="test/wsdl/*/*.java" />
> > <exclude name="test/wsdl/interop3/groupE/**/*.java" />
> > <exclude name="test/wsdl/interop3/**/*.java" />
> > <exclude name="test/wsdl/Wsdl2javaTestSuite.java"
> > unless="servlet.present"/>
> > <exclude name="test/md5attach/*.java" unless="attachments.present"/>
> > <exclude name="test/functional/TestAttachmentsSample.java"
> > unless="attachments.present"/>
> > <exclude name="test/wsdl/attachments/*.java"
> > unless="jimiAndAttachments.present" />
> > <exclude name="test/httpunit/**/*.java"/>
> > </javac>
> > <copy file="test/wsdd/testStructure1.wsdd"
> > toDir="${build.dest}/test/wsdd"/>
> > </target>
> >
> > <!--
> > ===================================================================
> > -->
> > <!-- Runs the JUnit package testcases -->
> > <!--
> > ===================================================================
> > -->
> > <target name="junit" if="junit.present" depends="samples,buildTest">
> > <mkdir dir="${test.functional.reportdir}" />
> > <junit printsummary="yes" haltonfailure="yes" fork="yes">
> > <classpath refid="test-classpath" />
> > <formatter type="xml" />
> > <batchtest todir="${test.functional.reportdir}">
> > <fileset dir="${build.dir}/classes">
> > <!-- Convention: each package that's being tested
> > has its own test class collecting all the tests -->
> > <include name="**/PackageTests.class" />
> > <!-- <include name="**/test/*TestSuite.class"/> -->
> > </fileset>
> > </batchtest>
> > </junit>
> > </target>
> >
> > <!--
> > ===================================================================
> > -->
> > <!-- Functional tests, no dependencies (for no-build testing)
> >    -->
> > <!--
> > ===================================================================
> > -->
> > <target name="functional-tests-only" depends="printEnv"
> > description="functional tests without a rebuild; the Axis Ant task
> > must be in ANT_HOME/lib"
> > >
> >
> > <!-- The Axis Ant task must be built (into ANT_HOME/lib)... -->
> > <ant antfile="test/build_functional_tests.xml"
> > target="functional-tests-only"/>
> >
> > <!--
> > ...and then the functional tests can be run.  If this step yields a
> > "can't find class test.functional.ant.RunAxisFunctionalTestsTask",
> > verify that your Ant classpath contains ANT_HOME/lib.
> > -->
> >
> > </target>
> >
> > <target name="functional-tests-secure-only" depends="printEnv"
> > description="functional secure tests without a rebuild;"
> > >
> > <ant antfile="test/build_functional_tests.xml"
> > target="functional-tests-secure-only"/>
> > </target>
> >
> > <!--
> > ===================================================================
> > -->
> > <!-- Functional tests, no server (for testing under debugger)
> >    -->
> > <!--
> > ===================================================================
> > -->
> > <target name="functional-tests-noserver" depends="buildTest, samples"
> > description="functional tests, no server">
> > <ant antfile="test/build_functional_tests.xml"
> > target="junit-functional-noserver">
> > <property name="test.functional.usefile"
> > value="${test.functional.usefile}"/>
> > </ant>
> >
> > </target>
> >
> > <!--
> > ===================================================================
> > -->
> > <!-- Functional tests, with server
> >   -->
> > <!--
> > ===================================================================
> > -->
> > <target name="functional-tests" depends="buildTest, samples"
> > description="functional tests">
> > <ant antfile="test/build_functional_tests.xml">
> > <property name="test.functional.usefile"
> > value="${test.functional.usefile}"/>
> > </ant>
> > </target>
> >
> > <!-- Security only tests, with full dependencies -->
> > <target name="secure-tests" depends="junit,
> > functional-tests-secure-only">
> > </target>
> >
> > <!-- All tests -->
> > <target name="all-tests" depends="junit, functional-tests">
> > </target>
> >
> > <!--
> > ===================================================================
> > -->
> > <!-- Creates the API documentation
> >   -->
> > <!--
> > ===================================================================
> > -->
> > <target name="javadocs" depends="printEnv"
> > unless="javadoc.notrequired"
> > description="create javadocs">
> >
> > <mkdir dir="${build.javadocs}"/>
> > <javadoc packagenames="${packages}"
> > sourcepath="${src.dir}"
> > classpathref="classpath"
> > destdir="${build.javadocs}"
> > author="true"
> > version="true"
> > use="true"
> > windowtitle="${Name} API"
> > doctitle="${Name}"
> > bottom="Copyright &#169; ${year} Apache XML Project. All Rights
> > Reserved."
> > />
> > </target>
> >
> > <!--
> > ===================================================================
> > -->
> > <!-- Build/Test EVERYTHING from scratch!
> >   -->
> > <!--
> > ===================================================================
> > -->
> > <target name="all" depends="dist, functional-tests"
> > description="do everything: distribution build and functional tests"
> > />
> >
> > <!--
> > ===================================================================
> > -->
> > <!-- Creates a war file for testing
> >    -->
> > <!--
> > ===================================================================
> > -->
> > <target name="war" depends="compile, samples"
> > description="Create the web application" >
> > <mkdir dir="${build.webapp}"/>
> > <copy todir="${build.webapp}">
> > <fileset dir="${webapp}"/>
> > </copy>
> > <copy todir="${build.webapp}/WEB-INF/lib">
> > <fileset dir="${lib.dir}">
> > <include name="*.jar"/>
> > </fileset>
> > <fileset dir="${build.lib}">
> > <include name="*.jar"/>
> > </fileset>
> > </copy>
> > <copy todir="${build.webapp}/samples">
> > <fileset dir="./samples"/>
> > </copy>
> > <copy todir="${build.webapp}/WEB-INF/classes/samples">
> > <fileset dir="${build.samples}"/>
> > </copy>
> > <copy todir="${build.webapp}/WEB-INF">
> > <fileset dir="${samples.dir}/stock">
> > <include name="*.lst"/>
> > </fileset>
> > </copy>
> > <delete>
> > <fileset dir="${build.webapp}" includes="**/CVS"/>
> > </delete>
> > <jar jarfile="${build.dir}/${name}.war" basedir="${build.webapp}"/>
> > </target>
> >
> > <!--
> > ===================================================================
> > -->
> > <!-- Creates the binary distribution
> >   -->
> > <!--
> > ===================================================================
> > -->
> > <target name="javadocsdist" depends="javadocs"
> > unless="javadoc.notrequired">
> > <mkdir dir="${dist.dir}/docs"/>
> > <mkdir dir="${dist.dir}/docs/apiDocs"/>
> > <copy todir="${dist.dir}/docs/apiDocs">
> > <fileset dir="${build.javadocs}"/>
> > </copy>
> > </target>
> >
> > <target name="dist" depends="compile, javadocsdist, samples, junit"
> > description="create the full binary distribution">
> > <mkdir dir="${dist.dir}"/>
> > <mkdir dir="${dist.dir}/lib"/>
> > <mkdir dir="${dist.dir}/samples"/>
> > <mkdir dir="${dist.dir}/webapps/axis"/>
> >
> > <copy todir="${dist.dir}/lib">
> > <fileset dir="${build.lib}"/>
> > </copy>
> > <copy todir="${dist.dir}/samples">
> > <fileset dir="${build.samples}"/>
> > <fileset dir="./samples"/>
> > </copy>
> > <copy todir="${dist.dir}/docs">
> > <fileset dir="${docs.dir}"/>
> > </copy>
> > <copy todir="${dist.dir}/webapps/axis">
> > <fileset dir="${webapp}"/>
> > </copy>
> > <copy todir="${dist.dir}/webapps/axis/WEB-INF">
> > <fileset dir="${samples.dir}/stock">
> > <include name="*.lst"/>
> > </fileset>
> > </copy>
> > <copy todir="${dist.dir}/webapps/axis/WEB-INF/lib">
> > <fileset dir="${build.lib}">
> > <include name="*.jar"/>
> > </fileset>
> > </copy>
> > <copy todir="${dist.dir}/webapps/axis/WEB-INF/classes/samples">
> > <fileset dir="${build.samples}"/>
> > </copy>
> > <!--
> > <copy file="../LICENSE" tofile="${dist.dir}/LICENSE"/>
> > -->
> > <copy file="README" tofile="${dist.dir}/README"/>
> > <copy file="release-notes.html"
> > tofile="${dist.dir}/release-notes.html"/>
> > </target>
> >
> > <!--
> > ===================================================================
> > -->
> > <!-- Creates the source distribution
> >   -->
> > <!--
> > ===================================================================
> > -->
> > <target name="srcdist" depends="javadocs"
> > description="Create the source distribution">
> > <copy todir="${dist.dir}">
> > <fileset dir=".">
> > <include name="build.xml"/>
> > <include name="README"/>
> > <include name="docs/**"/>
> > <include name="lib/**"/>
> > <include name="samples/**"/>
> > <include name="src/**"/>
> > <include name="test/**"/>
> > <include name="webapps/**"/>
> >
> > <exclude name="**/CVS/**"/>
> > </fileset>
> > </copy>
> > <copy todir="${dist.dir}/docs/apiDocs">
> > <fileset dir="${build.javadocs}"/>
> > </copy>
> > <copy file="../LICENSE" tofile="${dist.dir}/LICENSE"/>
> > </target>
> >
> > <!--
> > ===================================================================
> > -->
> > <!-- Interop 3
> >   -->
> > <!--
> > ===================================================================
> > -->
> > <target name="interop3" depends="buildTest"
> > description="run the round3 interop tests">
> > <ant dir="test/wsdl/interop3/import1"/>
> > <ant dir="test/wsdl/interop3/import2"/>
> > <ant dir="test/wsdl/interop3/import3"/>
> > <ant dir="test/wsdl/interop3/compound1"/>
> > <ant dir="test/wsdl/interop3/compound2"/>
> > <ant dir="test/wsdl/interop3/docLit"/>
> > <ant dir="test/wsdl/interop3/docLitParam"/>
> > <ant dir="test/wsdl/interop3/rpcEnc"/>
> > </target>
> >
> > <!--
> > ===================================================================
> > -->
> > <!-- Cleans everything
> >   -->
> > <!--
> > ===================================================================
> > -->
> > <target name="clean"
> > description="clean up, build, dist and much of the axis servlet">
> > <delete dir="${build.dir}"/>
> > <delete dir="${dist.dir}"/>
> > <delete file="client-config.wsdd"/>
> > <delete file="server-config.wsdd"/>
> > <delete file="webapps/axis/WEB-INF/server-config.wsdd"/>
> > <delete>
> > <fileset dir="webapps/axis" includes="**/*.class" />
> > </delete>
> > <delete dir="test-reports"/>
> > <delete file="TEST-test.functional.FunctionalTests.txt"/>
> > </target>
> >
> > <!--
> > ===================================================================
> > -->
> > <!-- Check the style of the Axis source
> >   -->
> > <!--
> > ===================================================================
> > -->
> > <target name="checkstyle"
> > description="Check the style of the Axis source" >
> > <ant dir="." target="checkstyle"
> > antfile="xmls/checkstyle.xml"
> > inheritall="true"
> > inheritrefs="true"
> > >
> > <property name="checkstyle.project"
> > value="axis" />
> > <property name="checkstyle.src.dir"
> > location="${axis.home}/src" />
> > </ant>
> > </target>
> > </project>
> >
> > # Translation instructions.
> > # 1.  Each message line is of the form key=value.
> > #     Translate the value, DO NOT translate the key.
> > # 2.  The messages may contain arguments that will be filled in
> > #     by the runtime.  These are of the form: {0}, {1}, etc.
> > #     These must appear as is in the message, though the order
> > #     may be changed to support proper language syntax.
> > # 3.  If a single quote character is to appear in the resulting
> > #     message, it must appear in this file as two consecutive
> > #     single quote characters.
> > # 4.  Lines beginning with "#" (like this one) are comment lines
> > #     and may contain translation instructions.  They need not be
> > #     translated unless your translated file, rather than this file,
> > #     will serve as a base for other translators.
> >
> > addAfterInvoke00={0}:  the chain has already been invoked
> > addBody00=Adding body element to message...
> > addHeader00=Adding header to message...
> > addTrailer00=Adding trailer to message...
> > adminServiceDeny=Denying service admin request from {0}
> > adminServiceLoad=Current load = {0}
> > adminServiceStart=Starting service in response to admin request from
> > {0}
> > adminServiceStop=Stopping service in response to admin request from
> > {0}
> > auth00=User ''{0}'' authenticated to server
> > auth01=User ''{0}'' authorized to ''{1}''
> >
> > # NOTE:  in axisService00, do not translate "AXIS"
> > axisService00=Hi there, this is an AXIS service!
> >
> > # NOTE:  in badArrayType00, do not translate "arrayTypeValue"
> > badArrayType00=Malformed arrayTypeValue ''{0}''
> >
> > # NOTE:  in badAuth00, do not translate ""Basic""
> > badAuth00=Bad authentication type (I can only handle "Basic").
> >
> > badBool00=Invalid boolean
> >
> > # NOTE:  in badCall00, do not translate "Call"
> > badCall00=Cannot update the Call object
> > badCall01=Failure trying to get the Call object
> > badCall02=Invocation of Call.getOutputParams failed
> >
> > badChars00=Unexpected characters
> > badChars01=Bad character or insufficient number of characters in hex
> > string
> > badCompile00=Error while compiling:  {0}
> > badDate00=Invalid date
> > badDateTime00=Invalid date/time
> > badElem00=Invalid element in {0} - {1}
> > badHandlerClass00=Class ''{0}'' is not a Handler (can't be used in
> > HandlerProvider)!
> > badHolder00=Holder of wrong type.
> > badInteger00=Explicit array length is not a valid integer ''{0}''.
> >
> > # NOTE:  in badMsgCtx00, do not translate "--messageContext",
> > "--skeleton"
> > badMsgCtx00=Error: --messageContext switch only valid with --skeleton
> >
> > badNameAttr00=No ''name'' attribute was specified in an undeployment
> > element
> > badNamespace00=Bad envelope namespace:  {0}
> > badNameType00=Invalid Name
> > badNCNameType00=Invalid NCName
> > badNmtoken00=Invalid Nmtoken
> > badOffset00=Malformed offset attribute ''{0}''.
> > badpackage00=Error: --NStoPKG and --package switch can't be used
> > together
> > # NOTE:  in badParmMode00, do not translate "Parameter".
> > badParmMode00=Invalid Parameter mode {0}.
> > badPosition00=Malformed position attribute ''{0}''.
> > badProxy00=Proxy port number, "{0}", incorrectly formatted
> > badPort00=portName should not be null
> >
> > # NOTE:  in badRequest00, do not translate "GET", "POST"
> > badRequest00=Cannot handle non-GET, non-POST request
> >
> > # NOTE:  in badRootElem00, do not translate "clientdeploy", "deploy",
> > "undeploy", "list", "passwd", "quit"
> > badRootElem00=Root element must be ''clientdeploy'', ''deploy'',
> > ''undeploy'', ''list'', ''passwd'', or ''quit''
> >
> > badScope00=Unrecognized scope:  {0}.  Ignoring it.
> > badTag00=Bad envelope tag:  {0}
> > badTime00=Invalid time
> > badTimezone00=Invalid timezone
> > badTypeNamespace00=Found languageSpecificType namespace ''{0}'',
> > expected ''{1}''
> > badUnsignedByte00=Invalid unsigned byte
> > badUnsignedShort00=Invalid unsigned short
> > badUnsignedInt00=Invalid unsigned int
> > badUnsignedLong00=Invalid unsigned long
> > badWSDDElem00=Invalid WSDD Element
> > beanSerConfigFail00=Exception configuring bean serialization for {0}
> > bodyElementParent=Warning: SOAPBodyElement.setParentElement should
> > take a SOAPBody parameter instead of a SOAPEnvelope (but need not be
> > called after SOAPBody.addBodyElement)
> > bodyElems00=There are {0} body elements.
> > bodyIs00=body is {0}
> > bodyPresent=Body already present
> > buildChain00={0} building chain ''{1}''
> > cantAuth00=User ''{0}'' not authenticated (unknown user)
> > cantAuth01=User ''{0}'' not authenticated
> > cantAuth02=User ''{0}'' not authorized to ''{1}''
> >
> > # NOTE:  in the cantConvertXX messages, do not translate "bytes",
> > "String", "bean", "int"
> > cantConvert00=Cannot convert {0} to bytes
> > cantConvert01=Cannot convert form {0} to String
> > cantConvert02=Could not convert {0} to bean field ''{1}'', type {2}
> > cantConvert03=Could not convert value to int
> >
> > cantDoNullArray00=Cannot serialize null arrays just yet...
> >
> > # NOTE:  in cantDoURL00, do not translate "getURL", "URL"
> > cantDoURL00=getURL failed to correctly process URL; protocol not
> > supported
> >
> > cantHandle00={0} cannot handle structured data!
> >
> > # NOTE:  in cantInvoke00, do not translate "Call" or "URI"
> > cantInvoke00=Cannot invoke Call with null namespace URI for method {0}
> >
> > cantResolve00=Cannot resolve chain
> >
> > # NOTE:  in cantSerialize00, do not translate "ArraySerializer"
> > cantSerialize00=Cannot serialize a {0} with the ArraySerializer!
> >
> > # NOTE:  in cantSerialize01, do not translate "Elements" and
> > "ElementSerializer"
> > cantSerialize01=Cannot serialize non-Elements with an
> > ElementSerializer!
> >
> > cantSerialize02=Cannot serialize a raw object
> > cantSetURI00=Cannot set location URI:  {0}
> > cantTunnel00=Unable to tunnel through {0}:{1}.  Proxy returns "{2}"
> > changePwd00=Changing admin password
> > childPresent=MessageElement.setObjectValue called when a child element
> > is present
> > compiling00=Compiling:  {0}
> > ctor00=Constructor
> > convert00=Trying to convert {0} to {1}
> > copy00=copy {0} {1}
> > couldntCall00=Could not get a call
> > couldntConstructProvider00=Service couldn't construct provider!
> >
> > # NOTE:  in createdHTTP entries, do not translate "HTTP"
> > createdHTTP00=Created an insecure HTTP connection
> > createdHTTP01=Created an insecure HTTP connection using proxy {0},
> > port {1}
> >
> > # NOTE:  in createdSSL00, do not translate "SSL"
> > createdSSL00=Created an SSL connection
> >
> > connectionClosed00=Connection closed.
> >
> > debugLevel00=Setting debug level to:  {0}
> >
> > # NOTE:  in defaultLogic00, do not translate "AxisServer"
> > defaultLogic00=Calling default logic in AxisServer
> >
> > deployChain00=Deploying chain:  {0}
> > deployHandler00=Deploying handler:  {0}
> > deployService00=Deploying service ''{0}'' into {1}
> > deployService01=Deploying service:  {0}
> > deployTransport00=Deploying transport:  {0}
> >
> > # NOTE:  in deserFact00, do not translate "DeserializerFactory"
> > deserFact00=DeserializerFactory class is {0}
> >
> > disabled00=functionality disabled.
> > dispatching00=Dispatching to a body namespace ''{0}''
> > doList00=Doing a list
> > done00=Done processing
> > doQuit00=Doing a quit
> >
> > dupConfigProvider00=Attempt to set configProvider for
> > already-configured Service!
> > duplicateFile00=Duplicate file name: {0}.  \nHint: you may have mapped
> > two namespaces with elements of the same name to the same package
> > name.
> > duplicateClass00=Duplicate class name: {0}.  \nHint: you may have
> > mapped two namespaces with elements of the same name to the same
> > package name.
> >
> > elapsed00=Elapsed: {0} milliseconds
> >
> > # NOTE:  in emitFail00, do not translate "parameterOrder"
> > emitFail00=Emitter failure.  All input parts must be listed in the
> > parameterOrder attribute of {0}
> >
> > # NOTE:  in emitFail01, do not translate "portType", "binding"
> > emitFail01=Emitter failure.  Cannot find portType operation parameters
> > for binding {0}
> >
> > # NOTE:  in emitFail02 and emitFail03, do not translate "port",
> > "service"
> > emitFail02=Emitter failure.  Cannot find endpoint address in port {0}
> > in service {1}
> > emitFail03=Emitter failure.  Invalid endpoint address in port {0} in
> > service {1}:  {2}
> >
> > # NOTE do not translate "binding", "port", "service", or "portType"
> > emitFailNoBinding01=Emitter failure.  No binding found for port {0}
> > emitFailNoBindingEntry01=Emitter failure. No binding entry found for
> > {0}
> > emitFailNoPortType01=Emitter failure.  No portType entry found for {0}
> > emitFailtUndefinedBinding01=Emitter failure.  There is an undefined
> > binding ({0}) in the WSDL document.\nHint: make sure <port
> > binding=\"..\"> is fully qualified.
> > emitFailtUndefinedBinding02=Emitter failure.  There is an undefined
> > binding ({0}) in the WSDL document {1}.\nHint: make sure <port
> > binding=\"..\"> is fully qualified.
> > emitFailtUndefinedMessage01=Emitter failure.  There is an undefined
> > message ({0}) in the WSDL document.\nHint: make sure <input
> > message=\"..\"> and <output message=".."> are fully qualified.
> > emitFailtUndefinedPort01=Emitter failure.  There is an undefined
> > portType ({0}) in the WSDL document.\nHint: make sure <binding
> > type=\"..\"> is fully qualified.
> > emitFailtUndefinedPort02=Emitter failure.  There is an undefined
> > portType ({0}) in the WSDL document {1}.\nHint: make sure <binding
> > type=\"..\"> is fully qualified.
> >
> > emitter00=emitter
> > empty00=empty
> >
> > # NOTE:  in enableTransport00, do not translate "SOAPService"
> > enableTransport00=SOAPService({0}) enabling transport {1}
> >
> > end00=end
> > endDoc00=End document
> > endDoc01=Done with document
> > endElem00=End element {0}
> > endPrefix00=End prefix mapping ''{0}''
> > enter00=Enter:  {0}
> >
> > #NOTE:  in error00, do not translate "AXIS"
> > error00=AXIS error
> >
> > error01=Error:  {0}
> > errorInvoking00=Error invoking operation:  {0}
> > errorProcess00=Error processing ''{0}''
> > exit00=Exit:  {0}
> > exit01=Exit:  {0} no-argument constructor
> > exit02=Exit:  {0} - {1} is null
> > fault00=Fault occurred
> > fileExistError00=Error determining if {0} already exists.  Will not
> > generate this file.
> > filename00=File name is:  {0}
> > filename01={0}:  request file name = ''{1}''
> > fromFile00=From file:  ''{0}'':''{1}''
> > from00=From {0}
> > genDeploy00=Generating deployment document
> > genDeployFail00=Failed to write deployment document
> > genFault00=Generating fault class
> > genHolder00=Generating type implementation holder
> >
> > # NOTE:  in genIFace00, do not translate "portType"
> > genIface00=Generating portType interface
> > genIface01=Generating server-side portType interface
> >
> > genImpl00=Generating server-side implementation template
> >
> > # NOTE:  in genService00, do not translate "service"
> > genService00=Generating service class
> >
> > genSkel00=Generating server-side skeleton
> > genStub00=Generating client-side stub
> > genTest00=Generating service test case
> > genType00=Generating type implementation
> > genHelper00=Generating helper implementation
> > genUndeploy00=Generating undeployment document
> > genUndeployFail00=Failed to write undeployment document
> > getProxy00=Use to get a proxy class for {0}
> > got00=Got {0}
> > gotForID00=Got {0} for ID {1} (class = {2})
> > gotPrincipal00=Got principal:  {0}
> > gotResponse00=Got response message
> > gotType00={0} got type {1}
> > gotValue00={0} got value {1}
> > handlerRegistryConfig=Service does not support configuration of a
> > HandlerRegistry
> > headers00=headers
> > headerPresent=Header already present
> >
> > # NOTE:  in httpPassword00, do not translate HTTP
> > httpPassword00=HTTP password:  {0}
> >
> > # NOTE:  in httpPassword00, do not translate HTTP
> > httpUser00=HTTP user id:  {0}
> >
> > inMsg00=In message: {0}
> > internalError00=Internal error
> > internalError01=Internal server error
> >
> > invalidConfigFilePath=Configuration file directory ''{0}'' is not
> > readable.
> >
> > invalidWSDD00=Invalid WSDD element ''{0}'' (wanted ''{1}'')
> >
> > # NOTE:  in invokeGet00, do no translate "GET"
> > invokeGet00=invoking via GET
> >
> > invokeRequest00=Invoking request chain
> > invokeResponse00=Invoking response chain
> > invokeService00=Invoking service/pivot
> > isNull00=is {0} null?  {1}
> >
> > lookup00=Looking up method {0} in class {1}
> > makeEnvFail00=Could not make envelope
> > match00={0} match:  host:  {1}, pattern:  {2}
> > mustBeIface00=Only interfaces may be used for the proxy class argument
> > mustExtendRemote00=Only interfaces which extend java.rmi.Remote may be
> > used for the proxy class argument
> > namesDontMatch00=Method names do not match\nBody method name =
> > {0}\nService method names = {1}
> > namesDontMatch01=Method names do not match\nBody name = {0}\nService
> > name = {1}\nService nameList = {2}
> > needPwd00=Must specify a password!
> > needService00=No target service to authorize for!
> > needUser00=Need to specify a user for authorization!
> > never00={0}:  this should never happen!  {1}
> >
> > # NOTE:  in newElem00, do not translate "MessageElement"
> > newElem00=New MessageElement ({0}) named {1}
> >
> > no00=no {0}
> > noAdminAccess00=Remote administrator access is not allowed!
> > noArrayArray00=Arrays of arrays are not supported ''{0}''.
> >
> > # NOTE:  in noArrayType00, do no translate "arrayType"
> > noArrayType00=No arrayType attribute for array!
> >
> > # NOTE:  in noBeanHome00, do not translate "EJBProvider"
> > noBeanHome00=EJBProvider cannot get Bean Home
> >
> > # NOTE:  in noBody00, do not translate "Body"
> > noBody00=Body not found.
> >
> > noChains00=Services must use targeted chains
> > noClass00=Could not create class {0}
> >
> > # NOTE:  in noClassname00, do not translate "classname"
> > noClassname00=No classname attribute in type mapping
> >
> > noComponent00=No deserializer defined for array type {0}
> > noConfig00=No engine configuration file - aborting!
> > 
> > # NOTE:  in noContext00, do not translate
> > "MessageElement.getValueAsType()"
> > noContext00=No deserialization context to use in
> > MessageElement.getValueAsType()!
> >
> > # NOTE:  in noContext01, do not translate "EJBProvider", "Context"
> > noContext01=EJBProvider cannot get Context
> >
> > # NOTE:  in noCustomElems00, do not translate "<body>"
> > noCustomElems00=No custom elements allowed at top level until after
> > the <body> tag
> > noData00=No data
> > noDeploy00=Could not generate deployment list!
> > noDeser00=No deserializer for {0}
> >
> > # NOTE:  in noDeserFact00, do not translate "DeserializerFactory"
> > noDeserFact00=Could not load DeserializerFactory {0}
> >
> > noDeser01=Deserializing parameter ''{0}'':  could not find
> > deserializer for type {1}
> > noDoc00=Could not get DOM document: XML was "{0}"
> >
> > # NOTE:  in noEngine00, do not translate "AXIS"
> > noEngine00=Could not find AXIS engine!
> >
> > # NOTE:  in noEngineConfig00, do not translate "engineConfig"
> > noEngineConfig00=Wanted ''engineConfig'' element, got ''{0}''
> >
> > # NOTE:  in engineConfigWrongClass??, do not translate
> > "EngineConfiguration"
> > engineConfigWrongClass00=Expected instance of ''EngineConfiguration''
> > in environment
> > engineConfigWrongClass01=Expected instance of ''{0}'' to be of type
> > ''EngineConfiguration''
> >
> > # NOTE:  in engineConfigNoClass00, do not translate
> > "EngineConfiguration"
> > engineConfigNoClass00=''EngineConfiguration'' class not found: ''{0}''
> >
> > engineConfigNoInstance00=''{0}'' class cannot be instantiated
> > engineConfigIllegalAccess00=Illegal access while instantiating class
> > ''{0}''
> >
> > jndiNotFound00=JNDI InitialContext() returned null, default to
> > non-JNDI behavior (DefaultAxisServerFactory)
> >
> > # NOTE:  in servletContextWrongClass00, do not translate
> > "ServletContext"
> > servletContextWrongClass00=Expected instance of ''ServletContext'' in
> > environment
> >
> > noEngineWSDD=Engine configuration is not present or not WSDD!
> >
> > noHandler00=Cannot locate handler:  {0}
> >
> > # NOTE:  in noHandler01, do not translate "QName"
> > noHandler01=No handler for QName {0}
> >
> > noHandler02=Could not find registered handler ''{0}''
> >
> > noHandlerClass00=No HandlerProvider ''handlerClass'' option was
> > specified!
> >
> > noHandlersInChain00=No handlers in {0} ''{1}''
> >
> > noHeader00=no {0} header!
> >
> > # NOTE:  in noInstructions00, do not translate "SOAP"
> > noInstructions00=Processing instructions are not allowed within SOAP
> > messages
> >
> > # NOTE:  in noJSSE00, do not translate "SSL", JSSE", "classpath"
> > noJSSE00=SSL feature disallowed:  JSSE files not installed or present
> > in classpath
> >
> > noMap00={0}:  {1} is not a map
> >
> > noMatchingProvider00=No provider type matches QName ''{0}''
> >
> > noMethod00=Method not found\nMethod name = {0}\nService name = {1}
> > noMethod01=No method!
> > noMultiArray00=Multidimensional arrays are not supported ''{0}''.
> > noOperation00=No operation name specified!
> > noOperation01=Cannot find operation:  {0} - none defined
> > noOperation02=Cannot find operation:  {0}
> > noOption00=No ''{0}'' option was configured for the service ''{1}''
> >
> > # NOTE:  in noParent00, do not translate "SOAPTypeMappingRegistry"
> > noParent00=no SOAPTypeMappingRegistry parent
> >
> > noPart00={0} not found as an input part OR an output part!
> > noPivot00=No pivot handler ''{0}'' found!
> > noPivot01=Can't deploy a Service with no provider (pivot)!
> >
> > # NOTE:  in noPort00, do not translate "port"
> > noPort00=Cannot find port:  {0}
> >
> > # NOTE:  in noPortType00, do not translate "portType"
> > noPortType00=Cannot find portType:  {0}
> >
> > noPrefix00={0} did not find prefix:  {1}
> > noPrincipal00=No principal!
> > noProviderAttr00=No provider specified for service ''{0}''
> > noProviderElem00=The required provider element is missing
> > noRecorder00=No event recorder inside element
> >
> > # NOTE:  in noRequest00, do not translate "MessageContext"
> > noRequest00=No request message in MessageContext?
> >
> > noRequest01=No request chain
> > noResponse00=No response chain
> > noResponse01=No response message!
> > noRoles00=No roles specified for target service, allowing.
> > noRoles01=No roles specified for target service, disallowing.
> > noSerializer00=No serializer found for class {0} in registry {1}
> > noSerializer01=Could not load serializer class {0}
> > noService00=Cannot find service:  {0}
> > noService01=No service has been defined
> > noService02=This service is not available at this endpoint ({0}).
> > noService03=No service/pivot
> > noService04=No service object defined for this Call object.
> >
> > #NOTE:  in noService04, do not translate "AXIS", "targetService"
> > noService05=The AXIS engine could not find a target service to invoke!
> >  targetService is {0}
> >
> > noService06=No service is available at this URL
> >
> > # NOTE:  in noSecurity00, do not translate "MessageContext"
> > noSecurity00=No security provider in MessageContext!
> >
> > # NOTE:  in noSOAPAction00, do not translate "HTTP", "SOAPAction"
> > noSOAPAction00=No HTTP SOAPAction property in context
> >
> > noTransport00=No client transport named ''{0}'' found!
> > noTransport01=No transport mapping for protocol:  {0}
> > noType00=No mapped schema type for {0}
> >
> > # NOTE:  in noType01, do not translate "vector"
> > noType01=No type attribute for vector!
> >
> > noTypeAttr00=Must include type attribute for Handler deployment!
> >
> > noTypeQName00=No type QName for mapping!
> >
> > notAuth00=User ''{0}'' not authorized to ''{1}''
> > notImplemented00={0} is not implemented!
> >
> > noTypeOnGlobalConfig00=GlobalConfiguration does not allow the ''type''
> > attribute!
> >
> > # NOTE:  in noUnderstand00, do not translate "MustUnderstand"
> > noUnderstand00=Did not understand "MustUnderstand" header(s)!
> >
> > # NOTE:  in noValue00, do not translate "value", "RPCParam"
> > noValue00=No value field for RPCParam to use?!? {0}
> >
> > # NOTE:  in noWSDL00, do not translate "WSDL"
> > noWSDL00=Could not generate WSDL!
> >
> > null00={0} is null
> >
> > # NOTE:  in nullCall00, do not translate "AdminClient" or "''call''"
> > nullCall00=AdminClient did not initialize correctly: ''call'' is null!
> >
> > # NOTE:  in nullEJBUser00, do not translate "EJBProvider"
> > nullEJBUser00=Null user in EJBProvider
> >
> > nullHandler00={0}:  Null handler;
> > nullNamespaceURI=Null namespace URI specified.
> > nullParent00=null parent!
> >
> > nullProvider00=Null provider type passed to WSDDProvider!
> >
> > nullResponse00=Null response message!
> > oddDigits00=Odd number of digits in hex string
> > ok00=OK
> >
> > # NOTE:  in the only1Body00, do not translate "Body"
> > only1Body00=Only one Body element allowed!
> >
> > # NOTE:  in the only1Header00, do not translate "Header"
> > only1Header00=Only one Header element allowed!
> >
> > optionAll00=generate code for all elements, even unreferenced ones
> > optionHelp00=print this message and exit
> >
> > # NOTE:  in optionImport00, do not translate "WSDL"
> > optionImport00=only generate code for the immediate WSDL document
> >
> > # NOTE:  in optionMsgCtx00, do not translate "MessageContext"
> > optionMsgCtx00=emit a MessageContext parameter to skeleton methods
> >
> > # NOTE:  in optionFileNStoPkg00, do not translate "NStoPkg.properties"
> > optionFileNStoPkg00=file of NStoPkg mappings (default
> > NStoPkg.properties)
> >
> > # NOTE:  in optionNStoPkg00, do not translate "namespace", "package"
> > optionNStoPkg00=mapping of namespace to package
> >
> > optionOutput00=output directory for emitted files
> > optionPackage00=override all namespace to package mappings, use this
> > package name instead
> > optionTimeout00=timeout in seconds (default is 45, specify -1 to
> > disable)
> > options00=Options:
> >
> > # NOTE:  in optionScope00, do not translate "Application", "Request",
> > "Session"
> > optionScope00=add scope to deploy.wsdd: "Application", "Request",
> > "Session"
> >
> > optionSkel00=emit server-side bindings for web service
> >
> > # NOTE:  in optionTest00, do not translate "junit"
> > optionTest00=emit junit testcase class for web service
> >
> > optionVerbose00=print informational messages
> >
> > outMsg00=Out message: {0}
> > params00=Parameters are:  {0}
> > parent00=parent
> >
> > # NOTE: in parmMismatch00, do not translate "IN/INOUT",
> > "addParameter()"
> > parmMismatch00=Number of parameters passed in ({0}) doesn''t match the
> > number of IN/INOUT parameters ({1}) from the addParameter() calls
> >
> > # NOTE:  in parsing00, do not translate "XML"
> > parsing00=Parsing XML file:  {0}
> >
> > parseError00=Error in parsing:  {0}
> > password00=Password:  {0}
> > perhaps00=Perhaps there will be a form for invoking the service
> > here...
> > popHandler00=Popping handler {0}
> > process00=Processing ''{0}''
> > processFile00=Processing file {0}
> >
> > # NOTE:  in pushHandler00, we are pushing a handler onto a stack
> > pushHandler00=Pushing handler {0}
> > quit00={0} quitting.
> > quitRequest00=Administration service requested to quit, quitting.
> >
> > # NOTE:  in reachedServer00, do not translate "SimpleAxisServer"
> > reachedServer00=You have reached the SimpleAxisServer.
> > unableToStartServer00=Unable to bind to port {0}. Did not start
> > SimpleAxisServer.
> >
> > # NOTE:  in reachedServlet00, do not translate "AXIS HTTP Servlet",
> > "URL", "SOAP"
> > reachedServlet00=Hi, you have reached the AXIS HTTP Servlet.  Normally
> > you would be hitting this URL with a SOAP client rather than a
> > browser.
> >
> > readOnlyConfigFile=Configuration file read-only so engine
> > configuration changes will not be saved.
> >
> > register00=register ''{0}'' - ''{1}''
> > registerTypeMap00=Registering type mapping {0} -> {1}
> > registryAdd00=Registry {0} adding ''{1}'' ({2})
> > result00=Got result:  {0}
> > removeBody00=Removing body element from message...
> > removeHeader00=Removing header from message...
> > removeTrailer00=Removing trailer from message...
> > return00={0} returning new instance of {1}
> > return01=return code:  {0}\n{1}
> > return02={0} returned:  {1}
> > returnChain00={0} returning chain ''{1}''
> > saveConfigFail00=Could not write engine config!
> >
> > # NOTE:  in semanticCheck00, do not translate "SOAP"
> > semanticCheck00=Doing SOAP semantic checks...
> >
> > # NOTE:  in sendingXML00, do not translate "XML"
> > sendingXML00={0} sending XML:
> >
> > serializer00=Serializer class is {0}
> > serverDisabled00=This Axis server is not currently accepting requests.
> >
> > # NOTE:  in serverFault00, do not translate "HTTP"
> > serverFault00=HTTP server fault
> >
> > serverRun00=Server is running
> > serverStop00=Server is stopped
> >
> > servletEngineWebInfError00=Problem with servlet engine /WEB-INF
> > directory
> > servletEngineWebInfError01=Problem with servlet engine config file:
> > {0}
> >
> > setCurrMsg00=Setting current message form to: {0} (current message is
> > now {1})
> > setProp00=Setting {0} property in {1}
> >
> > # NOTE:  in setupTunnel00, do not translate "SSL"
> > setupTunnel00=Set up SSL tunnelling through {0}:{1}
> >
> > setValueInTarget00=Set value {0} in target {1}
> > somethingWrong00=Sorry, something seems to have gone wrong... here are
> > the details:
> > start00={0} starting up on port {1}.
> > startElem00=Start element {0}
> > startPrefix00=Start prefix mapping ''{0}'' -> ''{1}''
> > stackFrame00=Stack frame marker
> > test00=...
> > test01=.{0}.
> > test02={0}, {1}.
> > test03=.{2}, {0}, {1}.
> > test04=.{0} {1} {2} ... {3} {2} {4} {5}.
> > timeout00=Session id {0} timed out.
> > transport00=Transport is {0}
> > transport01={0}:  Transport = ''{1}''
> >
> > # NOTE:  in transportName00, do not translate "AXIS"
> > transportName00=In case you are interested, my AXIS transport name
> > appears to be ''{0}''
> >
> > tryingLoad00=Trying to load class:  {0}
> >
> > # NOTE:  in typeFromAttr00, do not translate "Type"
> > typeFromAttr00=Type from attributes is:  {0}
> >
> > # NOTE:  in typeFromParms00, do not translate "Type"
> > typeFromParms00=Type from default parameters is:  {0}
> >
> > # NOTE:  in typeNotSet00, do not translate "Part"
> > typeNotSet00=Type attribute on Part ''{0}'' is not set
> >
> > types00=Types:
> >
> > # NOTE:  in typeSetNotAllowed00, do not translate "Type"
> > typeSetNotAllowed00={0} disallows setting of Type
> > unauth00=Unauthorized
> > undeploy00=Undeploying {0}
> > unexpectedDesc00=Unexpected {0} descriptor
> > unexpectedEOS00=Unexpected end of stream
> > unexpectedUnknown00=Unexpected unknown element
> > unknownHost00=Unknown host - could not verify admininistrator access
> > unknownType00=Unknown type:  {0}
> > unknownType01=Unknown type to {0}
> >
> > # NOTE: in unlikely00, do not translate "URL", "WSDL2Java"
> > unlikely00=unlikely as URL was validated in WSDL2Java
> >
> > unregistered00=Unregistered type:  {0}
> > usage00=Usage:  {0}
> > user00=User:  {0}
> > usingServer00={0} using server {1}
> > value00=value:  {0}
> > warning00=Warning: {0}
> > where00=Where {0} looks like:
> >
> > # NOTE:  in withParent00, do not translate "SOAPTypeMappingRegistry"
> > withParent00=SOAPTypeMappingRegistry with parent
> > wsdlError00=Error processing WSDL document: {0} {1}
> >
> > # NOTE:  in wsdlGenLine00, do not translate "WSDL"
> > wsdlGenLine00=This file was auto-generated from WSDL
> >
> > # NOTE:  in wsdlGenLine01, do not translate "Apache Axis WSDL2Java"
> > wsdlGenLine01=by the Apache Axis WSDL2Java emitter.
> >
> > wsdlMissing00=Missing WSDL document
> >
> > # NOTE:  in wsdlService00, do not translate "WSDL service"
> > wsdlService00=Services from {0} WSDL service
> >
> > # NOTE:  in xml entries, do not translate "XML"
> > xmlRecd00=XML received:
> > xmlSent00=XML sent:
> >
> > # NOTE:  in the deployXX entries, do not translate "<!--" and "-->".
> >  These are comment indicators.  Adding or removing whitespace to make
> > the comment indicators line up would be nice.  Also, do not translate
> > the string "axis", or messages:  deploy03, deploy04, deploy07
> > deploy08.  Those messages are included so that the spaces can be lined
> > up by the translator.
> > deploy00=<!-- Use this file to deploy some handlers/chains and
> > services      -->
> > deploy01=<!-- Use this file to undeploy some handlers/chains and
> > services    -->
> > deploy02=<!-- Two ways to do this:
> >       -->
> > deploy03=<!--   java org.apache.axis.client.AdminClient deploy.wsdd
> >        -->
> > deploy04=<!--   java org.apache.axis.client.AdminClient undeploy.wsdd
> >        -->
> > deploy05=<!--      after the axis server is running
> >        -->
> > deploy06=<!-- or
> >       -->
> > deploy07=<!--   java org.apache.axis.utils.Admin client|server
> > deploy.wsdd   -->
> > deploy08=<!--   java org.apache.axis.utils.Admin client|server
> > undeploy.wsdd -->
> > deploy09=<!--      from the same directory that the Axis engine runs
> >       -->
> >
> > alreadyExists00={0} already exists
> > optionDebug00=print debug information
> > symbolTable00=Symbol Table
> > undefined00=Type {0} is referenced but not defined.
> >
> > #NOTE: in cannotFindJNDIHome00, do not translate "EJB" or "JNDI"
> > cannotFindJNDIHome00=Cannot find EJB at JNDI location {0}
> > cannotCreateInitialContext00=Cannot create InitialContext
> > undefinedloop00= The definition of {0} results in a loop.
> > deserInitPutValueDebug00=Initial put of deserialized value= {0} for
> > id= {1}
> > deserPutValueDebug00=Put of deserialized value= {0} for id= {1}
> > j2wemitter00=emitter
> > j2wusage00=Usage: {0}
> > j2woptions00=Options:
> > j2wdetails00=Details:\n   portType element name= <--portTypeName
> > value> OR <class-of-portType name>\n   binding  element name=
> > <--bindingName value> OR <--servicePortName value>SoapBinding\n
> > service  element name= <--serviceElementName value> OR <--portTypeName
> > value>Service \n   port     element name= <--servicePortName value>\n
> >   address location     = <--location value>
> > j2wopthelp00=print this message and exit
> > j2woptoutput00=output WSDL filename
> > j2woptlocation00=service location url
> > j2woptportTypeName00=portType name (obtained from class-of-portType if
> > not specified)
> > j2woptservicePortName00=service port name (obtained from --location if
> > not specified)
> > j2woptserviceElementName00=service element name (defaults to
> > --servicePortName value + "Service")
> > j2woptnamespace00=target namespace
> > j2woptPkgtoNS00=package=namespace, name value pairs
> > j2woptmethods00=space or comma separated list of methods to export
> > j2woptall00=look for allowed methods in inherited class
> > j2woptoutputWsdlMode00=output WSDL mode: All, Interface,
> > Implementation
> > j2woptlocationImport00=location of interface wsdl
> > j2woptnamespaceImpl00=target namespace for implementation wsdl
> > j2woptoutputImpl00=output Implementation WSDL filename, setting this
> > causes --outputWsdlMode to be ignored
> > j2woptfactory00=name of the Java2WSDLFactory class for extending WSDL
> > generation functions
> > j2woptimplClass00=optional class that contains implementation of
> > methods in class-of-portType.  The debug information in the class is
> > used to obtain the method parameter names, which are used to set the
> > WSDL part names.
> > j2werror00=Error: {0}
> > j2wmodeerror=Error Unrecognized Mode: {0} Use All, Interface or
> > Implementation. Continuing with All.
> > j2woptexclude00=space or comma separated list of methods not to export
> > j2woptstopClass00=space or comma separated list of class names which
> > will stop inheritance search if --all switch is given
> >
> > # NOTE:  in optionSkeletonDeploy00, do not translate "--server-side".
> > optionSkeletonDeploy00=deploy skeleton (true) or implementation
> > (false) in deploy.wsdd.  Default is false.  Assumes --server-side.
> >
> > j2wMissingLocation00=The -l <location> option must be specified if the
> > full wsdl or the implementation wsdl is requested.
> > invalidSolResp00={0} is a solicit-response style operation and is
> > unsupported.
> > invalidNotif00={0} is a notification style operation and is
> > unsupported.
> >
> > multipleBindings00=Warning: Multiple bindings use the same portType:
> > {0}.  Only one interface is currently generated, which may not be what
> > you want.
> > triedArgs00={0} on object "{1}", method name "{2}", tried argument
> > types:  {3}
> > triedClass00=tried class:  {0}, method name:  {1}.
> >
> > 
> 
#############################################################################
> > # DO NOT TOUCH THESE PROPERTIES - THEY ARE AUTOMATICALLY UPDATED BY
> > THE BUILD
> > # PROCESS.
> > axisVersion=Apache Axis version: #axisVersion#
> > builtOn=Built on #today#
> > 
> 
#############################################################################
> >
> > badProp00=Bad property.  The value for {0} should be of type {1}, but
> > it is of type {2}.
> > badProp01=Bad property.  {0} should be {1}; but it is {2}.
> > badProp02=Cannot set {0} property when {1} property is not {2}.
> > badProp03=Null property name specified.
> > badProp04=Null property value specified.
> > badProp05=Property name {0} not supported.
> > badGetter00=Null getter method specified.
> > badAccessor00=Null accessor method specified.
> > badSetter00=Null setter method specified.
> > badModifier00=Null modifier method specified.
> > badField00=Null public instance field specified.
> >
> > badJavaType=Null java class specified.
> > badXmlType=Null qualified name specified.
> > badSerFac=Null serializer factory specified.
> > badDeserFac=Null deserializer factory specified.
> >
> > literalTypePart00=Error: Message part {0} of operation or fault {1} is
> > specified as a type and the soap:body use of binding "{2}" is literal.
> >  This WSDL is not currently supported.
> > BadServiceName00=Error: Empty or missing service name
> > AttrNotSimpleType00=Bean attribute {0} is of type {1}, which is not a
> > simple type
> > AttrNotSimpleType01=Error: attribute is of type {0}, which is not a
> > simple type
> > NoSerializer00=Unable to find serializer for type {0}
> >
> > NoJAXRPCHandler00=Unable to create handler of type {0}
> >
> > optionTypeMapping00=indicate 1.1 or 1.2.  The default is 1.1 (SOAP 1.1
> > JAX-RPC compliant.  1.2 indicates SOAP 1.1 encoded.)
> > badTypeMappingOption00=The -typeMappingVersion argument must be 1.1 or
> > 1.2
> > j2wopttypeMapping00=indicate 1.1 or 1.2.  The default is 1.1 (SOAP 1.1
> > JAX-RPC compliant  1.2 indicates SOAP 1.1 encoded.)
> > j2wBadTypeMapping00=The -typeMappingVersion argument must be 1.1 or
> > 1.2
> >
> > nodisk00=No disk access, using memory only.
> >
> > noFactory00=!! No Factory for {0}
> > noTransport02=Couldn't find transport {0}
> >
> > noCompiler00=No compiler found in your classpath!  (you may need to
> > add 'tools.jar')
> > compilerFail00=Please ensure that you have your JDK's rt.jar listed in
> > your classpath. Jikes needs it to operate.
> >
> > nullFieldDesc=Null FieldDesc specified
> > exception00=Exception:
> > exception01=Exception: {0}
> > axisConfigurationException00=ConfigurationException:
> > parserConfigurationException00=ParserConfigurationException:
> > SAXException00=SAXException:
> > javaNetUnknownHostException00=java.net.UnknownHostException:
> > javaxMailMessagingException00=javax.mail.MessagingException:
> > javaIOException00=java.io.IOException:
> > javaIOException01=java.io.IOException: {0}
> > illegalAccessException00=IllegalAccessException:
> > illegalArgumentException00=IllegalArgumentException:
> > illegalArgumentException01=IllegalArgumentException: {0}
> > invocationTargetException00=InvocationTargetException:
> > instantiationException00=InstantiationException:
> > malformedURLException00=MalformedURLException:
> > axisFault00=AxisFault:
> > axisFault01=AxisFault: {0}
> > toAxisFault00=Mapping Exception to AxisFault
> > toAxisFault01=Mapping Exception to AxisFault: {0}
> >
> > # NOTE:  in badSkeleton00, do not translate "--skeletonDeploy" and
> > "--server-side".
> > badSkeleton00=Error:  --skeletonDeploy cannot be specified without
> > --server-side.
> > badStyle=Bad string for style value - was ''{0}'', should be ''rpc'',
> > ''document'', or ''wrapped''.
> > onlyOneMapping=Only a single <elementMapping> is allowed per-operation
> > at present.
> >
> > timedOut=WSDL2Java emitter timed out (this often means the WSDL at the
> > specified URL is inaccessible)!
> > valuePresent=MessageElement.addChild called when an object value is
> > present
> > xmlPresent=MessageElement.setObjectValue called on an instance which
> > was constructed using XML
> > attachEnabled=Attachment support is enabled?
> > noEndpoint=No endpoint
> > headerNotNull=Header may not be null!
> > headerNotEmpty=Header may not be empty!
> > headerValueNotNull=Header value may not be null!
> > setMsgForm=Setting current message form to: {0} (currentMessage is now
> > {1})
> > exitCurrMsg=Exit:  {0}, current message is {1}
> > currForm=current form is {0}
> > unsupportedAttach=Unsupported attachment type "{0}" only supporting
> > "{1}".
> >
> > # NOTE:  in onlySOAPParts, do not translate "SOAPPart".
> > onlySOAPParts=This attachment implementation accepts only SOAPPart
> > objects as the root part.
> >
> > gotNullPart=AttachmentUtils.getActiviationDataHandler received a null
> > parameter as a part.
> > streamNo=New boundary stream number:  {0}
> > streamClosed=Stream closed.
> > eosBeforeMarker=End of stream encountered before final boundary
> > marker.
> > atEOS=Boundary stream number {0} is at end of stream
> > readBStream="Read {0} from BoundaryDelimitedStream:  {1} "{2}"
> > bStreamClosed=Boundary stream number {0} is closed
> >
> > # NOTE:  in badMaxCache, do not translate "maxCached".
> > badMaxCached=maxCached value is bad:  {0}
> >
> > maxCached=ManagedMemoryDataSource.flushToDisk maximum cached {0},
> > total memory {1}.
> > diskCache=Disk cache file name "{0}".
> > resourceDeleted=Resource has been deleted.
> > noResetMark=Reset and mark not supported!
> > nullInput=input buffer is null
> > negOffset=Offset is negative:  {0}
> > length=Length:  {0}
> > writeBeyond=Write beyond buffer
> > reading=reading {0} bytes from disk
> >
> > # NOTE: do not translate openBread
> > openBread=open bread = {0}
> >
> > flushing=flushing
> > read=read {0} bytes
> > readError=Error reading data stream:  {0}
> > noFile=File for data handler does not exist:  {0}
> > mimeErrorNoBoundary=Error in MIME data stream, start boundary not
> > found, expected:  {0}
> > mimeErrorParsing=Error in parsing mime data stream:  {0}
> > noRoot=Root part containing SOAP envelope not found.  contentId = {0}
> > noAttachments=No support for attachments
> > noContent=No content
> > targetService=Target service:  {0}
> > exceptionPrinting=Exception caught while printing request message
> > noConfigFile=No engine configuration file - aborting!
> > noTypeSetting={0} disallows setting of Type
> > noSubElements=The element "{0}" is an attachment with sub elements
> > which is not supported.
> >
> > # NOTE:  in defaultCompiler, do not translate "javac"
> > defaultCompiler=Using default javac compiler
> > noModernCompiler=Javac connector could not find modern compiler --
> > falling back to classic.
> > compilerClass=Javac compiler class:  {0}
> > noMoreTokens=no more tokens - could not parse error message:  {0}
> > cantParse=could not parse error message:  {0}
> >
> > noParmAndRetReq=Parameter or return type inferred from WSDL and may
> > not be updated.
> >
> > # NOTE:  in sunJavac, do not translate "Sun Javac"
> > sunJavac=Sun Javac Compiler
> >
> > # NOTE:  in ibmJikes, do not translate "IBM Jikes"
> > ibmJikes=IBM Jikes Compiler
> >
> > typeMeta=Type metadata
> > returnTypeMeta=Return type metadata object
> > needStringCtor=Simple Types must have a String constructor
> > needToString=Simple Types must have a toString for serializing the
> > value
> > typeMap00=All the type mapping information is registered
> > typeMap01=when the first call is made.
> > typeMap02=The type mapping information is actually registered in
> > typeMap03=the TypeMappingRegistry of the service, which
> > typeMap04=is the reason why registration is only needed for the first
> > call.
> > mustSetStyle=must set encoding style before registering serializers
> >
> > # NOTE:  in mustSpecifyReturnType and mustSpecifyParms, do not
> > translate "addParameter()" and "setReturnType()"
> > mustSpecifyReturnType=No returnType was specified to the Call object!
> >  You must call setReturnType() if you have called addParameter().
> > mustSpecifyParms=No parameters specified to the Call object!  You must
> > call addParameter() for all parameters if you have called
> > setReturnType().
> > noElemOrType=Error: Message part {0} of operation {1} should have
> > either an element or a type attribute
> > badTypeNode=Error: Missing type resolution for element {2}, in WSDL
> > message part {0} of operation {1}
> >
> > # NOTE:  in noUse, do no translate "soap:operation", "binding
> > operation", "use".
> > noUse=The soap:operation for binding operation {0} must have a "use"
> > attribute.
> >
> > fixedTypeMapping=Default type mapping cannot be modified.
> > delegatedTypeMapping=Type mapping cannot be modified via delegate.
> > badTypeMapping=Invalid TypeMapping specified: wrong type or null.
> > defaultTypeMappingSet=Default type mapping from secondary type mapping
> > registry is already in use.
> > getPortDoc00=For the given interface, get the stub implementation.
> > getPortDoc01=If this service has no port for the given interface,
> > getPortDoc02=then ServiceException is thrown.
> > getPortDoc03=This service has multiple ports for a given interface;
> > getPortDoc04=the proxy implementation returned may be indeterminate.
> > noStub=There is no stub implementation for the interface:
> > CantGetSerializer=unable to get serializer for class {0}
> >
> > noVector00={0}:  {1} is not a vector
> >
> > optionFactory00=name of the JavaWriterFactory class for extending Java
> > generation functions
> > optionHelper00=emits separate Helper classes for meta data
> >
> > badParameterMode=Invalid parameter mode byte ({0}) passed to
> > getModeAsString().
> >
> > attach.bounday.mns=Marking streams not supported.
> > noSuchOperation=No such operation ''{0}''
> >
> > optionUsername=username to access the WSDL-URI
> > optionPassword=password to access the WSDL-URI
> > cantGetDoc00=Unable to retrieve WSDL document: {0}
> > implAlreadySet=Attempt to set implementation class on a ServiceDesc
> > which has already been configured
> >
> > cantCreateBean00=Unable to create JavaBean of type {0}.  Missing
> > default constructor?  Error was: {1}.
> > faultDuringCleanup=AxisEngine faulted during cleanup!
> >
> > j2woptsoapAction00=value of the operation's soapAction field. Values
> > are DEFAULT, OPERATION or NONE. OPERATION forces soapAction to the
> > name of the operation.  DEFAULT causes the soapAction to be set
> > according to the operation's meta data (usually "").  NONE forces the
> > soapAction to "".  The default is DEFAULT.
> > j2wBadSoapAction00=The value of --soapAction must be DEFAULT, NONE or
> > OPERATION.
> > dispatchIAE00=Tried to invoke method {0} with arguments {1}.  The
> > arguments do not match the signature.
> >
> > ftsf00=Creating trusting socket factory
> > ftsf01=Exception creating factory
> > ftsf02=SSL setup failed
> > ftsf03=isClientTrusted: yes
> > ftsf04=isServerTrusted: yes
> > ftsf05=getAcceptedIssuers: none
> >
> > generating=Generating {0}
> >
> > j2woptStyle00=The style of binding in the WSDL.  Values are DOCUMENT
> > or LITERAL.
> > j2woptBadStyle00=The value of --style must be DOCUMENT or LITERAL.
> >
> > noClassForService00=Could not find class for the service named:
> > {0}\nHint: you may need to copy your class files/tree into the right
> > location (which depends on the servlet system you are using).
> > j2wDuplicateClass00=The <class-of-portType> has already been specified
> > as, {0}.  It cannot be specified again as {1}.
> > j2wMissingClass00=The <class-of-portType> was not specified.
> > w2jDuplicateWSDLURI00=The wsdl URI has already been specified as, {0}.
> >  It cannot be specified again as {1}.
> > w2jMissingWSDLURI00=The wsdl URI was not specified.
> >
> > badEnum02=Unrecognized {0}: ''{1}''
> > badEnum03=Unrecognized {0}: ''{1}'', defaulting to ''{2}''
> > beanCompatType00=The class {0} is not a bean class and cannot be
> > converted into an xml schema type.  An xml schema anyType will be used
> > to define this class in the wsdl file.
> > beanCompatPkg00=The class {0} is defined in a java or javax package
> > and cannot be converted into an xml schema type.  An xml schema
> > anyType will be used to define this class in the wsdl file.
> > beanCompatConstructor00=The class {0} does not contain a default
> > constructor, which is a requirement for a bean class.  The class
> > cannot be converted into an xml schema type.  An xml schema anyType
> > will be used to define this class in the wsdl file.
> >
> > unsupportedSchemaType00=The XML Schema type ''{0}'' is not currently
> > supported.
> > optionNoWrap00=turn off support for "wrapped" document/literal
> > noTypeOrElement00=Error: Message part {0} of operation or fault {1}
> > has no element or type attribute.
> >
> > msgContentLengthHTTPerr=Message content length {0} exceeds servlet
> > return capacity.
> > badattachmenttypeerr=The value of {0} for attachment format must be
> > {1};
> > attach.dimetypeexceedsmax=DIME Type length is {0} which exceeds
> > maximum {0}
> > attach.dimelengthexceedsmax=DIME ID length is {0} which exceeds
> > maximum {1}.
> > attach.dimeMaxChunkSize0=Max chunk size \"{0}\" needs to be greater
> > than one.
> > attach.dimeMaxChunkSize1=Max chunk size \"{0}\" exceeds 32 bits.
> > attach.dimeReadFullyError=Each DIME Stream must be read fully or
> > closed in succession.
> > attach.dimeNotPaddedCorrectly=DIME stream data not padded correctly.
> > attach.readLengthError=Received \"{0}\" bytes to read.
> > attach.readOffsetError=Received \"{0}\" as an offset.
> > attach.readArrayNullError=Array to read is null
> > attach.readArrayNullError=Array to read is null
> > attach.readArraySizeError=Array size of {0} to read {1} at offset {2}
> > is too small.
> > attach.DimeStreamError0=End of physical stream detected when more DIME
> > chunks expected.
> > attach.DimeStreamError1=End of physical stream detected when {0} more
> > bytes expected.
> > attach.DimeStreamError2=There are no more DIME chunks expected!
> > attach.DimeStreamError3=DIME header less than {0} bytes.
> > attach.DimeStreamError4=DIME version received \"{0}\" greater than
> > current supported version \"{1}\".
> > attach.DimeStreamError5=DIME option length \"{0}\" is greater stream
> > length.
> > attach.DimeStreamError6=DIME typelength length \"{0}\" is greater
> > stream length.
> > attach.DimeStreamError7=DIME stream closed during options padding.
> > attach.DimeStreamError8=DIME stream closed getting ID length.
> > attach.DimeStreamError9=DIME stream closed getting ID padding.
> > attach.DimeStreamError10=DIME stream closed getting type.
> > attach.DimeStreamError11=DIME stream closed getting type padding.
> > attach.DimeStreamBadType=DIME stream received bad type \"{0}\".
> >
> > badOutParameter00=A holder could not be found or constructed for the
> > OUT parameter {0} of method {1}.
> > setJavaTypeErr00=Illegal argument passed to ParameterDesc.setJavaType.
> >  The java type {0} does not match the mode {1}
> > badNormalizedString00=Invalid normalizedString value
> > badToken00=Invalid token value
> > badPropertyDesc00=Internal Error occurred while build the property
> > descriptors for {0}
> > j2woptinput00=input WSDL filename
> > j2woptbindingName00=binding name (--servicePortName value +
> > "SOAPBinding" if not specified)
> > writeSchemaProblem00=Problems encountered trying to write schema for
> > {0}
> > badClassFile00=Error looking for paramter names in bytecode: input
> > does not appear to be a valid class file
> > unexpectedEOF00=Error looking for paramter names in bytecode:
> > unexpected end of file
> > unexpectedBytes00=Error looking for paramter names in bytecode:
> > unexpected bytes in file
> > beanCompatExtends00=The class {0} extends non-bean class {1}.  An xml
> > schema anyType will be used to define {0} in the wsdl file.
> > wrongNamespace00=The XML Schema type ''{0}'' is not valid in the
> > Schema version ''{1}''.
> >
> > onlyOneBodyFor12=Only one body allowed for SOAP 1.2 RPC
> > differentTypes00=Error: The input and output parameter have the same
> > name, ''{0}'', but are defined with type ''{1}'' and also with type
> > ''{2}''.
> >
> > badMsgMethodParam=Message service must take either a single Vector or
> > a Document - method {0} takes a single {1}
> > msgMethodMustHaveOneParam=Message service methods must take a single
> > parameter.  Method {0} takes {1}
> > needMessageContextArg=Full-message message service must take a single
> > MessageContext argument.  Method {0} takes a single {1}
> > onlyOneMessageOp=Message services may only have one operation -
> > service ''{0}'' has {1}
> >
> > # NOTE:  in wontOverwrite, do no translate "WSDL2Java".
> > wontOverwrite={0} already exists, WSDL2Java will not overwrite it.
> >
> > badYearMonth00=Invalid gYearMonth
> > badYear00=Invalid gYear
> > badMonth00=Invalid gMonth
> > badDay00=Invalid gDay
> > badMonthDay00=Invalid gMonthDay
> > badDuration=Invalid duration: must contain a P
> >
> > # NOTE:  in noDataHandler, do not translate DataHandler.
> > noDataHandler=Could not create a DataHandler for {0}, returning {1}
> > instead.
> > needSimpleValueSer=Serializer class {0} does not implement
> > SimpleValueSerializer, which is necessary for attributes.
> >
> > # NOTE:  in needImageIO, do not translate "JIMI", "java.awt.Image",
> > "http://java.sun.com/products/jimi/"
> > needImageIO=JIMI is necessary to use java.awt.Image attachments
> > (http://java.sun.com/products/jimi/).
> >
> > imageEnabled=Image attachment support is enabled?
> >
> > wsddServiceName00=The WSDD service name defaults to the port name.
> >
> > badSource=javax.xml.transform.Source implementation not supported:
> >  {0}.
> > rpcProviderOperAssert00=The OperationDesc for {0} was not found in the
> > ServiceDesc.
> > serviceDescOperSync00=The OperationDesc for {0} was not syncronized to
> > a method of {1}.
> >
> > noServiceClass=No service class was found!  Are you missing a
> > className option?
> > jpegOnly=Cannot handle {0}, can only handle JPEG image types.
> >
> > engineFactory=Got EngineFactory: {0}
> > engineConfigMissingNewFactory=Factory {0} Ignored: missing required
> > method: {1}.
> > engineConfigInvokeNewFactory=Factory {0} Ignored: invoke method
> > failed: {1}.
> > engineConfigFactoryMissing=Unable to locate a valid
> > EngineConfigurationFactory
> >
> > noClassNameAttr00=classname attribute is missing.
> > noValidHeader=qname attribute is missing.
> >
> > cannotConnectError=Error: Cannot connect
> >
> > <!--
> > ===================================================================
> > This is an accessory function to echo out fileNames
> > ===================================================================
> > -->
> > <target name="echo-file">
> > <basename property="fileName" file="${file}"/>
> > <dirname property="dirName" file="${file}"/>
> > <echo message="Dir: ${dirName} File: ${fileName}"/>
> > </target>
> >
> > <!--
> > ===================================================================
> > This is an accessory function to compile some given component
> > ===================================================================
> > -->
> > <target name="component-compile">
> > <echo message="${file}"/>
> > <ant antfile="${file}" target="compile"/>
> > </target>
> >
> > <!--
> > ===================================================================
> > This is an accessory function to exec JUST the testcase of a
> > component.
> > ===================================================================
> > -->
> > <target name="batch-component-test">
> > <antcall target="echo-file"/>
> > <ant antfile="${file}" target="component-junit-functional" />
> > </target>
> >
> > <!--
> > ===================================================================
> > This is an accessory function to execs the full component test
> > ===================================================================
> > -->
> > <target name="batch-component-run">
> > <antcall target="echo-file"/>
> > <ant antfile="${file}" target="run" />
> > </target>
> >
> > <!--
> > ===================================================================
> > -->
> > <!-- Determine what dependencies are present
> >   -->
> > <!--
> > ===================================================================
> > -->
> >
> > <target name="setenv">
> >
> > <condition property="ant.good">
> > <and>
> > <contains string="${ant.version}" substring="Apache Ant version"/>
> > </and>
> > </condition>
> >
> > <mkdir dir="${build.dir}"/>
> > <mkdir dir="${build.dest}"/>
> > <mkdir dir="${build.lib}"/>
> > <mkdir dir="${build.dir}/work"/>
> >
> > <available property="servlet.present"
> > classname="javax.servlet.Servlet"
> > classpathref="classpath"/>
> >
> > <available property="regexp.present"
> > classname="org.apache.oro.text.regex.Pattern"
> > classpathref="classpath"/>
> >
> > <available property="junit.present"
> > classname="junit.framework.TestCase"
> > classpathref="classpath"/>
> >
> > <available property="wsdl4j.present"
> > classname="javax.wsdl.Definition"
> > classpathref="classpath"/>
> >
> > <available property="commons-logging.present"
> > classname="org.apache.commons.logging.Log"
> > classpathref="classpath"/>
> >
> > <available property="commons-discovery.present"
> > classname="org.apache.commons.discovery.DiscoverSingleton"
> > classpathref="classpath"/>
> >
> > <available property="commons-httpclient.present"
> > classname="org.apache.commons.httpclient.HttpConnection"
> > classpathref="classpath"/>
> >
> > <available property="log4j.present"
> > classname="org.apache.log4j.Category"
> > classpathref="classpath"/>
> >
> > <available property="activation.present"
> > classname="javax.activation.DataHandler"
> > classpathref="classpath"/>
> >
> > <available property="security.present"
> > classname="org.apache.xml.security.Init"
> > classpathref="classpath"/>
> >
> > <available property="mailapi.present"
> > classname="javax.mail.internet.MimeMessage"
> > classpathref="classpath"/>
> >
> > <condition property="jsse.present" >
> > <and>
> > <available classname="com.sun.net.ssl.X509TrustManager"
> > classpathref="classpath" />
> > <available classname="javax.net.SocketFactory"
> > classpathref="classpath" />
> > </and>
> > </condition>
> >
> > <condition property="attachments.present" >
> > <and>
> > <available classname="javax.activation.DataHandler"
> > classpathref="classpath" />
> > <available classname="javax.mail.internet.MimeMessage"
> > classpathref="classpath" />
> > </and>
> > </condition>
> >
> > <condition property="jimi.present" >
> > <available classname="com.sun.jimi.core.Jimi" classpathref="classpath"
> > />
> > </condition>
> >
> > <condition property="merlinio.present" >
> > <available classname="javax.imageio.ImageIO" classpathref="classpath"
> > />
> > </condition>
> >
> > <condition property="axis-ant.present" >
> > <available classname="tools.ant.foreach.ForeachTask"
> > classpathref="classpath" />
> > </condition>
> >
> > <condition property="jimiAndAttachments.present">
> > <and>
> > <available classname="javax.activation.DataHandler"
> > classpathref="classpath" />
> > <available classname="javax.mail.internet.MimeMessage"
> > classpathref="classpath" />
> > <available classname="com.sun.jimi.core.Jimi" classpathref="classpath"
> > />
> > </and>
> > </condition>
> >
> > <condition property="jms.present" >
> > <available classname="javax.jms.Message" classpathref="classpath" />
> > </condition>
> >
> > <available property="post-compile.present" file="post-compile.xml" />
> >
> > <property environment="env"/>
> > <condition property="debug" value="on">
> > <and>
> > <equals arg1="on" arg2="${env.debug}"/>
> > </and>
> > </condition>
> >
> > </target>
> >
> > <target name="printEnv" depends="setenv" >
> >
> > <echo
> > 
> 
message="-----------------------------------------------------------------"/>
> > <echo message="       Build environment for ${Name} ${axis.version}
> > [${year}]   "/>
> > <echo
> > 
> 
message="-----------------------------------------------------------------"/>
> > <echo message="Building with ${ant.version}"/>
> > <echo message="using build file ${ant.file}"/>
> > <echo message="Java ${java.version} located at ${java.home} "/>
> > <echo
> > 
> 
message="-----------------------------------------------------------------"/>
> >
> > <echo message="--- Flags (Note: If the {property name} is displayed,
> > "/>
> > <echo message="           then the component is not present)" />
> > <echo message=""/>
> >
> > <echo message="build.dir = ${build.dir}"/>
> > <echo message="build.dest = ${build.dest}"/>
> > <echo message=""/>
> > <echo message="=== Required Libraries ===" />
> > <echo message="wsdl4j.present=${wsdl4j.present}" />
> > <echo message="commons-logging.present=${commons-logging.present}" />
> > <echo message="commons-discovery.present=${commons-discovery.present}"
> > />
> > <echo message="log4j.present=${log4j.present}" />
> > <echo message="activation.present=${activation.present}" />
> > <echo message=""/>
> > <echo message="--- Optional Libraries ---" />
> > <echo message="servlet.present=${servlet.present}" />
> > <echo message="regexp.present=${regexp.present}" />
> > <echo message="junit.present=${junit.present}" />
> > <echo message="mailapi.present=${mailapi.present}" />
> > <echo message="attachments.present=${attachments.present}" />
> > <echo message="jimi.present=${jimi.present}" />
> > <echo message="security.present=${security.present}" />
> > <echo message="jsse.present=${jsse.present}" />
> > <echo
> > message="commons-httpclient.present=${commons-httpclient.present}" />
> > <echo message="axis-ant.present=${axis-ant.present}" />
> > <echo message="jms.present=${jms.present}" />
> > <echo message=""/>
> > <echo message="--- Property values ---" />
> > <echo message="debug=${debug}" />
> > <echo message="deprecation=${deprecation}" />
> > <!-- Set environment variable axis_nojavadocs=true  to never generate
> > javadocs. Case sensative! -->
> > <echo message="axis_nojavadocs=${env.axis_nojavadocs}"/>
> >
> > <echo message="" />
> > <echo message="-- Test Environment for AXIS ---"/>
> > <echo message="" />
> > <echo message="test.functional.remote = ${test.functional.remote}" />
> > <echo message="test.functional.local = ${test.functional.local}" />
> > <echo message="test.functional.both = ${test.functional.both}" />
> > <echo message="test.functional.reportdir =
> > ${test.functional.reportdir}" />
> > <echo message="test.functional.SimpleAxisPort =
> > ${test.functional.SimpleAxisPort}" />
> > <echo message="test.functional.TCPListenerPort =
> > ${test.functional.TCPListenerPort}" />
> > <echo message="test.functional.fail = ${test.functional.fail}" />
> > <echo message="" />
> >
> > <uptodate property="javadoc.notoutofdate"
> > targetfile="${build.javadocs}/index.html">
> > <srcfiles dir="${src.dir}" includes="**/*.java" />
> > </uptodate>
> >
> > <condition property="axis_nojavadocs" value="true">
> > <equals arg1="true" arg2="${env.axis_nojavadocs}"/>
> > </condition>
> > <condition property="axis_nojavadocs" value="false">
> > <equals arg1="${axis_nojavadocs}" arg2="$${axis_nojavadocs}"/>
> > </condition>
> >
> > <condition property="javadoc.notrequired" value="true">
> > <or>
> > <equals arg1="${javadoc.notoutofdate}" arg2="true"/>
> > <equals arg1="true" arg2="${axis_nojavadocs}"/>
> > </or>
> > </condition>
> >
> > </target>
> >
> > <!--
> > ===================================================================
> > -->
> > <!-- Launches the functional test TCP server -->
> > <!--
> > ===================================================================
> > -->
> > <target name="start-functional-test-tcp-server" if="junit.present">
> > <echo message="Starting test tcp server."/>
> > <java classname="samples.transport.tcp.TCPListener" fork="yes"
> > dir="${axis.home}/build">
> > <arg line="-p ${test.functional.TCPListenerPort}" /> <!-- arbitrary
> > port -->
> > <classpath refid="classpath" />
> > </java>
> > </target>
> >
> > <!--
> > ===================================================================
> > -->
> > <!-- Launches the functional test HTTP server -->
> > <!--
> > ===================================================================
> > -->
> > <target name="start-functional-test-http-server" if="junit.present">
> > <echo message="Starting test http server."/>
> > <java classname="org.apache.axis.transport.http.SimpleAxisServer"
> > fork="yes" dir="${axis.home}/build">
> > <!-- Uncomment this to use Jikes instead of Javac for compiling JWS
> > Files
> > <jvmarg
> > value="-Daxis.Compiler=org.apache.axis.components.compiler.Jikes"/>
> > -->
> > <jvmarg
> > value="-Daxis.wsdlgen.intfnamespace=http://localhost:${test.
> functional.ServicePort}"/>
> > <jvmarg
> > value="-Daxis.wsdlgen.serv.loc.url=http://localhost:${test.
> functional.ServicePort}"/>
> > <arg line="-p ${test.functional.SimpleAxisPort}" />  <!-- arbitrary
> > port -->
> > <classpath refid="classpath" />
> > </java>
> >
> > </target>
> >
> > <!--
> > ===================================================================
> > -->
> > <!-- Stops the functional test HTTP server -->
> > <!--
> > ===================================================================
> > -->
> > <target name="stop-functional-test-http-server" if="junit.present"
> > depends="stop-signature-signing-and-verification">
> > <echo message="Stopping test http server."/>
> > <java classname="org.apache.axis.client.AdminClient" fork="yes">
> > <classpath refid="classpath" />
> > <arg line="quit"/>
> > </java>
> > </target>
> >
> > <!--
> > ===================================================================
> > -->
> > <!-- Stops the functional test HTTP server when testing digital
> > signature -->
> > <!--
> > ===================================================================
> > -->
> > <target name="stop-functional-test-http-server-secure"
> > if="junit.present" depends="stop-signature-signing-and-verification">
> > <echo message="Stopping test http server."/>
> > <java classname="org.apache.axis.client.AdminClient" fork="yes">
> > <classpath refid="classpath" />
> > <arg line="quit"/>
> > </java>
> > </target>
> >
> > <!--
> > ===================================================================
> > -->
> > <!-- Start Signature Signing and Verification -->
> > <!--
> > ===================================================================
> > -->
> > <target name="start-signature-signing-and-verification"
> > if="security.present">
> > <!-- Enable transparent Signing of SOAP Messages sent
> > from the client and Server-side Signature Verification.
> > -->
> > <java classname="org.apache.axis.client.AdminClient" fork="yes">
> > <classpath refid="classpath" />
> > <arg line="samples/security/serversecuritydeploy.wsdd"/>
> > </java>
> > <java classname="org.apache.axis.utils.Admin" fork="yes">
> > <classpath refid="classpath" />
> > <arg value="client"/>
> > <arg value="samples/security/clientsecuritydeploy.wsdd"/>
> > </java>
> > </target>
> >
> > <!--
> > ===================================================================
> > -->
> > <!-- Stop Signature Signing and Verification -->
> > <!--
> > ===================================================================
> > -->
> > <target name="stop-signature-signing-and-verification"
> > if="security.present">
> > <!-- Disable transparent Signing of SOAP Messages sent
> > from the client and Server-side Signature Verification.
> > -->
> > <java classname="org.apache.axis.client.AdminClient" fork="yes">
> > <classpath refid="classpath" />
> > <arg line="samples/security/serversecurityundeploy.wsdd"/>
> > </java>
> > <java classname="org.apache.axis.utils.Admin" fork="yes">
> > <classpath refid="classpath" />
> > <arg value="client"/>
> > <arg value="samples/security/clientsecurityundeploy.wsdd"/>
> > </java>
> >
> > </target>
> >
> > <!--
> > ===================================================================
> > -->
> > <!-- Prepares the JUnit functional test -->
> > <!--
> > ===================================================================
> > -->
> > <target name="component-junit-functional-prepare" if="junit.present">
> >
> > <!-- first, put the JWS where the functional test can see it -->
> > <mkdir dir="${axis.home}/build/jws" />
> > <copy file="${axis.home}/samples/stock/StockQuoteService.jws"
> > todir="${axis.home}/build/jws" />
> > <copy file="${axis.home}/test/functional/AltStockQuoteService.jws"
> > todir="${axis.home}/build/jws" />
> > <copy file="${axis.home}/test/functional/GlobalTypeTest.jws"
> > todir="${axis.home}/build/jws"/>
> >
> > <path id="deploy.xml.files">
> > <fileset dir="${build.dir}">
> > <include name="work/${componentName}/**/deploy.wsdd"/>
> > <include name="${extraServices}/deploy.wsdd" />
> > </fileset>
> > </path>
> >
> > <path id="undeploy.xml.files">
> > <fileset dir="${build.dir}">
> > <include name="work/${componentName}/**/undeploy.wsdd"/>
> > <include name="${extraServices}/undeploy.wsdd" />
> > </fileset>
> > </path>
> >
> > <property name="deploy.xml.property" refid="deploy.xml.files"/>
> > <property name="undeploy.xml.property" refid="undeploy.xml.files"/>
> > </target>
> >
> > <target name="component-test-run" if="junit.present"
> > depends="start-signature-signing-and-verification">
> > <echo message="Execing ${componentName} Test"/>
> > <antcall target="component-junit-functional"/>
> > </target>
> >
> > <target name="component-junit-functional" if="junit.present"
> > depends="component-junit-functional-prepare">
> > <java classname="org.apache.axis.client.AdminClient" fork="yes">
> > <classpath refid="classpath" />
> > <arg line="${deploy.xml.property}"/>
> > </java>
> >
> > <junit dir="${axis.home}" printsummary="yes"
> > haltonfailure="${test.functional.fail}" fork="yes">
> > <classpath refid="classpath" />
> > <formatter type="xml" usefile="${test.functional.usefile}"/>
> > <batchtest todir="${test.functional.reportdir}">
> > <fileset dir="${build.dest}">
> > <include name="${componentName}/*TestCase.class" />
> > <include name="${componentName}/**/*TestCase.class" />
> > <include name="${componentName}/**/PackageTests.class" />
> > <!-- <include name="${componentName}/**/test/*TestSuite.class"/> -->
> > </fileset>
> > </batchtest>
> > </junit>
> >
> > <java classname="org.apache.axis.client.AdminClient" fork="yes">
> > <classpath refid="classpath" />
> > <arg line="${undeploy.xml.property}"/>
> > </java>
> >
> > </target>
> >
> > <target name="execute-Component"  depends="transport-layer" >
> > <runaxisfunctionaltests
> > url="http://localhost:${test.functional.TCPListenerPort}"
> > startTarget1="start-functional-test-tcp-server"
> > startTarget2="start-functional-test-http-server"
> > testTarget="component-test-run"
> > stopTarget="stop-functional-test-http-server" />
> > </target>
> >
> > <target name="transport-layer" depends="setenv" >
> > <mkdir dir="${test.functional.reportdir}" />
> > <ant antfile="${axis.home}/samples/transport/build.xml"
> > target="compile" />
> > </target>
> >
> > cvs diff (in directory D:\projects\axis\xml-axis\)
> > ? java/samples/jms
> > ? java/src/org/apache/axis/transport/jms
> > cvs server: Diffing .
> > cvs server: Diffing contrib
> > cvs server: Diffing contrib/Axis-C++
> > cvs server: Diffing contrib/Axis-C++/Axis_Release
> > cvs server: Diffing contrib/Axis-C++/Linux
> > cvs server: Diffing contrib/Axis-C++/Linux/KDev
> > cvs server: Diffing contrib/Axis-C++/Linux/KDev/axis
> > cvs server: Diffing contrib/Axis-C++/Linux/KDev/axis/axtest
> > cvs server: Diffing contrib/Axis-C++/TestHarnesses
> > cvs server: Diffing contrib/Axis-C++/Win32
> > cvs server: Diffing contrib/Axis-C++/Win32/Axis_Release
> > cvs server: Diffing contrib/Axis-C++/Win32/Calculator
> > cvs server: Diffing contrib/Axis-C++/Win32/Fault
> > cvs server: Diffing contrib/Axis-C++/Win32/TestHarness
> > cvs server: Diffing contrib/Axis-C++/Win32/UserType
> > cvs server: Diffing contrib/Axis-C++/Win32/axis-dll-not-finish
> > cvs server: Diffing contrib/Axis-C++/docs
> > cvs server: Diffing contrib/Axis-C++/docs/ApiDocs
> > cvs server: Diffing contrib/Axis-C++/doxygen
> > cvs server: Diffing contrib/Axis-C++/lib
> > cvs server: Diffing contrib/Axis-C++/lib/AIX_4.3
> > cvs server: Diffing contrib/Axis-C++/lib/Linux
> > cvs server: Diffing contrib/Axis-C++/lib/NT_4.0
> > cvs server: Diffing contrib/Axis-C++/lib/SunOS_5.6
> > cvs server: Diffing contrib/Axis-C++/lib/SunOS_5.7
> > cvs server: Diffing contrib/Axis-C++/lib/SunOS_5.8
> > cvs server: Diffing contrib/Axis-C++/objs
> > cvs server: Diffing contrib/Axis-C++/objs/AIX_4.3
> > cvs server: Diffing contrib/Axis-C++/objs/AIX_4.3/common
> > cvs server: Diffing contrib/Axis-C++/objs/Linux
> > cvs server: Diffing contrib/Axis-C++/objs/Linux/common
> > cvs server: Diffing contrib/Axis-C++/objs/NT_4.0
> > cvs server: Diffing contrib/Axis-C++/objs/SunOS_5.6
> > cvs server: Diffing contrib/Axis-C++/objs/SunOS_5.6/common
> > cvs server: Diffing contrib/Axis-C++/objs/SunOS_5.7
> > cvs server: Diffing contrib/Axis-C++/objs/SunOS_5.7/common
> > cvs server: Diffing contrib/Axis-C++/objs/SunOS_5.8
> > cvs server: Diffing contrib/Axis-C++/objs/SunOS_5.8/common
> > cvs server: Diffing contrib/Axis-C++/src
> > cvs server: Diffing contrib/Axis-C++/src/Client
> > cvs server: Diffing contrib/Axis-C++/src/Encoding
> > cvs server: Diffing contrib/Axis-C++/src/Message
> > cvs server: Diffing contrib/Axis-C++/src/Transport
> > cvs server: Diffing contrib/Axis-C++/src/Util
> > cvs server: Diffing contrib/Axis-C++/src/Xml
> > cvs server: Diffing contrib/Axis-C++/xerces-c
> > cvs server: Diffing contrib/Axis-C++/xerces-c/bin
> > cvs server: Diffing contrib/Axis-C++/xerces-c/include
> > cvs server: Diffing contrib/Axis-C++/xerces-c/include/dom
> > cvs server: Diffing contrib/Axis-C++/xerces-c/include/framework
> > cvs server: Diffing contrib/Axis-C++/xerces-c/include/idom
> > cvs server: Diffing contrib/Axis-C++/xerces-c/include/internal
> > cvs server: Diffing contrib/Axis-C++/xerces-c/include/parsers
> > cvs server: Diffing contrib/Axis-C++/xerces-c/include/sax
> > cvs server: Diffing contrib/Axis-C++/xerces-c/include/sax2
> > cvs server: Diffing contrib/Axis-C++/xerces-c/include/util
> > cvs server: Diffing contrib/Axis-C++/xerces-c/include/util/Compilers
> > cvs server: Diffing contrib/Axis-C++/xerces-c/include/util/MsgLoaders
> > cvs server: Diffing
> > contrib/Axis-C++/xerces-c/include/util/MsgLoaders/ICU
> > cvs server: Diffing
> > contrib/Axis-C++/xerces-c/include/util/MsgLoaders/InMemory
> > cvs server: Diffing
> > contrib/Axis-C++/xerces-c/include/util/MsgLoaders/MsgCatalog
> > cvs server: Diffing
> > contrib/Axis-C++/xerces-c/include/util/MsgLoaders/Win32
> > cvs server: Diffing contrib/Axis-C++/xerces-c/include/util/Platforms
> > cvs server: Diffing
> > contrib/Axis-C++/xerces-c/include/util/Platforms/AIX
> > cvs server: Diffing
> > contrib/Axis-C++/xerces-c/include/util/Platforms/HPUX
> > cvs server: Diffing
> > contrib/Axis-C++/xerces-c/include/util/Platforms/Linux
> > cvs server: Diffing
> > contrib/Axis-C++/xerces-c/include/util/Platforms/MacOS
> > cvs server: Diffing
> > contrib/Axis-C++/xerces-c/include/util/Platforms/OS2
> > cvs server: Diffing
> > contrib/Axis-C++/xerces-c/include/util/Platforms/OS390
> > cvs server: Diffing
> > contrib/Axis-C++/xerces-c/include/util/Platforms/PTX
> > cvs server: Diffing
> > contrib/Axis-C++/xerces-c/include/util/Platforms/Solaris
> > cvs server: Diffing
> > contrib/Axis-C++/xerces-c/include/util/Platforms/Tandem
> > cvs server: Diffing
> > contrib/Axis-C++/xerces-c/include/util/Platforms/Win32
> > cvs server: Diffing contrib/Axis-C++/xerces-c/include/util/Transcoders
> > cvs server: Diffing
> > contrib/Axis-C++/xerces-c/include/util/Transcoders/ICU
> > cvs server: Diffing
> > contrib/Axis-C++/xerces-c/include/util/Transcoders/Iconv
> > cvs server: Diffing
> > contrib/Axis-C++/xerces-c/include/util/Transcoders/Win32
> > cvs server: Diffing contrib/Axis-C++/xerces-c/include/util/regx
> > cvs server: Diffing contrib/Axis-C++/xerces-c/include/validators
> > cvs server: Diffing contrib/Axis-C++/xerces-c/include/validators/DTD
> > cvs server: Diffing
> > contrib/Axis-C++/xerces-c/include/validators/common
> > cvs server: Diffing
> > contrib/Axis-C++/xerces-c/include/validators/datatype
> > cvs server: Diffing
> > contrib/Axis-C++/xerces-c/include/validators/schema
> > cvs server: Diffing contrib/Axis-C++/xerces-c/lib
> > cvs server: Diffing contrib/Axis-C++/xerces-c/lib/Linux
> > cvs server: Diffing java
> > Index: java/build.xml
> > ===================================================================
> > RCS file: /home/cvspublic/xml-axis/java/build.xml,v
> > retrieving revision 1.176
> > diff -r1.176 build.xml
> > 105a106
> > >       <exclude name="**/org/apache/axis/transport/jms/*"
> > unless="jms.present"/>
> > 254a256
> > >       <exclude name="samples/jms/**/*.java" unless="jms.present"/>
> > cvs server: Diffing java/docs
> > cvs server: Diffing java/lib
> > cvs server: Diffing java/samples
> > cvs server: Diffing java/samples/addr
> > cvs server: Diffing java/samples/attachments
> > cvs server: Diffing java/samples/bidbuy
> > cvs server: Diffing java/samples/echo
> > cvs server: Diffing java/samples/encoding
> > cvs server: Diffing java/samples/integrationGuide
> > cvs server: Diffing java/samples/integrationGuide/example1
> > cvs server: Diffing java/samples/integrationGuide/example2
> > cvs server: Diffing java/samples/jaxm
> > cvs server: Diffing java/samples/jaxrpc
> > cvs server: Diffing java/samples/jaxrpc/address
> > cvs server: Diffing java/samples/jaxrpc/hello
> > cvs server: Diffing java/samples/message
> > cvs server: Diffing java/samples/misc
> > cvs server: Diffing java/samples/proxy
> > cvs server: Diffing java/samples/security
> > cvs server: Diffing java/samples/stock
> > cvs server: Diffing java/samples/transport
> > cvs server: Diffing java/samples/transport/tcp
> > cvs server: Diffing java/samples/userguide
> > cvs server: Diffing java/samples/userguide/example1
> > cvs server: Diffing java/samples/userguide/example2
> > cvs server: Diffing java/samples/userguide/example3
> > cvs server: Diffing java/samples/userguide/example4
> > cvs server: Diffing java/samples/userguide/example5
> > cvs server: Diffing java/samples/userguide/example6
> > cvs server: Diffing java/src
> > cvs server: Diffing java/src/javax
> > cvs server: Diffing java/src/javax/xml
> > cvs server: Diffing java/src/javax/xml/messaging
> > cvs server: Diffing java/src/javax/xml/namespace
> > cvs server: Diffing java/src/javax/xml/rpc
> > cvs server: Diffing java/src/javax/xml/rpc/encoding
> > cvs server: Diffing java/src/javax/xml/rpc/handler
> > cvs server: Diffing java/src/javax/xml/rpc/handler/soap
> > cvs server: Diffing java/src/javax/xml/rpc/holders
> > cvs server: Diffing java/src/javax/xml/rpc/server
> > cvs server: Diffing java/src/javax/xml/rpc/soap
> > cvs server: Diffing java/src/javax/xml/soap
> > cvs server: Diffing java/src/javax/xml/transform
> > cvs server: Diffing java/src/javax/xml/transform/dom
> > cvs server: Diffing java/src/javax/xml/transform/sax
> > cvs server: Diffing java/src/javax/xml/transform/stream
> > cvs server: Diffing java/src/org
> > cvs server: Diffing java/src/org/apache
> > cvs server: Diffing java/src/org/apache/axis
> > cvs server: Diffing java/src/org/apache/axis/attachments
> > cvs server: Diffing java/src/org/apache/axis/client
> > cvs server: Diffing java/src/org/apache/axis/components
> > cvs server: Diffing java/src/org/apache/axis/components/compiler
> > cvs server: Diffing java/src/org/apache/axis/components/image
> > cvs server: Diffing java/src/org/apache/axis/components/logger
> > cvs server: Diffing java/src/org/apache/axis/components/net
> > cvs server: Diffing java/src/org/apache/axis/configuration
> > cvs server: Diffing java/src/org/apache/axis/deployment
> > cvs server: Diffing java/src/org/apache/axis/deployment/wsdd
> > cvs server: Diffing java/src/org/apache/axis/deployment/wsdd/providers
> > cvs server: Diffing java/src/org/apache/axis/description
> > cvs server: Diffing java/src/org/apache/axis/encoding
> > cvs server: Diffing java/src/org/apache/axis/encoding/ser
> > cvs server: Diffing java/src/org/apache/axis/enum
> > cvs server: Diffing java/src/org/apache/axis/handlers
> > cvs server: Diffing java/src/org/apache/axis/handlers/http
> > cvs server: Diffing java/src/org/apache/axis/handlers/soap
> > cvs server: Diffing java/src/org/apache/axis/holders
> > cvs server: Diffing java/src/org/apache/axis/message
> > cvs server: Diffing java/src/org/apache/axis/providers
> > cvs server: Diffing java/src/org/apache/axis/providers/java
> > cvs server: Diffing java/src/org/apache/axis/schema
> > cvs server: Diffing java/src/org/apache/axis/security
> > cvs server: Diffing java/src/org/apache/axis/security/servlet
> > cvs server: Diffing java/src/org/apache/axis/security/simple
> > cvs server: Diffing java/src/org/apache/axis/server
> > cvs server: Diffing java/src/org/apache/axis/session
> > cvs server: Diffing java/src/org/apache/axis/soap
> > cvs server: Diffing java/src/org/apache/axis/strategies
> > cvs server: Diffing java/src/org/apache/axis/transport
> > cvs server: Diffing java/src/org/apache/axis/transport/http
> > cvs server: Diffing java/src/org/apache/axis/transport/java
> > cvs server: Diffing java/src/org/apache/axis/transport/local
> > cvs server: Diffing java/src/org/apache/axis/types
> > cvs server: Diffing java/src/org/apache/axis/utils
> > Index: java/src/org/apache/axis/utils/axisNLS.properties
> > ===================================================================
> > RCS file:
> > 
/home/cvspublic/xml-axis/java/src/org/apache/axis/utils/axisNLS.properties,v
> > retrieving revision 1.55
> > diff -r1.55 axisNLS.properties
> > 1009c1009,1011
> > < noValidHeader=qname attribute is missing.
> > \ No newline at end of file
> > ---
> > > noValidHeader=qname attribute is missing.
> > >
> > > cannotConnectError=Error: Cannot connect
> > cvs server: Diffing java/src/org/apache/axis/utils/bytecode
> > cvs server: Diffing java/src/org/apache/axis/utils/cache
> > cvs server: Diffing java/src/org/apache/axis/wsdl
> > cvs server: Diffing java/src/org/apache/axis/wsdl/fromJava
> > cvs server: Diffing java/src/org/apache/axis/wsdl/gen
> > cvs server: Diffing java/src/org/apache/axis/wsdl/symbolTable
> > cvs server: Diffing java/src/org/apache/axis/wsdl/toJava
> > cvs server: Diffing java/test
> > cvs server: Diffing java/test/RPCDispatch
> > cvs server: Diffing java/test/chains
> > cvs server: Diffing java/test/concurrency
> > cvs server: Diffing java/test/doesntWork
> > cvs server: Diffing java/test/dynamic
> > cvs server: Diffing java/test/encoding
> > cvs server: Diffing java/test/encoding/beans
> > cvs server: Diffing java/test/faults
> > cvs server: Diffing java/test/functional
> > cvs server: Diffing java/test/functional/ant
> > cvs server: Diffing java/test/httpunit
> > cvs server: Diffing java/test/httpunit/lib
> > cvs server: Diffing java/test/httpunit/src
> > cvs server: Diffing java/test/httpunit/src/test
> > cvs server: Diffing java/test/inheritance
> > cvs server: Diffing java/test/lib
> > cvs server: Diffing java/test/md5attach
> > cvs server: Diffing java/test/message
> > cvs server: Diffing java/test/outparams
> > cvs server: Diffing java/test/properties
> > cvs server: Diffing java/test/saaj
> > cvs server: Diffing java/test/session
> > cvs server: Diffing java/test/soap
> > cvs server: Diffing java/test/soap12
> > cvs server: Diffing java/test/templateTest
> > cvs server: Diffing java/test/types
> > cvs server: Diffing java/test/utils
> > cvs server: Diffing java/test/utils/cache
> > cvs server: Diffing java/test/wsdd
> > cvs server: Diffing java/test/wsdl
> > cvs server: Diffing java/test/wsdl/_import
> > cvs server: Diffing java/test/wsdl/addrNoImplSEI
> > cvs server: Diffing java/test/wsdl/arrays
> > cvs server: Diffing java/test/wsdl/attachments
> > cvs server: Diffing java/test/wsdl/clash
> > cvs server: Diffing java/test/wsdl/datatypes
> > cvs server: Diffing java/test/wsdl/echo
> > cvs server: Diffing java/test/wsdl/extensibility
> > cvs server: Diffing java/test/wsdl/faults
> > cvs server: Diffing java/test/wsdl/filegen
> > cvs server: Diffing java/test/wsdl/getPort
> > cvs server: Diffing java/test/wsdl/import2
> > cvs server: Diffing java/test/wsdl/import2/interface1
> > cvs server: Diffing java/test/wsdl/import2/interface1/interface2
> > cvs server: Diffing java/test/wsdl/import2/service1
> > cvs server: Diffing java/test/wsdl/import2/service1/service2
> > cvs server: Diffing java/test/wsdl/import2/types1
> > cvs server: Diffing java/test/wsdl/import2/types1/types2
> > cvs server: Diffing java/test/wsdl/import2/types1/types3
> > cvs server: Diffing java/test/wsdl/import3
> > cvs server: Diffing java/test/wsdl/import3/MultiImpIncl
> > cvs server: Diffing java/test/wsdl/import3/MultiImpIncl/cmp
> > cvs server: Diffing java/test/wsdl/import3/MultiImpIncl/includes
> > cvs server: Diffing java/test/wsdl/import3/MultiImpIncl/tbl1
> > cvs server: Diffing java/test/wsdl/import3/MultiImpIncl/tbl2
> > cvs server: Diffing java/test/wsdl/import3/MultiImpIncl/wsdl
> > cvs server: Diffing java/test/wsdl/include
> > cvs server: Diffing java/test/wsdl/include/address
> > cvs server: Diffing java/test/wsdl/include/state
> > cvs server: Diffing java/test/wsdl/inheritance
> > cvs server: Diffing java/test/wsdl/inout
> > cvs server: Diffing java/test/wsdl/interop
> > cvs server: Diffing java/test/wsdl/interop3
> > cvs server: Diffing java/test/wsdl/interop3/compound1
> > cvs server: Diffing java/test/wsdl/interop3/compound2
> > cvs server: Diffing java/test/wsdl/interop3/docLit
> > cvs server: Diffing java/test/wsdl/interop3/docLitParam
> > cvs server: Diffing java/test/wsdl/interop3/groupE
> > cvs server: Diffing java/test/wsdl/interop3/groupE/client
> > cvs server: Diffing java/test/wsdl/interop3/import1
> > cvs server: Diffing java/test/wsdl/interop3/import2
> > cvs server: Diffing java/test/wsdl/interop3/import3
> > cvs server: Diffing java/test/wsdl/interop3/rpcEnc
> > cvs server: Diffing java/test/wsdl/literal
> > cvs server: Diffing java/test/wsdl/marrays
> > cvs server: Diffing java/test/wsdl/multibinding
> > cvs server: Diffing java/test/wsdl/multiref
> > cvs server: Diffing java/test/wsdl/multithread
> > cvs server: Diffing java/test/wsdl/names
> > cvs server: Diffing java/test/wsdl/nested
> > cvs server: Diffing java/test/wsdl/omit
> > cvs server: Diffing java/test/wsdl/opStyles
> > cvs server: Diffing java/test/wsdl/parameterOrder
> > cvs server: Diffing java/test/wsdl/polymorphism
> > cvs server: Diffing java/test/wsdl/qualify
> > cvs server: Diffing java/test/wsdl/qualify2
> > cvs server: Diffing java/test/wsdl/ram
> > cvs server: Diffing java/test/wsdl/refattr
> > cvs server: Diffing java/test/wsdl/roundtrip
> > cvs server: Diffing java/test/wsdl/roundtrip/holders
> > cvs server: Diffing java/test/wsdl/sequence
> > cvs server: Diffing java/test/wsdl/types
> > cvs server: Diffing java/test/wsdl/wrapped
> > cvs server: Diffing java/tools
> > cvs server: Diffing java/tools/org
> > cvs server: Diffing java/tools/org/apache
> > cvs server: Diffing java/tools/org/apache/axis
> > cvs server: Diffing java/tools/org/apache/axis/tools
> > cvs server: Diffing java/tools/org/apache/axis/tools/ant
> > cvs server: Diffing java/tools/org/apache/axis/tools/ant/axis
> > cvs server: Diffing java/tools/org/apache/axis/tools/ant/foreach
> > cvs server: Diffing java/tools/org/apache/axis/tools/ant/wsdl
> > cvs server: Diffing java/webapps
> > cvs server: Diffing java/webapps/axis
> > cvs server: Diffing java/webapps/axis/WEB-INF
> > cvs server: Diffing java/wsdd
> > cvs server: Diffing java/wsdd/docs
> > cvs server: Diffing java/wsdd/examples
> > cvs server: Diffing java/wsdd/examples/chaining_examples
> > cvs server: Diffing java/wsdd/examples/from_SOAP_v2
> > cvs server: Diffing java/wsdd/examples/serviceConfiguration_examples
> > cvs server: Diffing java/wsdd/providers
> > cvs server: Diffing java/xmls
> > Index: java/xmls/targets.xml
> > ===================================================================
> > RCS file: /home/cvspublic/xml-axis/java/xmls/targets.xml,v
> > retrieving revision 1.20
> > diff -r1.20 targets.xml
> > 129a130,133
> > >     <condition property="jms.present" >
> > >       <available classname="javax.jms.Message"
> > classpathref="classpath" />
> > >     </condition>
> > >
> > 175a180
> > >     <echo message="jms.present=${jms.present}" />
> > cvs server: Diffing proposals
> > cvs server: Diffing proposals/arch
> > cvs server: Diffing proposals/arch/docs
> > cvs server: Diffing proposals/arch/src
> > cvs server: Diffing proposals/arch/src/org
> > cvs server: Diffing proposals/arch/src/org/apache
> > cvs server: Diffing proposals/arch/src/org/apache/axis
> > cvs server: Diffing proposals/arch/src/org/apache/axis/flow
> > cvs server: Diffing proposals/arch/test
> > cvs server: Diffing proposals/arch/test/flow

> --
> Sonic Software - Backbone of the Extended Enterprise
> --
> David Chappell <ch...@sonicsoftware.com> Office: (781)999-7099
> Mobile: (617)510-6566
> Vice President and Chief Technology Evangelist, Sonic Software
> co-author,"Java Web Services", (O'Reilly 2002)
> "The Java Message Service", (O'Reilly 2000)
> "Professional ebXML Foundations", (Wrox 2001)
> --
> 
> [attachment "chappell.vcf" removed by James M Snell/Fresno/IBM] 

Re: Asynchronous Transport in Apache Axis, JMS and beyond

Posted by David Chappell <ch...@sonicsoftware.com>.
Hi James,
If this seems like a surprise to you, my apologies.  We started talking
to Glen about this starting almost two months ago, including the details
of a draft proposal of the asynchronous callback support. He saw that,
thought it was a good proposal. In all fairness to him with regard to
timing issues, he has been advocating for some time for us to post our
thoughts to the axis-dev list. So we started with this.  We have been
working under the operating assumption that simply a proposal was not
enough.  We should put some skin in the game.  So we wrote some code and
submitted it as a measure of good faith.  Last week at the XML
conference in Boston, Glen and I  both talked to Sam about the notion of
submitting this.  He seemed OK with it as well.  So here we are.

We (Sonic) are also a member of the JCP EG process, and understand the
notion of J2EE legal with regard to invokeOneWay(), and the history of
that.

All that aside...let's work in this.  We are volunteering to do some
heavy lifting.  We have thrown our hat in the ring an offered up a JMS
transport as a phase 1.  Like I said, we would like to work closely with
the Axis-dev community on this proposal.  We are obviously thinking
along similar lines, and should work together to flesh out the longer
term strategy. Your approach with the ASYNC_CALL_PROPERTY sounds
interesting.  We would like to hear more about it.  Perhaps we should
have a con-call about it?


Dave


James M Snell wrote:

> General FYI:
> 
> I am currently about a week away from providing a fix to the current
> Axis code that makes the asynchronous sending of messages by the Axis
> Call object J2EE legal and that allows us to do asynchronous
> request/response operations.  The approach I am taking provides this
> functionality by implementing a pluggable asynchronous processing
> model that operates behind the Axis Call object and minimally impacts
> the current programming model by adding only a couple of new methods
> to the current Call object interface.  An example of how this
> mechanism will work is provided below.
> 
> Currently in Axis, there is no way to do asynchronous request/response
> operations.  Also, the invokeOneWay currently implements asynchronous
> processing by creating a thread and invoking the Axis engine --
> unfortunately this is not legal in J2EE since thread management done
> directly within J2EE containers is not allowed.  By implementing a
> pluggable mechanism, we can go back and plug in an asynchronous
> processing model that IS legal within J2EE -- including, but not
> limited to, using JMS.
> 
> 1          try {
> 2              String endpoint =
> 3                       "some_service_endpoint";
> 4
> 5              Service  service = new Service();
> 6              Call     call    = (Call) service.createCall();
> 7
> 8              call.setProperty(AsyncCall.ASYNC_CALL_PROPERTY,
> 9                               new Boolean(true));
> 10
> 11             call.setTargetEndpointAddress( new
> java.net.URL(endpoint) );
> 12             call.setOperationName(
> 13               new QName("namespace", "getQuote"));
> 14
> 15             String ret = (String) call.invoke( new Object[] { "IBM"
> } );
> 16
> 17             while (call.getAsyncStatus() != Call.ASYNC_READY) {}
> 18             System.out.println(call.getReturnValue());
> 19             System.out.println("done!");
> 20
> 21         } catch (Exception e) {
> 22             System.err.println(e.toString());
> 23         }
> 
> The way this works is simple.  Lines 8-9 tell the Axis call object to
> use Async processing.  When the call.invoke is done on Line 15, Axis
> will dispatch the invocation to the pluggable async processing
> implementation currently configured (uses non-J2EE legal approach by
> default, the admin can configure a new impl either through a system
> property or using the engine config wsdd).
> 
> Line 17 illustrates how the user can check to see when a response has
> been received.  While the async operation is processing,
> call.getAsyncStatus() will return Call.ASYNC_RUNNING.  When the
> operation completes, the value will switch to Call.ASYNC_READY.  The
> client can then call.getReturnValue() to return the response value.
> 
> The invokeOneWay operation will be modified to use the pluggable async
> processing impl automatically (without the end user specifying
> ASYNC_CALL_PROPERTY == true).
> 
> The point here (and the key benefit) is that from the end users point
> of view, how the asyncronous processing is actually implemented is
> irrelevant.  The existing programming model is impacted in a very
> minimal way.  This could be provided for Axis 1.0 without making very
> significant changes to the current axis code base.
> 
> The implementation of this is about half way done (I'm currently
> working on a J2EE legal pluggable implementation).
> 
> - James Snell
>     IBM Emerging Technologies
>     jasnell@us.ibm.com
>     (559) 587-1233 (office)
>     (700) 544-9035 (t/l)
>     Programming Web Services With SOAP, O'Reilly & Associates, ISBN
> 0596000952
> ==
> Have I not commanded you? Be strong and courageous.  Do not be
> terrified,
> do not be discouraged, for the Lord your God will be with you
> whereever you go.
> - Joshua 1:9
> 
> Please respond to axis-dev@xml.apache.org
> 
> To:        axis-dev@xml.apache.org
> cc:
> Subject:        Asynchronous Transport in Apache Axis, JMS and beyond
> 
> Sonic Software would like to become actively involved with providing
> asynchronous transport support in Axis.  The first phase of this
> effort,
> included in the attached patch file, is a JMS transport
> implementation.
> 
> While this patch submission is limited to synchronous request/reply
> over
> a JMS transport, our longer term goal is to provide asynchrony in the
> Axis engine on both the client and server side.  This effort includes
> but is not limited to:
> 
> -        Providing API's in the Axis client and server in support of
> asynchronous callbacks, asynchronous request/reply, notification, and
> solicit-response.
> -        Splitting apart the axis engine at the pivot point in order
> to be able
> to support asynchronous callbacks, asynchronous request/reply,
> notification, and solicit-response.
> -        Adding correlation management in support of splitting apart
> the
> requests and responses in the Axis engine.
> -        Generalizing the asynchronous support beyond JMS such that it
> works
> with any protocol such as HTTP and SMTP/POP/IMAP.
> 
> The attached .zip file contains the files that implement the JMS
> transport.  We tried to make it as vendor-neutral as possible yet keep
> it dynamic and flexible by making the vendor specific parts of JMS
> (ConnectionFactories, Topics, and Queues) be accessible both via JNDI
> and via a string-based lookup.
> 
> In addition to implementing the Transport, we have also included a
> layer
> of helper classes that do things like connection and session pooling,
> connection retry management, and a Endpoint abstraction that deals
> with
> Topic and Queue destinations in JMS 1.0.2 using a single interface.
> This layer is used by the transport.
> 
> The contents of jms.zip belong in org.apache.axis.transport.jms, the
> contents of JMSSamples.zip under samples/jms, and the following files
> replace the pre-existing ones-
> axisNLS.properties -> org.apache.axis.utils
> build.xml -> java
> targets.xml -> java/xmls
> 
> At the moment JMSTest.java is intended to be run manually.  We would
> like to add more tests to the automated test suite, but we need to
> think
> about issues like starting and stopping a JMS provider process in a
> generic fashion.  Your input would be greatly appreciated on this.
> 
> We would like to become committers to Axis, and get involved with Axis
> for the long term.  We are working on fine-tuning a proposal that
> outlines the details of what we would like to provide.  We will be
> sharing that with you by the end of this month, and look forward to
> hearing your feedback on it.
> 
> We are very enthusiastic about getting involved in the Axis project,
> and
> look forward to working with you all.  We would also like to thank
> Glen
> for helping us to understand what it takes to get involved.
> 
> FYI - I will be away from email for the next 1.5 days, but we will
> have
> engineers monitoring this list during that time to answer any
> questions.
> 
> Regards,
> Dave Chappell
> Sonic Software
> ---
> David Chappell <ch...@sonicsoftware.com> Office: (781)999-7099
> Mobile: (617)510-6566
> Vice President and Chief Technology Evangelist, Sonic Software
> co-author,"Java Web Services", (O'Reilly 2002)
> "The Java Message Service", (O'Reilly 2000)
> "Professional ebXML Foundations", (Wrox 2001)
> 
> <?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 targets SYSTEM "file:xmls/targets.xml">
> ]>
> 
> <project default="compile" basedir=".">
> <!--
> ===================================================================
> -->
> <description>
> Build 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
> 
> Optional components:
> SOAP Attachment support enablement:
> activation.jar     from
> http://java.sun.com/products/javabeans/glasgow/jaf.html
> mailapi.jar        from http://java.sun.com/products/javamail/
> JimiProClasses.zip from http://java.sun.com/products/jimi/
> Security support enablement:
> xmlsec.jar from fresh build of CVS from
> http://xml.apache.org/security/
> Other support jars from
> http://cvs.apache.org/viewcvs.cgi/xml-security/libs/
> 
> Build Instructions:
> To build, run
> 
> ant "target"
> 
> on the directory where this file is located with the target you want.
> 
> Most useful targets:
> 
> - compile  : creates the "axis.jar" package in "./build/lib"
> - javadocs : creates the javadocs in "./build/javadocs"
> - dist     : creates the complete binary distribution
> - srcdist  : creates the complete src distribution
> - functional-tests : attempts to build Ant task and then run
> client-server functional test
> - war      : create the web application as a WAR file
> - clean    : clean up files and directories
> 
> Custom post-compilation work:
> 
> If you desire to do some extra work as a part of the build after the
> axis.jar is assembled, simply create an ant buildfile called
> "post-compile.xml" in this directory.  The build will automatically
> notice this and run it at the appropriate time.  This is handy for
> updating the jar file in a running server, for instance.
> 
> Authors:
> Sam Ruby  rubys@us.ibm.com
> Matthew J. Duftler duftler@us.ibm.com
> Glen Daniels gdaniels@macromedia.com
> 
> Copyright:
> Copyright (c) 2001-2002 Apache Software Foundation.
> </description>
> <!--
> ====================================================================
> -->
> 
> <!-- Include the Generic XML files -->
> &properties;
> &paths;
> &taskdefs;
> &targets;
> 
> <!--
> ===================================================================
> -->
> <!-- Compiles the source directory
>   -->
> <!--
> ===================================================================
> -->
> <target name="compile" depends="printEnv">
> <javac srcdir="${src.dir}" destdir="${build.dest}" debug="${debug}"
> deprecation="${deprecation}"
> classpathref="classpath">
> <exclude name="**/old/**/*" />
> <exclude name="**/bak/**"/>
> <exclude name="**/org/apache/axis/components/net/JSSE*.java"
> unless="jsse.present"/>
> <exclude name="**/org/apache/axis/components/net/Fake*.java"
> unless="jsse.present"/>
> <exclude name="**/org/apache/axis/components/image/JimiIO.java"
> unless="jimi.present"/>
> <exclude name="**/org/apache/axis/components/image/MerlinIO.java"
> unless="merlinio.present"/>
> <exclude name="**/org/apache/axis/attachments/AttachmentsImpl.java"
> unless="attachments.present"/>
> <exclude name="**/org/apache/axis/attachments/AttachmentPart.java"
> unless="attachments.present"/>
> <exclude name="**/org/apache/axis/attachments/AttachmentUtils.java"
> unless="attachments.present"/>
> <exclude name="**/org/apache/axis/attachments/MimeUtils.java"
> unless="attachments.present"/>
> <exclude
> name="**/org/apache/axis/attachments/ManagedMemoryDataSource.java"
> unless="attachments.present"/>
> <exclude
> name="**/org/apache/axis/attachments/MultiPartRelatedInputStream.java"
> unless="attachments.present"/>
> <exclude
> name="**/org/apache/axis/attachments/BoundaryDelimitedStream.java"
> unless="attachments.present"/>
> <exclude name="**/org/apache/axis/attachments/ImageDataSource.java"
> unless="jimiAndAttachments.present"/>
> <exclude
> name="**/org/apache/axis/attachments/MimeMultipartDataSource.java"
> unless="attachments.present"/>
> <exclude
> name="**/org/apache/axis/attachments/PlainTextDataSource.java"
> unless="attachments.present"/>
> <exclude
> name="**/org/apache/axis/configuration/ServletEngineConfigurationFactory.java"
> unless="servlet.present"/>
> <exclude
> name="**/org/apache/axis/encoding/ser/JAFDataHandlerSerializer.java"
> unless="attachments.present"/>
> <exclude
> name="**/org/apache/axis/encoding/ser/JAFDataHandlerDeserializerFactory.java"
> unless="attachments.present"/>
> <exclude
> name="**/org/apache/axis/encoding/ser/JAFDataHandlerSerializerFactory.java"
> unless="attachments.present"/>
> <exclude
> name="**/org/apache/axis/encoding/ser/JAFDataHandlerDeserializer.java"
> unless="attachments.present"/>
> <exclude name="**/org/apache/axis/handlers/MD5AttachHandler.java"
> unless="attachments.present"/>
> <exclude name="**/org/apache/axis/transport/http/AdminServlet.java"
> unless="servlet.present"/>
> <exclude name="**/org/apache/axis/transport/http/AxisHttpSession.java"
> unless="servlet.present"/>
> <exclude name="**/org/apache/axis/transport/http/AxisServlet.java"
> unless="servlet.present"/>
> <exclude
> name="**/org/apache/axis/transport/http/CommonsHTTPSender.java"
> unless="commons-httpclient.present"/>
> <exclude name="**/org/apache/axis/transport/jms/*"
> unless="jms.present"/>
> <exclude name="**/org/apache/axis/server/JNDIAxisServerFactory.java"
> unless="servlet.present"/>
> <exclude name="**/org/apache/axis/security/servlet/*"
> unless="servlet.present"/>
> <exclude name="**/javax/xml/soap/*.java"
> unless="attachments.present"/>
> <exclude name="**/javax/xml/rpc/handler/soap/*.java"
> unless="attachments.present"/>
> <exclude name="**/javax/xml/rpc/server/Servlet*.java"
> unless="servlet.present"/>
> <exclude name="**/*TestSuite.java" unless="junit.present"/>
> </javac>
> <copy file="${src.dir}/org/apache/axis/server/server-config.wsdd"
> toDir="${build.dest}/org/apache/axis/server"/>
> <copy file="${src.dir}/org/apache/axis/client/client-config.wsdd"
> toDir="${build.dest}/org/apache/axis/client"/>
> <copy file="${src.dir}/log4j.properties"
> toDir="${build.dest}"/>
> <copy file="${src.dir}/simplelog.properties"
> toDir="${build.dest}"/>
> <copy file="${src.dir}/org/apache/axis/utils/axisNLS.properties"
> toDir="${build.dest}/org/apache/axis/utils"/>
> 
> <tstamp>
> <format property="build.time" pattern="MMM dd, yyyy (hh:mm:ss z)"/>
> </tstamp>
> <replace file="${build.dest}/org/apache/axis/utils/axisNLS.properties"
> 
> token="#today#" value="${build.time}"/>
> <replace file="${build.dest}/org/apache/axis/utils/axisNLS.properties"
> 
> token="#axisVersion#" value="${axis.version}"/>
> 
> <jar jarfile="${build.lib}/${name}.jar" basedir="${build.dest}" >
> <include name="org/**" />
> <include name="log4j.properties"/>
> <include name="simplelog.properties"/>
> </jar>
> <jar jarfile="${build.lib}/${jaxrpc}.jar" basedir="${build.dest}" >
> <include name="javax/**"/>
> <exclude name="javax/xml/soap/**"/>
> </jar>
> <jar jarfile="${build.lib}/${saaj}.jar" basedir="${build.dest}" >
> <include name="javax/xml/soap/**"/>
> </jar>
> <copy file="${wsdl4j.jar}" toDir="${build.lib}"/>
> <copy file="${commons-logging.jar}" toDir="${build.lib}"/>
> <copy file="${commons-discovery.jar}" toDir="${build.lib}"/>
> <copy file="${log4j-core.jar}" toDir="${build.lib}"/>
> 
> <!-- stub in my task generations -->
> <ant antfile="buildPreTestTaskdefs.xml" />
> 
> <!--  Build the new org.apache.axis.tools.ant stuff -->
> <ant antfile="tools/build.xml" />
> <ant antfile="tools/build.xml" target="test"/>
> 
> <antcall target="post-compile"/>
> </target>
> 
> <!--
> ===================================================================
> -->
> <!-- Custom post-compilation step
>    -->
> <!--
> ===================================================================
> -->
> <target name="post-compile" if="post-compile.present">
> <ant antfile="post-compile.xml"/>
> </target>
> 
> <!--
> ===================================================================
> -->
> <!-- Compiles the samples
>    -->
> <!--
> ===================================================================
> -->
> <target name="samples" depends="compile"
> description="build the samples">
> 
> <!-- The interop echo sample depends on the wsdl2java task -->
> <javac srcdir="." destdir="${build.dest}"
> debug="${debug}">
> <classpath>
> <pathelement location="${build.lib}/${name}.jar"/>
> <pathelement location="${build.lib}/${jaxrpc}.jar"/>
> <pathelement location="${build.lib}/${saaj}.jar"/>
> <path refid="classpath"/>
> </classpath>
> <include name="test/wsdl/*.java" />
> </javac>
> 
> <taskdef name="wsdl2java"
> classname="test.wsdl.Wsdl2javaAntTask">
> <classpath refid="test-classpath" />
> </taskdef>
> 
> <!-- Create java files for the echo sample -->
> <wsdl2java url="samples/echo/InteropTest.wsdl"
> output="build/work"
> deployscope="session"
> serverSide="no"
> noimports="no"
> verbose="no"
> typeMappingVersion="1.1"
> testcase="no">
> <mapping namespace="http://soapinterop.org/" package="samples.echo"/>
> <mapping namespace="http://soapinterop.org/xsd"
> package="samples.echo"/>
> </wsdl2java>
> 
> <!-- Compile the echo sample generated java files -->
> <javac srcdir="${build.dir}/work" destdir="${build.dest}"
> debug="${debug}">
> <classpath refid="test-classpath" />
> <include name="samples/echo/**.java" />
> </javac>
> 
> <!-- AddressBook Sample -->
> <wsdl2java url="samples/addr/AddressBook.wsdl"
> output="build/work"
> deployscope="session"
> serverSide="yes"
> skeletonDeploy="yes"
> noimports="no"
> verbose="no"
> typeMappingVersion="1.1"
> testcase="no">
> <mapping namespace="urn:AddressFetcher2" package="samples.addr"/>
> </wsdl2java>
> 
> <!-- jaxrpc Dynamic proxy with bean - Bug 10824 -->
> <wsdl2java url="samples/jaxrpc/address/Address.wsdl"
> output="build/work"
> serverSide="yes"
> testcase="no">
> </wsdl2java>
> 
> <!-- Compile the echo sample generated java files -->
> <javac srcdir="${build.dir}/work" destdir="${build.dest}"
> debug="${debug}">
> <classpath refid="test-classpath" />
> <include name="samples/addr/**.java" />
> <include name="samples/jaxrpc/address/**.java" />
> </javac>
> 
> <!-- Compile the sample code -->
> <javac srcdir="." destdir="${build.dest}"
> debug="${debug}">
> <classpath>
> <pathelement location="${build.lib}/${name}.jar"/>
> <pathelement location="${build.lib}/${jaxrpc}.jar"/>
> <pathelement location="${build.lib}/${saaj}.jar"/>
> <path refid="classpath"/>
> </classpath>
> <include name="samples/**/*.java" />
> <exclude name="samples/**/*SMTP*.java" unless="smtp.present" />
> <exclude name="**/old/**/*.java" />
> <exclude name="samples/userguide/example2/Calculator.java"/>
> <exclude name="samples/addr/AddressBookTestCase.java" unless=
> "junit.present"/>
> <exclude name="samples/userguide/example6/Main.java" />
> <exclude name="samples/userguide/example6/*Impl.java" />
> <exclude name="samples/userguide/example6/*TestCase.java" />
> <exclude name="samples/attachments/**/*.java"
> unless="attachments.present" />
> <exclude name="samples/security/**/*.java" unless="security.present"/>
> <exclude name="samples/jms/**/*.java" unless="jms.present"/>
> </javac>
> </target>
> 
> <!--
> ===================================================================
> -->
> <!-- Compiles the JUnit testcases -->
> <!--
> ===================================================================
> -->
> 
> <path id="test-classpath">
> <pathelement location="${build.dest}" />
> <path refid="classpath"/>
> </path>
> 
> <target name="buildTest" if="junit.present" depends="compile,samples">
> <echo message="junit package found ..."/>
> <!-- Start by building the testcases -->
> <javac srcdir="." destdir="${build.dest}"
> debug="${debug}">
> <classpath>
> <pathelement location="${build.lib}/${name}.jar"/>
> <pathelement location="${build.lib}/${jaxrpc}.jar"/>
> <pathelement location="${build.lib}/${saaj}.jar"/>
> <path refid="classpath"/>
> </classpath>
> <include name="test/**/*.java" />
> <exclude name="test/lib/*.java"/>
> <exclude name="test/inout/*.java" />
> <exclude name="test/wsdl/*/*.java" />
> <exclude name="test/wsdl/interop3/groupE/**/*.java" />
> <exclude name="test/wsdl/interop3/**/*.java" />
> <exclude name="test/wsdl/Wsdl2javaTestSuite.java"
> unless="servlet.present"/>
> <exclude name="test/md5attach/*.java" unless="attachments.present"/>
> <exclude name="test/functional/TestAttachmentsSample.java"
> unless="attachments.present"/>
> <exclude name="test/wsdl/attachments/*.java"
> unless="jimiAndAttachments.present" />
> <exclude name="test/httpunit/**/*.java"/>
> </javac>
> <copy file="test/wsdd/testStructure1.wsdd"
> toDir="${build.dest}/test/wsdd"/>
> </target>
> 
> <!--
> ===================================================================
> -->
> <!-- Runs the JUnit package testcases -->
> <!--
> ===================================================================
> -->
> <target name="junit" if="junit.present" depends="samples,buildTest">
> <mkdir dir="${test.functional.reportdir}" />
> <junit printsummary="yes" haltonfailure="yes" fork="yes">
> <classpath refid="test-classpath" />
> <formatter type="xml" />
> <batchtest todir="${test.functional.reportdir}">
> <fileset dir="${build.dir}/classes">
> <!-- Convention: each package that's being tested
> has its own test class collecting all the tests -->
> <include name="**/PackageTests.class" />
> <!-- <include name="**/test/*TestSuite.class"/> -->
> </fileset>
> </batchtest>
> </junit>
> </target>
> 
> <!--
> ===================================================================
> -->
> <!-- Functional tests, no dependencies (for no-build testing)
>    -->
> <!--
> ===================================================================
> -->
> <target name="functional-tests-only" depends="printEnv"
> description="functional tests without a rebuild; the Axis Ant task
> must be in ANT_HOME/lib"
> >
> 
> <!-- The Axis Ant task must be built (into ANT_HOME/lib)... -->
> <ant antfile="test/build_functional_tests.xml"
> target="functional-tests-only"/>
> 
> <!--
> ...and then the functional tests can be run.  If this step yields a
> "can't find class test.functional.ant.RunAxisFunctionalTestsTask",
> verify that your Ant classpath contains ANT_HOME/lib.
> -->
> 
> </target>
> 
> <target name="functional-tests-secure-only" depends="printEnv"
> description="functional secure tests without a rebuild;"
> >
> <ant antfile="test/build_functional_tests.xml"
> target="functional-tests-secure-only"/>
> </target>
> 
> <!--
> ===================================================================
> -->
> <!-- Functional tests, no server (for testing under debugger)
>    -->
> <!--
> ===================================================================
> -->
> <target name="functional-tests-noserver" depends="buildTest, samples"
> description="functional tests, no server">
> <ant antfile="test/build_functional_tests.xml"
> target="junit-functional-noserver">
> <property name="test.functional.usefile"
> value="${test.functional.usefile}"/>
> </ant>
> 
> </target>
> 
> <!--
> ===================================================================
> -->
> <!-- Functional tests, with server
>   -->
> <!--
> ===================================================================
> -->
> <target name="functional-tests" depends="buildTest, samples"
> description="functional tests">
> <ant antfile="test/build_functional_tests.xml">
> <property name="test.functional.usefile"
> value="${test.functional.usefile}"/>
> </ant>
> </target>
> 
> <!-- Security only tests, with full dependencies -->
> <target name="secure-tests" depends="junit,
> functional-tests-secure-only">
> </target>
> 
> <!-- All tests -->
> <target name="all-tests" depends="junit, functional-tests">
> </target>
> 
> <!--
> ===================================================================
> -->
> <!-- Creates the API documentation
>   -->
> <!--
> ===================================================================
> -->
> <target name="javadocs" depends="printEnv"
> unless="javadoc.notrequired"
> description="create javadocs">
> 
> <mkdir dir="${build.javadocs}"/>
> <javadoc packagenames="${packages}"
> sourcepath="${src.dir}"
> classpathref="classpath"
> destdir="${build.javadocs}"
> author="true"
> version="true"
> use="true"
> windowtitle="${Name} API"
> doctitle="${Name}"
> bottom="Copyright &#169; ${year} Apache XML Project. All Rights
> Reserved."
> />
> </target>
> 
> <!--
> ===================================================================
> -->
> <!-- Build/Test EVERYTHING from scratch!
>   -->
> <!--
> ===================================================================
> -->
> <target name="all" depends="dist, functional-tests"
> description="do everything: distribution build and functional tests"
> />
> 
> <!--
> ===================================================================
> -->
> <!-- Creates a war file for testing
>    -->
> <!--
> ===================================================================
> -->
> <target name="war" depends="compile, samples"
> description="Create the web application" >
> <mkdir dir="${build.webapp}"/>
> <copy todir="${build.webapp}">
> <fileset dir="${webapp}"/>
> </copy>
> <copy todir="${build.webapp}/WEB-INF/lib">
> <fileset dir="${lib.dir}">
> <include name="*.jar"/>
> </fileset>
> <fileset dir="${build.lib}">
> <include name="*.jar"/>
> </fileset>
> </copy>
> <copy todir="${build.webapp}/samples">
> <fileset dir="./samples"/>
> </copy>
> <copy todir="${build.webapp}/WEB-INF/classes/samples">
> <fileset dir="${build.samples}"/>
> </copy>
> <copy todir="${build.webapp}/WEB-INF">
> <fileset dir="${samples.dir}/stock">
> <include name="*.lst"/>
> </fileset>
> </copy>
> <delete>
> <fileset dir="${build.webapp}" includes="**/CVS"/>
> </delete>
> <jar jarfile="${build.dir}/${name}.war" basedir="${build.webapp}"/>
> </target>
> 
> <!--
> ===================================================================
> -->
> <!-- Creates the binary distribution
>   -->
> <!--
> ===================================================================
> -->
> <target name="javadocsdist" depends="javadocs"
> unless="javadoc.notrequired">
> <mkdir dir="${dist.dir}/docs"/>
> <mkdir dir="${dist.dir}/docs/apiDocs"/>
> <copy todir="${dist.dir}/docs/apiDocs">
> <fileset dir="${build.javadocs}"/>
> </copy>
> </target>
> 
> <target name="dist" depends="compile, javadocsdist, samples, junit"
> description="create the full binary distribution">
> <mkdir dir="${dist.dir}"/>
> <mkdir dir="${dist.dir}/lib"/>
> <mkdir dir="${dist.dir}/samples"/>
> <mkdir dir="${dist.dir}/webapps/axis"/>
> 
> <copy todir="${dist.dir}/lib">
> <fileset dir="${build.lib}"/>
> </copy>
> <copy todir="${dist.dir}/samples">
> <fileset dir="${build.samples}"/>
> <fileset dir="./samples"/>
> </copy>
> <copy todir="${dist.dir}/docs">
> <fileset dir="${docs.dir}"/>
> </copy>
> <copy todir="${dist.dir}/webapps/axis">
> <fileset dir="${webapp}"/>
> </copy>
> <copy todir="${dist.dir}/webapps/axis/WEB-INF">
> <fileset dir="${samples.dir}/stock">
> <include name="*.lst"/>
> </fileset>
> </copy>
> <copy todir="${dist.dir}/webapps/axis/WEB-INF/lib">
> <fileset dir="${build.lib}">
> <include name="*.jar"/>
> </fileset>
> </copy>
> <copy todir="${dist.dir}/webapps/axis/WEB-INF/classes/samples">
> <fileset dir="${build.samples}"/>
> </copy>
> <!--
> <copy file="../LICENSE" tofile="${dist.dir}/LICENSE"/>
> -->
> <copy file="README" tofile="${dist.dir}/README"/>
> <copy file="release-notes.html"
> tofile="${dist.dir}/release-notes.html"/>
> </target>
> 
> <!--
> ===================================================================
> -->
> <!-- Creates the source distribution
>   -->
> <!--
> ===================================================================
> -->
> <target name="srcdist" depends="javadocs"
> description="Create the source distribution">
> <copy todir="${dist.dir}">
> <fileset dir=".">
> <include name="build.xml"/>
> <include name="README"/>
> <include name="docs/**"/>
> <include name="lib/**"/>
> <include name="samples/**"/>
> <include name="src/**"/>
> <include name="test/**"/>
> <include name="webapps/**"/>
> 
> <exclude name="**/CVS/**"/>
> </fileset>
> </copy>
> <copy todir="${dist.dir}/docs/apiDocs">
> <fileset dir="${build.javadocs}"/>
> </copy>
> <copy file="../LICENSE" tofile="${dist.dir}/LICENSE"/>
> </target>
> 
> <!--
> ===================================================================
> -->
> <!-- Interop 3
>   -->
> <!--
> ===================================================================
> -->
> <target name="interop3" depends="buildTest"
> description="run the round3 interop tests">
> <ant dir="test/wsdl/interop3/import1"/>
> <ant dir="test/wsdl/interop3/import2"/>
> <ant dir="test/wsdl/interop3/import3"/>
> <ant dir="test/wsdl/interop3/compound1"/>
> <ant dir="test/wsdl/interop3/compound2"/>
> <ant dir="test/wsdl/interop3/docLit"/>
> <ant dir="test/wsdl/interop3/docLitParam"/>
> <ant dir="test/wsdl/interop3/rpcEnc"/>
> </target>
> 
> <!--
> ===================================================================
> -->
> <!-- Cleans everything
>   -->
> <!--
> ===================================================================
> -->
> <target name="clean"
> description="clean up, build, dist and much of the axis servlet">
> <delete dir="${build.dir}"/>
> <delete dir="${dist.dir}"/>
> <delete file="client-config.wsdd"/>
> <delete file="server-config.wsdd"/>
> <delete file="webapps/axis/WEB-INF/server-config.wsdd"/>
> <delete>
> <fileset dir="webapps/axis" includes="**/*.class" />
> </delete>
> <delete dir="test-reports"/>
> <delete file="TEST-test.functional.FunctionalTests.txt"/>
> </target>
> 
> <!--
> ===================================================================
> -->
> <!-- Check the style of the Axis source
>   -->
> <!--
> ===================================================================
> -->
> <target name="checkstyle"
> description="Check the style of the Axis source" >
> <ant dir="." target="checkstyle"
> antfile="xmls/checkstyle.xml"
> inheritall="true"
> inheritrefs="true"
> >
> <property name="checkstyle.project"
> value="axis" />
> <property name="checkstyle.src.dir"
> location="${axis.home}/src" />
> </ant>
> </target>
> </project>
> 
> # Translation instructions.
> # 1.  Each message line is of the form key=value.
> #     Translate the value, DO NOT translate the key.
> # 2.  The messages may contain arguments that will be filled in
> #     by the runtime.  These are of the form: {0}, {1}, etc.
> #     These must appear as is in the message, though the order
> #     may be changed to support proper language syntax.
> # 3.  If a single quote character is to appear in the resulting
> #     message, it must appear in this file as two consecutive
> #     single quote characters.
> # 4.  Lines beginning with "#" (like this one) are comment lines
> #     and may contain translation instructions.  They need not be
> #     translated unless your translated file, rather than this file,
> #     will serve as a base for other translators.
> 
> addAfterInvoke00={0}:  the chain has already been invoked
> addBody00=Adding body element to message...
> addHeader00=Adding header to message...
> addTrailer00=Adding trailer to message...
> adminServiceDeny=Denying service admin request from {0}
> adminServiceLoad=Current load = {0}
> adminServiceStart=Starting service in response to admin request from
> {0}
> adminServiceStop=Stopping service in response to admin request from
> {0}
> auth00=User ''{0}'' authenticated to server
> auth01=User ''{0}'' authorized to ''{1}''
> 
> # NOTE:  in axisService00, do not translate "AXIS"
> axisService00=Hi there, this is an AXIS service!
> 
> # NOTE:  in badArrayType00, do not translate "arrayTypeValue"
> badArrayType00=Malformed arrayTypeValue ''{0}''
> 
> # NOTE:  in badAuth00, do not translate ""Basic""
> badAuth00=Bad authentication type (I can only handle "Basic").
> 
> badBool00=Invalid boolean
> 
> # NOTE:  in badCall00, do not translate "Call"
> badCall00=Cannot update the Call object
> badCall01=Failure trying to get the Call object
> badCall02=Invocation of Call.getOutputParams failed
> 
> badChars00=Unexpected characters
> badChars01=Bad character or insufficient number of characters in hex
> string
> badCompile00=Error while compiling:  {0}
> badDate00=Invalid date
> badDateTime00=Invalid date/time
> badElem00=Invalid element in {0} - {1}
> badHandlerClass00=Class ''{0}'' is not a Handler (can't be used in
> HandlerProvider)!
> badHolder00=Holder of wrong type.
> badInteger00=Explicit array length is not a valid integer ''{0}''.
> 
> # NOTE:  in badMsgCtx00, do not translate "--messageContext",
> "--skeleton"
> badMsgCtx00=Error: --messageContext switch only valid with --skeleton
> 
> badNameAttr00=No ''name'' attribute was specified in an undeployment
> element
> badNamespace00=Bad envelope namespace:  {0}
> badNameType00=Invalid Name
> badNCNameType00=Invalid NCName
> badNmtoken00=Invalid Nmtoken
> badOffset00=Malformed offset attribute ''{0}''.
> badpackage00=Error: --NStoPKG and --package switch can't be used
> together
> # NOTE:  in badParmMode00, do not translate "Parameter".
> badParmMode00=Invalid Parameter mode {0}.
> badPosition00=Malformed position attribute ''{0}''.
> badProxy00=Proxy port number, "{0}", incorrectly formatted
> badPort00=portName should not be null
> 
> # NOTE:  in badRequest00, do not translate "GET", "POST"
> badRequest00=Cannot handle non-GET, non-POST request
> 
> # NOTE:  in badRootElem00, do not translate "clientdeploy", "deploy",
> "undeploy", "list", "passwd", "quit"
> badRootElem00=Root element must be ''clientdeploy'', ''deploy'',
> ''undeploy'', ''list'', ''passwd'', or ''quit''
> 
> badScope00=Unrecognized scope:  {0}.  Ignoring it.
> badTag00=Bad envelope tag:  {0}
> badTime00=Invalid time
> badTimezone00=Invalid timezone
> badTypeNamespace00=Found languageSpecificType namespace ''{0}'',
> expected ''{1}''
> badUnsignedByte00=Invalid unsigned byte
> badUnsignedShort00=Invalid unsigned short
> badUnsignedInt00=Invalid unsigned int
> badUnsignedLong00=Invalid unsigned long
> badWSDDElem00=Invalid WSDD Element
> beanSerConfigFail00=Exception configuring bean serialization for {0}
> bodyElementParent=Warning: SOAPBodyElement.setParentElement should
> take a SOAPBody parameter instead of a SOAPEnvelope (but need not be
> called after SOAPBody.addBodyElement)
> bodyElems00=There are {0} body elements.
> bodyIs00=body is {0}
> bodyPresent=Body already present
> buildChain00={0} building chain ''{1}''
> cantAuth00=User ''{0}'' not authenticated (unknown user)
> cantAuth01=User ''{0}'' not authenticated
> cantAuth02=User ''{0}'' not authorized to ''{1}''
> 
> # NOTE:  in the cantConvertXX messages, do not translate "bytes",
> "String", "bean", "int"
> cantConvert00=Cannot convert {0} to bytes
> cantConvert01=Cannot convert form {0} to String
> cantConvert02=Could not convert {0} to bean field ''{1}'', type {2}
> cantConvert03=Could not convert value to int
> 
> cantDoNullArray00=Cannot serialize null arrays just yet...
> 
> # NOTE:  in cantDoURL00, do not translate "getURL", "URL"
> cantDoURL00=getURL failed to correctly process URL; protocol not
> supported
> 
> cantHandle00={0} cannot handle structured data!
> 
> # NOTE:  in cantInvoke00, do not translate "Call" or "URI"
> cantInvoke00=Cannot invoke Call with null namespace URI for method {0}
> 
> cantResolve00=Cannot resolve chain
> 
> # NOTE:  in cantSerialize00, do not translate "ArraySerializer"
> cantSerialize00=Cannot serialize a {0} with the ArraySerializer!
> 
> # NOTE:  in cantSerialize01, do not translate "Elements" and
> "ElementSerializer"
> cantSerialize01=Cannot serialize non-Elements with an
> ElementSerializer!
> 
> cantSerialize02=Cannot serialize a raw object
> cantSetURI00=Cannot set location URI:  {0}
> cantTunnel00=Unable to tunnel through {0}:{1}.  Proxy returns "{2}"
> changePwd00=Changing admin password
> childPresent=MessageElement.setObjectValue called when a child element
> is present
> compiling00=Compiling:  {0}
> ctor00=Constructor
> convert00=Trying to convert {0} to {1}
> copy00=copy {0} {1}
> couldntCall00=Could not get a call
> couldntConstructProvider00=Service couldn't construct provider!
> 
> # NOTE:  in createdHTTP entries, do not translate "HTTP"
> createdHTTP00=Created an insecure HTTP connection
> createdHTTP01=Created an insecure HTTP connection using proxy {0},
> port {1}
> 
> # NOTE:  in createdSSL00, do not translate "SSL"
> createdSSL00=Created an SSL connection
> 
> connectionClosed00=Connection closed.
> 
> debugLevel00=Setting debug level to:  {0}
> 
> # NOTE:  in defaultLogic00, do not translate "AxisServer"
> defaultLogic00=Calling default logic in AxisServer
> 
> deployChain00=Deploying chain:  {0}
> deployHandler00=Deploying handler:  {0}
> deployService00=Deploying service ''{0}'' into {1}
> deployService01=Deploying service:  {0}
> deployTransport00=Deploying transport:  {0}
> 
> # NOTE:  in deserFact00, do not translate "DeserializerFactory"
> deserFact00=DeserializerFactory class is {0}
> 
> disabled00=functionality disabled.
> dispatching00=Dispatching to a body namespace ''{0}''
> doList00=Doing a list
> done00=Done processing
> doQuit00=Doing a quit
> 
> dupConfigProvider00=Attempt to set configProvider for
> already-configured Service!
> duplicateFile00=Duplicate file name: {0}.  \nHint: you may have mapped
> two namespaces with elements of the same name to the same package
> name.
> duplicateClass00=Duplicate class name: {0}.  \nHint: you may have
> mapped two namespaces with elements of the same name to the same
> package name.
> 
> elapsed00=Elapsed: {0} milliseconds
> 
> # NOTE:  in emitFail00, do not translate "parameterOrder"
> emitFail00=Emitter failure.  All input parts must be listed in the
> parameterOrder attribute of {0}
> 
> # NOTE:  in emitFail01, do not translate "portType", "binding"
> emitFail01=Emitter failure.  Cannot find portType operation parameters
> for binding {0}
> 
> # NOTE:  in emitFail02 and emitFail03, do not translate "port",
> "service"
> emitFail02=Emitter failure.  Cannot find endpoint address in port {0}
> in service {1}
> emitFail03=Emitter failure.  Invalid endpoint address in port {0} in
> service {1}:  {2}
> 
> # NOTE do not translate "binding", "port", "service", or "portType"
> emitFailNoBinding01=Emitter failure.  No binding found for port {0}
> emitFailNoBindingEntry01=Emitter failure. No binding entry found for
> {0}
> emitFailNoPortType01=Emitter failure.  No portType entry found for {0}
> emitFailtUndefinedBinding01=Emitter failure.  There is an undefined
> binding ({0}) in the WSDL document.\nHint: make sure <port
> binding=\"..\"> is fully qualified.
> emitFailtUndefinedBinding02=Emitter failure.  There is an undefined
> binding ({0}) in the WSDL document {1}.\nHint: make sure <port
> binding=\"..\"> is fully qualified.
> emitFailtUndefinedMessage01=Emitter failure.  There is an undefined
> message ({0}) in the WSDL document.\nHint: make sure <input
> message=\"..\"> and <output message=".."> are fully qualified.
> emitFailtUndefinedPort01=Emitter failure.  There is an undefined
> portType ({0}) in the WSDL document.\nHint: make sure <binding
> type=\"..\"> is fully qualified.
> emitFailtUndefinedPort02=Emitter failure.  There is an undefined
> portType ({0}) in the WSDL document {1}.\nHint: make sure <binding
> type=\"..\"> is fully qualified.
> 
> emitter00=emitter
> empty00=empty
> 
> # NOTE:  in enableTransport00, do not translate "SOAPService"
> enableTransport00=SOAPService({0}) enabling transport {1}
> 
> end00=end
> endDoc00=End document
> endDoc01=Done with document
> endElem00=End element {0}
> endPrefix00=End prefix mapping ''{0}''
> enter00=Enter:  {0}
> 
> #NOTE:  in error00, do not translate "AXIS"
> error00=AXIS error
> 
> error01=Error:  {0}
> errorInvoking00=Error invoking operation:  {0}
> errorProcess00=Error processing ''{0}''
> exit00=Exit:  {0}
> exit01=Exit:  {0} no-argument constructor
> exit02=Exit:  {0} - {1} is null
> fault00=Fault occurred
> fileExistError00=Error determining if {0} already exists.  Will not
> generate this file.
> filename00=File name is:  {0}
> filename01={0}:  request file name = ''{1}''
> fromFile00=From file:  ''{0}'':''{1}''
> from00=From {0}
> genDeploy00=Generating deployment document
> genDeployFail00=Failed to write deployment document
> genFault00=Generating fault class
> genHolder00=Generating type implementation holder
> 
> # NOTE:  in genIFace00, do not translate "portType"
> genIface00=Generating portType interface
> genIface01=Generating server-side portType interface
> 
> genImpl00=Generating server-side implementation template
> 
> # NOTE:  in genService00, do not translate "service"
> genService00=Generating service class
> 
> genSkel00=Generating server-side skeleton
> genStub00=Generating client-side stub
> genTest00=Generating service test case
> genType00=Generating type implementation
> genHelper00=Generating helper implementation
> genUndeploy00=Generating undeployment document
> genUndeployFail00=Failed to write undeployment document
> getProxy00=Use to get a proxy class for {0}
> got00=Got {0}
> gotForID00=Got {0} for ID {1} (class = {2})
> gotPrincipal00=Got principal:  {0}
> gotResponse00=Got response message
> gotType00={0} got type {1}
> gotValue00={0} got value {1}
> handlerRegistryConfig=Service does not support configuration of a
> HandlerRegistry
> headers00=headers
> headerPresent=Header already present
> 
> # NOTE:  in httpPassword00, do not translate HTTP
> httpPassword00=HTTP password:  {0}
> 
> # NOTE:  in httpPassword00, do not translate HTTP
> httpUser00=HTTP user id:  {0}
> 
> inMsg00=In message: {0}
> internalError00=Internal error
> internalError01=Internal server error
> 
> invalidConfigFilePath=Configuration file directory ''{0}'' is not
> readable.
> 
> invalidWSDD00=Invalid WSDD element ''{0}'' (wanted ''{1}'')
> 
> # NOTE:  in invokeGet00, do no translate "GET"
> invokeGet00=invoking via GET
> 
> invokeRequest00=Invoking request chain
> invokeResponse00=Invoking response chain
> invokeService00=Invoking service/pivot
> isNull00=is {0} null?  {1}
> 
> lookup00=Looking up method {0} in class {1}
> makeEnvFail00=Could not make envelope
> match00={0} match:  host:  {1}, pattern:  {2}
> mustBeIface00=Only interfaces may be used for the proxy class argument
> mustExtendRemote00=Only interfaces which extend java.rmi.Remote may be
> used for the proxy class argument
> namesDontMatch00=Method names do not match\nBody method name =
> {0}\nService method names = {1}
> namesDontMatch01=Method names do not match\nBody name = {0}\nService
> name = {1}\nService nameList = {2}
> needPwd00=Must specify a password!
> needService00=No target service to authorize for!
> needUser00=Need to specify a user for authorization!
> never00={0}:  this should never happen!  {1}
> 
> # NOTE:  in newElem00, do not translate "MessageElement"
> newElem00=New MessageElement ({0}) named {1}
> 
> no00=no {0}
> noAdminAccess00=Remote administrator access is not allowed!
> noArrayArray00=Arrays of arrays are not supported ''{0}''.
> 
> # NOTE:  in noArrayType00, do no translate "arrayType"
> noArrayType00=No arrayType attribute for array!
> 
> # NOTE:  in noBeanHome00, do not translate "EJBProvider"
> noBeanHome00=EJBProvider cannot get Bean Home
> 
> # NOTE:  in noBody00, do not translate "Body"
> noBody00=Body not found.
> 
> noChains00=Services must use targeted chains
> noClass00=Could not create class {0}
> 
> # NOTE:  in noClassname00, do not translate "classname"
> noClassname00=No classname attribute in type mapping
> 
> noComponent00=No deserializer defined for array type {0}
> noConfig00=No engine configuration file - aborting!
> 
> # NOTE:  in noContext00, do not translate
> "MessageElement.getValueAsType()"
> noContext00=No deserialization context to use in
> MessageElement.getValueAsType()!
> 
> # NOTE:  in noContext01, do not translate "EJBProvider", "Context"
> noContext01=EJBProvider cannot get Context
> 
> # NOTE:  in noCustomElems00, do not translate "<body>"
> noCustomElems00=No custom elements allowed at top level until after
> the <body> tag
> noData00=No data
> noDeploy00=Could not generate deployment list!
> noDeser00=No deserializer for {0}
> 
> # NOTE:  in noDeserFact00, do not translate "DeserializerFactory"
> noDeserFact00=Could not load DeserializerFactory {0}
> 
> noDeser01=Deserializing parameter ''{0}'':  could not find
> deserializer for type {1}
> noDoc00=Could not get DOM document: XML was "{0}"
> 
> # NOTE:  in noEngine00, do not translate "AXIS"
> noEngine00=Could not find AXIS engine!
> 
> # NOTE:  in noEngineConfig00, do not translate "engineConfig"
> noEngineConfig00=Wanted ''engineConfig'' element, got ''{0}''
> 
> # NOTE:  in engineConfigWrongClass??, do not translate
> "EngineConfiguration"
> engineConfigWrongClass00=Expected instance of ''EngineConfiguration''
> in environment
> engineConfigWrongClass01=Expected instance of ''{0}'' to be of type
> ''EngineConfiguration''
> 
> # NOTE:  in engineConfigNoClass00, do not translate
> "EngineConfiguration"
> engineConfigNoClass00=''EngineConfiguration'' class not found: ''{0}''
> 
> engineConfigNoInstance00=''{0}'' class cannot be instantiated
> engineConfigIllegalAccess00=Illegal access while instantiating class
> ''{0}''
> 
> jndiNotFound00=JNDI InitialContext() returned null, default to
> non-JNDI behavior (DefaultAxisServerFactory)
> 
> # NOTE:  in servletContextWrongClass00, do not translate
> "ServletContext"
> servletContextWrongClass00=Expected instance of ''ServletContext'' in
> environment
> 
> noEngineWSDD=Engine configuration is not present or not WSDD!
> 
> noHandler00=Cannot locate handler:  {0}
> 
> # NOTE:  in noHandler01, do not translate "QName"
> noHandler01=No handler for QName {0}
> 
> noHandler02=Could not find registered handler ''{0}''
> 
> noHandlerClass00=No HandlerProvider ''handlerClass'' option was
> specified!
> 
> noHandlersInChain00=No handlers in {0} ''{1}''
> 
> noHeader00=no {0} header!
> 
> # NOTE:  in noInstructions00, do not translate "SOAP"
> noInstructions00=Processing instructions are not allowed within SOAP
> messages
> 
> # NOTE:  in noJSSE00, do not translate "SSL", JSSE", "classpath"
> noJSSE00=SSL feature disallowed:  JSSE files not installed or present
> in classpath
> 
> noMap00={0}:  {1} is not a map
> 
> noMatchingProvider00=No provider type matches QName ''{0}''
> 
> noMethod00=Method not found\nMethod name = {0}\nService name = {1}
> noMethod01=No method!
> noMultiArray00=Multidimensional arrays are not supported ''{0}''.
> noOperation00=No operation name specified!
> noOperation01=Cannot find operation:  {0} - none defined
> noOperation02=Cannot find operation:  {0}
> noOption00=No ''{0}'' option was configured for the service ''{1}''
> 
> # NOTE:  in noParent00, do not translate "SOAPTypeMappingRegistry"
> noParent00=no SOAPTypeMappingRegistry parent
> 
> noPart00={0} not found as an input part OR an output part!
> noPivot00=No pivot handler ''{0}'' found!
> noPivot01=Can't deploy a Service with no provider (pivot)!
> 
> # NOTE:  in noPort00, do not translate "port"
> noPort00=Cannot find port:  {0}
> 
> # NOTE:  in noPortType00, do not translate "portType"
> noPortType00=Cannot find portType:  {0}
> 
> noPrefix00={0} did not find prefix:  {1}
> noPrincipal00=No principal!
> noProviderAttr00=No provider specified for service ''{0}''
> noProviderElem00=The required provider element is missing
> noRecorder00=No event recorder inside element
> 
> # NOTE:  in noRequest00, do not translate "MessageContext"
> noRequest00=No request message in MessageContext?
> 
> noRequest01=No request chain
> noResponse00=No response chain
> noResponse01=No response message!
> noRoles00=No roles specified for target service, allowing.
> noRoles01=No roles specified for target service, disallowing.
> noSerializer00=No serializer found for class {0} in registry {1}
> noSerializer01=Could not load serializer class {0}
> noService00=Cannot find service:  {0}
> noService01=No service has been defined
> noService02=This service is not available at this endpoint ({0}).
> noService03=No service/pivot
> noService04=No service object defined for this Call object.
> 
> #NOTE:  in noService04, do not translate "AXIS", "targetService"
> noService05=The AXIS engine could not find a target service to invoke!
>  targetService is {0}
> 
> noService06=No service is available at this URL
> 
> # NOTE:  in noSecurity00, do not translate "MessageContext"
> noSecurity00=No security provider in MessageContext!
> 
> # NOTE:  in noSOAPAction00, do not translate "HTTP", "SOAPAction"
> noSOAPAction00=No HTTP SOAPAction property in context
> 
> noTransport00=No client transport named ''{0}'' found!
> noTransport01=No transport mapping for protocol:  {0}
> noType00=No mapped schema type for {0}
> 
> # NOTE:  in noType01, do not translate "vector"
> noType01=No type attribute for vector!
> 
> noTypeAttr00=Must include type attribute for Handler deployment!
> 
> noTypeQName00=No type QName for mapping!
> 
> notAuth00=User ''{0}'' not authorized to ''{1}''
> notImplemented00={0} is not implemented!
> 
> noTypeOnGlobalConfig00=GlobalConfiguration does not allow the ''type''
> attribute!
> 
> # NOTE:  in noUnderstand00, do not translate "MustUnderstand"
> noUnderstand00=Did not understand "MustUnderstand" header(s)!
> 
> # NOTE:  in noValue00, do not translate "value", "RPCParam"
> noValue00=No value field for RPCParam to use?!? {0}
> 
> # NOTE:  in noWSDL00, do not translate "WSDL"
> noWSDL00=Could not generate WSDL!
> 
> null00={0} is null
> 
> # NOTE:  in nullCall00, do not translate "AdminClient" or "''call''"
> nullCall00=AdminClient did not initialize correctly: ''call'' is null!
> 
> # NOTE:  in nullEJBUser00, do not translate "EJBProvider"
> nullEJBUser00=Null user in EJBProvider
> 
> nullHandler00={0}:  Null handler;
> nullNamespaceURI=Null namespace URI specified.
> nullParent00=null parent!
> 
> nullProvider00=Null provider type passed to WSDDProvider!
> 
> nullResponse00=Null response message!
> oddDigits00=Odd number of digits in hex string
> ok00=OK
> 
> # NOTE:  in the only1Body00, do not translate "Body"
> only1Body00=Only one Body element allowed!
> 
> # NOTE:  in the only1Header00, do not translate "Header"
> only1Header00=Only one Header element allowed!
> 
> optionAll00=generate code for all elements, even unreferenced ones
> optionHelp00=print this message and exit
> 
> # NOTE:  in optionImport00, do not translate "WSDL"
> optionImport00=only generate code for the immediate WSDL document
> 
> # NOTE:  in optionMsgCtx00, do not translate "MessageContext"
> optionMsgCtx00=emit a MessageContext parameter to skeleton methods
> 
> # NOTE:  in optionFileNStoPkg00, do not translate "NStoPkg.properties"
> optionFileNStoPkg00=file of NStoPkg mappings (default
> NStoPkg.properties)
> 
> # NOTE:  in optionNStoPkg00, do not translate "namespace", "package"
> optionNStoPkg00=mapping of namespace to package
> 
> optionOutput00=output directory for emitted files
> optionPackage00=override all namespace to package mappings, use this
> package name instead
> optionTimeout00=timeout in seconds (default is 45, specify -1 to
> disable)
> options00=Options:
> 
> # NOTE:  in optionScope00, do not translate "Application", "Request",
> "Session"
> optionScope00=add scope to deploy.wsdd: "Application", "Request",
> "Session"
> 
> optionSkel00=emit server-side bindings for web service
> 
> # NOTE:  in optionTest00, do not translate "junit"
> optionTest00=emit junit testcase class for web service
> 
> optionVerbose00=print informational messages
> 
> outMsg00=Out message: {0}
> params00=Parameters are:  {0}
> parent00=parent
> 
> # NOTE: in parmMismatch00, do not translate "IN/INOUT",
> "addParameter()"
> parmMismatch00=Number of parameters passed in ({0}) doesn''t match the
> number of IN/INOUT parameters ({1}) from the addParameter() calls
> 
> # NOTE:  in parsing00, do not translate "XML"
> parsing00=Parsing XML file:  {0}
> 
> parseError00=Error in parsing:  {0}
> password00=Password:  {0}
> perhaps00=Perhaps there will be a form for invoking the service
> here...
> popHandler00=Popping handler {0}
> process00=Processing ''{0}''
> processFile00=Processing file {0}
> 
> # NOTE:  in pushHandler00, we are pushing a handler onto a stack
> pushHandler00=Pushing handler {0}
> quit00={0} quitting.
> quitRequest00=Administration service requested to quit, quitting.
> 
> # NOTE:  in reachedServer00, do not translate "SimpleAxisServer"
> reachedServer00=You have reached the SimpleAxisServer.
> unableToStartServer00=Unable to bind to port {0}. Did not start
> SimpleAxisServer.
> 
> # NOTE:  in reachedServlet00, do not translate "AXIS HTTP Servlet",
> "URL", "SOAP"
> reachedServlet00=Hi, you have reached the AXIS HTTP Servlet.  Normally
> you would be hitting this URL with a SOAP client rather than a
> browser.
> 
> readOnlyConfigFile=Configuration file read-only so engine
> configuration changes will not be saved.
> 
> register00=register ''{0}'' - ''{1}''
> registerTypeMap00=Registering type mapping {0} -> {1}
> registryAdd00=Registry {0} adding ''{1}'' ({2})
> result00=Got result:  {0}
> removeBody00=Removing body element from message...
> removeHeader00=Removing header from message...
> removeTrailer00=Removing trailer from message...
> return00={0} returning new instance of {1}
> return01=return code:  {0}\n{1}
> return02={0} returned:  {1}
> returnChain00={0} returning chain ''{1}''
> saveConfigFail00=Could not write engine config!
> 
> # NOTE:  in semanticCheck00, do not translate "SOAP"
> semanticCheck00=Doing SOAP semantic checks...
> 
> # NOTE:  in sendingXML00, do not translate "XML"
> sendingXML00={0} sending XML:
> 
> serializer00=Serializer class is {0}
> serverDisabled00=This Axis server is not currently accepting requests.
> 
> # NOTE:  in serverFault00, do not translate "HTTP"
> serverFault00=HTTP server fault
> 
> serverRun00=Server is running
> serverStop00=Server is stopped
> 
> servletEngineWebInfError00=Problem with servlet engine /WEB-INF
> directory
> servletEngineWebInfError01=Problem with servlet engine config file:
> {0}
> 
> setCurrMsg00=Setting current message form to: {0} (current message is
> now {1})
> setProp00=Setting {0} property in {1}
> 
> # NOTE:  in setupTunnel00, do not translate "SSL"
> setupTunnel00=Set up SSL tunnelling through {0}:{1}
> 
> setValueInTarget00=Set value {0} in target {1}
> somethingWrong00=Sorry, something seems to have gone wrong... here are
> the details:
> start00={0} starting up on port {1}.
> startElem00=Start element {0}
> startPrefix00=Start prefix mapping ''{0}'' -> ''{1}''
> stackFrame00=Stack frame marker
> test00=...
> test01=.{0}.
> test02={0}, {1}.
> test03=.{2}, {0}, {1}.
> test04=.{0} {1} {2} ... {3} {2} {4} {5}.
> timeout00=Session id {0} timed out.
> transport00=Transport is {0}
> transport01={0}:  Transport = ''{1}''
> 
> # NOTE:  in transportName00, do not translate "AXIS"
> transportName00=In case you are interested, my AXIS transport name
> appears to be ''{0}''
> 
> tryingLoad00=Trying to load class:  {0}
> 
> # NOTE:  in typeFromAttr00, do not translate "Type"
> typeFromAttr00=Type from attributes is:  {0}
> 
> # NOTE:  in typeFromParms00, do not translate "Type"
> typeFromParms00=Type from default parameters is:  {0}
> 
> # NOTE:  in typeNotSet00, do not translate "Part"
> typeNotSet00=Type attribute on Part ''{0}'' is not set
> 
> types00=Types:
> 
> # NOTE:  in typeSetNotAllowed00, do not translate "Type"
> typeSetNotAllowed00={0} disallows setting of Type
> unauth00=Unauthorized
> undeploy00=Undeploying {0}
> unexpectedDesc00=Unexpected {0} descriptor
> unexpectedEOS00=Unexpected end of stream
> unexpectedUnknown00=Unexpected unknown element
> unknownHost00=Unknown host - could not verify admininistrator access
> unknownType00=Unknown type:  {0}
> unknownType01=Unknown type to {0}
> 
> # NOTE: in unlikely00, do not translate "URL", "WSDL2Java"
> unlikely00=unlikely as URL was validated in WSDL2Java
> 
> unregistered00=Unregistered type:  {0}
> usage00=Usage:  {0}
> user00=User:  {0}
> usingServer00={0} using server {1}
> value00=value:  {0}
> warning00=Warning: {0}
> where00=Where {0} looks like:
> 
> # NOTE:  in withParent00, do not translate "SOAPTypeMappingRegistry"
> withParent00=SOAPTypeMappingRegistry with parent
> wsdlError00=Error processing WSDL document: {0} {1}
> 
> # NOTE:  in wsdlGenLine00, do not translate "WSDL"
> wsdlGenLine00=This file was auto-generated from WSDL
> 
> # NOTE:  in wsdlGenLine01, do not translate "Apache Axis WSDL2Java"
> wsdlGenLine01=by the Apache Axis WSDL2Java emitter.
> 
> wsdlMissing00=Missing WSDL document
> 
> # NOTE:  in wsdlService00, do not translate "WSDL service"
> wsdlService00=Services from {0} WSDL service
> 
> # NOTE:  in xml entries, do not translate "XML"
> xmlRecd00=XML received:
> xmlSent00=XML sent:
> 
> # NOTE:  in the deployXX entries, do not translate "<!--" and "-->".
>  These are comment indicators.  Adding or removing whitespace to make
> the comment indicators line up would be nice.  Also, do not translate
> the string "axis", or messages:  deploy03, deploy04, deploy07
> deploy08.  Those messages are included so that the spaces can be lined
> up by the translator.
> deploy00=<!-- Use this file to deploy some handlers/chains and
> services      -->
> deploy01=<!-- Use this file to undeploy some handlers/chains and
> services    -->
> deploy02=<!-- Two ways to do this:
>       -->
> deploy03=<!--   java org.apache.axis.client.AdminClient deploy.wsdd
>        -->
> deploy04=<!--   java org.apache.axis.client.AdminClient undeploy.wsdd
>        -->
> deploy05=<!--      after the axis server is running
>        -->
> deploy06=<!-- or
>       -->
> deploy07=<!--   java org.apache.axis.utils.Admin client|server
> deploy.wsdd   -->
> deploy08=<!--   java org.apache.axis.utils.Admin client|server
> undeploy.wsdd -->
> deploy09=<!--      from the same directory that the Axis engine runs
>       -->
> 
> alreadyExists00={0} already exists
> optionDebug00=print debug information
> symbolTable00=Symbol Table
> undefined00=Type {0} is referenced but not defined.
> 
> #NOTE: in cannotFindJNDIHome00, do not translate "EJB" or "JNDI"
> cannotFindJNDIHome00=Cannot find EJB at JNDI location {0}
> cannotCreateInitialContext00=Cannot create InitialContext
> undefinedloop00= The definition of {0} results in a loop.
> deserInitPutValueDebug00=Initial put of deserialized value= {0} for
> id= {1}
> deserPutValueDebug00=Put of deserialized value= {0} for id= {1}
> j2wemitter00=emitter
> j2wusage00=Usage: {0}
> j2woptions00=Options:
> j2wdetails00=Details:\n   portType element name= <--portTypeName
> value> OR <class-of-portType name>\n   binding  element name=
> <--bindingName value> OR <--servicePortName value>SoapBinding\n
> service  element name= <--serviceElementName value> OR <--portTypeName
> value>Service \n   port     element name= <--servicePortName value>\n
>   address location     = <--location value>
> j2wopthelp00=print this message and exit
> j2woptoutput00=output WSDL filename
> j2woptlocation00=service location url
> j2woptportTypeName00=portType name (obtained from class-of-portType if
> not specified)
> j2woptservicePortName00=service port name (obtained from --location if
> not specified)
> j2woptserviceElementName00=service element name (defaults to
> --servicePortName value + "Service")
> j2woptnamespace00=target namespace
> j2woptPkgtoNS00=package=namespace, name value pairs
> j2woptmethods00=space or comma separated list of methods to export
> j2woptall00=look for allowed methods in inherited class
> j2woptoutputWsdlMode00=output WSDL mode: All, Interface,
> Implementation
> j2woptlocationImport00=location of interface wsdl
> j2woptnamespaceImpl00=target namespace for implementation wsdl
> j2woptoutputImpl00=output Implementation WSDL filename, setting this
> causes --outputWsdlMode to be ignored
> j2woptfactory00=name of the Java2WSDLFactory class for extending WSDL
> generation functions
> j2woptimplClass00=optional class that contains implementation of
> methods in class-of-portType.  The debug information in the class is
> used to obtain the method parameter names, which are used to set the
> WSDL part names.
> j2werror00=Error: {0}
> j2wmodeerror=Error Unrecognized Mode: {0} Use All, Interface or
> Implementation. Continuing with All.
> j2woptexclude00=space or comma separated list of methods not to export
> j2woptstopClass00=space or comma separated list of class names which
> will stop inheritance search if --all switch is given
> 
> # NOTE:  in optionSkeletonDeploy00, do not translate "--server-side".
> optionSkeletonDeploy00=deploy skeleton (true) or implementation
> (false) in deploy.wsdd.  Default is false.  Assumes --server-side.
> 
> j2wMissingLocation00=The -l <location> option must be specified if the
> full wsdl or the implementation wsdl is requested.
> invalidSolResp00={0} is a solicit-response style operation and is
> unsupported.
> invalidNotif00={0} is a notification style operation and is
> unsupported.
> 
> multipleBindings00=Warning: Multiple bindings use the same portType:
> {0}.  Only one interface is currently generated, which may not be what
> you want.
> triedArgs00={0} on object "{1}", method name "{2}", tried argument
> types:  {3}
> triedClass00=tried class:  {0}, method name:  {1}.
> 
> #############################################################################
> # DO NOT TOUCH THESE PROPERTIES - THEY ARE AUTOMATICALLY UPDATED BY
> THE BUILD
> # PROCESS.
> axisVersion=Apache Axis version: #axisVersion#
> builtOn=Built on #today#
> #############################################################################
> 
> badProp00=Bad property.  The value for {0} should be of type {1}, but
> it is of type {2}.
> badProp01=Bad property.  {0} should be {1}; but it is {2}.
> badProp02=Cannot set {0} property when {1} property is not {2}.
> badProp03=Null property name specified.
> badProp04=Null property value specified.
> badProp05=Property name {0} not supported.
> badGetter00=Null getter method specified.
> badAccessor00=Null accessor method specified.
> badSetter00=Null setter method specified.
> badModifier00=Null modifier method specified.
> badField00=Null public instance field specified.
> 
> badJavaType=Null java class specified.
> badXmlType=Null qualified name specified.
> badSerFac=Null serializer factory specified.
> badDeserFac=Null deserializer factory specified.
> 
> literalTypePart00=Error: Message part {0} of operation or fault {1} is
> specified as a type and the soap:body use of binding "{2}" is literal.
>  This WSDL is not currently supported.
> BadServiceName00=Error: Empty or missing service name
> AttrNotSimpleType00=Bean attribute {0} is of type {1}, which is not a
> simple type
> AttrNotSimpleType01=Error: attribute is of type {0}, which is not a
> simple type
> NoSerializer00=Unable to find serializer for type {0}
> 
> NoJAXRPCHandler00=Unable to create handler of type {0}
> 
> optionTypeMapping00=indicate 1.1 or 1.2.  The default is 1.1 (SOAP 1.1
> JAX-RPC compliant.  1.2 indicates SOAP 1.1 encoded.)
> badTypeMappingOption00=The -typeMappingVersion argument must be 1.1 or
> 1.2
> j2wopttypeMapping00=indicate 1.1 or 1.2.  The default is 1.1 (SOAP 1.1
> JAX-RPC compliant  1.2 indicates SOAP 1.1 encoded.)
> j2wBadTypeMapping00=The -typeMappingVersion argument must be 1.1 or
> 1.2
> 
> nodisk00=No disk access, using memory only.
> 
> noFactory00=!! No Factory for {0}
> noTransport02=Couldn't find transport {0}
> 
> noCompiler00=No compiler found in your classpath!  (you may need to
> add 'tools.jar')
> compilerFail00=Please ensure that you have your JDK's rt.jar listed in
> your classpath. Jikes needs it to operate.
> 
> nullFieldDesc=Null FieldDesc specified
> exception00=Exception:
> exception01=Exception: {0}
> axisConfigurationException00=ConfigurationException:
> parserConfigurationException00=ParserConfigurationException:
> SAXException00=SAXException:
> javaNetUnknownHostException00=java.net.UnknownHostException:
> javaxMailMessagingException00=javax.mail.MessagingException:
> javaIOException00=java.io.IOException:
> javaIOException01=java.io.IOException: {0}
> illegalAccessException00=IllegalAccessException:
> illegalArgumentException00=IllegalArgumentException:
> illegalArgumentException01=IllegalArgumentException: {0}
> invocationTargetException00=InvocationTargetException:
> instantiationException00=InstantiationException:
> malformedURLException00=MalformedURLException:
> axisFault00=AxisFault:
> axisFault01=AxisFault: {0}
> toAxisFault00=Mapping Exception to AxisFault
> toAxisFault01=Mapping Exception to AxisFault: {0}
> 
> # NOTE:  in badSkeleton00, do not translate "--skeletonDeploy" and
> "--server-side".
> badSkeleton00=Error:  --skeletonDeploy cannot be specified without
> --server-side.
> badStyle=Bad string for style value - was ''{0}'', should be ''rpc'',
> ''document'', or ''wrapped''.
> onlyOneMapping=Only a single <elementMapping> is allowed per-operation
> at present.
> 
> timedOut=WSDL2Java emitter timed out (this often means the WSDL at the
> specified URL is inaccessible)!
> valuePresent=MessageElement.addChild called when an object value is
> present
> xmlPresent=MessageElement.setObjectValue called on an instance which
> was constructed using XML
> attachEnabled=Attachment support is enabled?
> noEndpoint=No endpoint
> headerNotNull=Header may not be null!
> headerNotEmpty=Header may not be empty!
> headerValueNotNull=Header value may not be null!
> setMsgForm=Setting current message form to: {0} (currentMessage is now
> {1})
> exitCurrMsg=Exit:  {0}, current message is {1}
> currForm=current form is {0}
> unsupportedAttach=Unsupported attachment type "{0}" only supporting
> "{1}".
> 
> # NOTE:  in onlySOAPParts, do not translate "SOAPPart".
> onlySOAPParts=This attachment implementation accepts only SOAPPart
> objects as the root part.
> 
> gotNullPart=AttachmentUtils.getActiviationDataHandler received a null
> parameter as a part.
> streamNo=New boundary stream number:  {0}
> streamClosed=Stream closed.
> eosBeforeMarker=End of stream encountered before final boundary
> marker.
> atEOS=Boundary stream number {0} is at end of stream
> readBStream="Read {0} from BoundaryDelimitedStream:  {1} "{2}"
> bStreamClosed=Boundary stream number {0} is closed
> 
> # NOTE:  in badMaxCache, do not translate "maxCached".
> badMaxCached=maxCached value is bad:  {0}
> 
> maxCached=ManagedMemoryDataSource.flushToDisk maximum cached {0},
> total memory {1}.
> diskCache=Disk cache file name "{0}".
> resourceDeleted=Resource has been deleted.
> noResetMark=Reset and mark not supported!
> nullInput=input buffer is null
> negOffset=Offset is negative:  {0}
> length=Length:  {0}
> writeBeyond=Write beyond buffer
> reading=reading {0} bytes from disk
> 
> # NOTE: do not translate openBread
> openBread=open bread = {0}
> 
> flushing=flushing
> read=read {0} bytes
> readError=Error reading data stream:  {0}
> noFile=File for data handler does not exist:  {0}
> mimeErrorNoBoundary=Error in MIME data stream, start boundary not
> found, expected:  {0}
> mimeErrorParsing=Error in parsing mime data stream:  {0}
> noRoot=Root part containing SOAP envelope not found.  contentId = {0}
> noAttachments=No support for attachments
> noContent=No content
> targetService=Target service:  {0}
> exceptionPrinting=Exception caught while printing request message
> noConfigFile=No engine configuration file - aborting!
> noTypeSetting={0} disallows setting of Type
> noSubElements=The element "{0}" is an attachment with sub elements
> which is not supported.
> 
> # NOTE:  in defaultCompiler, do not translate "javac"
> defaultCompiler=Using default javac compiler
> noModernCompiler=Javac connector could not find modern compiler --
> falling back to classic.
> compilerClass=Javac compiler class:  {0}
> noMoreTokens=no more tokens - could not parse error message:  {0}
> cantParse=could not parse error message:  {0}
> 
> noParmAndRetReq=Parameter or return type inferred from WSDL and may
> not be updated.
> 
> # NOTE:  in sunJavac, do not translate "Sun Javac"
> sunJavac=Sun Javac Compiler
> 
> # NOTE:  in ibmJikes, do not translate "IBM Jikes"
> ibmJikes=IBM Jikes Compiler
> 
> typeMeta=Type metadata
> returnTypeMeta=Return type metadata object
> needStringCtor=Simple Types must have a String constructor
> needToString=Simple Types must have a toString for serializing the
> value
> typeMap00=All the type mapping information is registered
> typeMap01=when the first call is made.
> typeMap02=The type mapping information is actually registered in
> typeMap03=the TypeMappingRegistry of the service, which
> typeMap04=is the reason why registration is only needed for the first
> call.
> mustSetStyle=must set encoding style before registering serializers
> 
> # NOTE:  in mustSpecifyReturnType and mustSpecifyParms, do not
> translate "addParameter()" and "setReturnType()"
> mustSpecifyReturnType=No returnType was specified to the Call object!
>  You must call setReturnType() if you have called addParameter().
> mustSpecifyParms=No parameters specified to the Call object!  You must
> call addParameter() for all parameters if you have called
> setReturnType().
> noElemOrType=Error: Message part {0} of operation {1} should have
> either an element or a type attribute
> badTypeNode=Error: Missing type resolution for element {2}, in WSDL
> message part {0} of operation {1}
> 
> # NOTE:  in noUse, do no translate "soap:operation", "binding
> operation", "use".
> noUse=The soap:operation for binding operation {0} must have a "use"
> attribute.
> 
> fixedTypeMapping=Default type mapping cannot be modified.
> delegatedTypeMapping=Type mapping cannot be modified via delegate.
> badTypeMapping=Invalid TypeMapping specified: wrong type or null.
> defaultTypeMappingSet=Default type mapping from secondary type mapping
> registry is already in use.
> getPortDoc00=For the given interface, get the stub implementation.
> getPortDoc01=If this service has no port for the given interface,
> getPortDoc02=then ServiceException is thrown.
> getPortDoc03=This service has multiple ports for a given interface;
> getPortDoc04=the proxy implementation returned may be indeterminate.
> noStub=There is no stub implementation for the interface:
> CantGetSerializer=unable to get serializer for class {0}
> 
> noVector00={0}:  {1} is not a vector
> 
> optionFactory00=name of the JavaWriterFactory class for extending Java
> generation functions
> optionHelper00=emits separate Helper classes for meta data
> 
> badParameterMode=Invalid parameter mode byte ({0}) passed to
> getModeAsString().
> 
> attach.bounday.mns=Marking streams not supported.
> noSuchOperation=No such operation ''{0}''
> 
> optionUsername=username to access the WSDL-URI
> optionPassword=password to access the WSDL-URI
> cantGetDoc00=Unable to retrieve WSDL document: {0}
> implAlreadySet=Attempt to set implementation class on a ServiceDesc
> which has already been configured
> 
> cantCreateBean00=Unable to create JavaBean of type {0}.  Missing
> default constructor?  Error was: {1}.
> faultDuringCleanup=AxisEngine faulted during cleanup!
> 
> j2woptsoapAction00=value of the operation's soapAction field. Values
> are DEFAULT, OPERATION or NONE. OPERATION forces soapAction to the
> name of the operation.  DEFAULT causes the soapAction to be set
> according to the operation's meta data (usually "").  NONE forces the
> soapAction to "".  The default is DEFAULT.
> j2wBadSoapAction00=The value of --soapAction must be DEFAULT, NONE or
> OPERATION.
> dispatchIAE00=Tried to invoke method {0} with arguments {1}.  The
> arguments do not match the signature.
> 
> ftsf00=Creating trusting socket factory
> ftsf01=Exception creating factory
> ftsf02=SSL setup failed
> ftsf03=isClientTrusted: yes
> ftsf04=isServerTrusted: yes
> ftsf05=getAcceptedIssuers: none
> 
> generating=Generating {0}
> 
> j2woptStyle00=The style of binding in the WSDL.  Values are DOCUMENT
> or LITERAL.
> j2woptBadStyle00=The value of --style must be DOCUMENT or LITERAL.
> 
> noClassForService00=Could not find class for the service named:
> {0}\nHint: you may need to copy your class files/tree into the right
> location (which depends on the servlet system you are using).
> j2wDuplicateClass00=The <class-of-portType> has already been specified
> as, {0}.  It cannot be specified again as {1}.
> j2wMissingClass00=The <class-of-portType> was not specified.
> w2jDuplicateWSDLURI00=The wsdl URI has already been specified as, {0}.
>  It cannot be specified again as {1}.
> w2jMissingWSDLURI00=The wsdl URI was not specified.
> 
> badEnum02=Unrecognized {0}: ''{1}''
> badEnum03=Unrecognized {0}: ''{1}'', defaulting to ''{2}''
> beanCompatType00=The class {0} is not a bean class and cannot be
> converted into an xml schema type.  An xml schema anyType will be used
> to define this class in the wsdl file.
> beanCompatPkg00=The class {0} is defined in a java or javax package
> and cannot be converted into an xml schema type.  An xml schema
> anyType will be used to define this class in the wsdl file.
> beanCompatConstructor00=The class {0} does not contain a default
> constructor, which is a requirement for a bean class.  The class
> cannot be converted into an xml schema type.  An xml schema anyType
> will be used to define this class in the wsdl file.
> 
> unsupportedSchemaType00=The XML Schema type ''{0}'' is not currently
> supported.
> optionNoWrap00=turn off support for "wrapped" document/literal
> noTypeOrElement00=Error: Message part {0} of operation or fault {1}
> has no element or type attribute.
> 
> msgContentLengthHTTPerr=Message content length {0} exceeds servlet
> return capacity.
> badattachmenttypeerr=The value of {0} for attachment format must be
> {1};
> attach.dimetypeexceedsmax=DIME Type length is {0} which exceeds
> maximum {0}
> attach.dimelengthexceedsmax=DIME ID length is {0} which exceeds
> maximum {1}.
> attach.dimeMaxChunkSize0=Max chunk size \"{0}\" needs to be greater
> than one.
> attach.dimeMaxChunkSize1=Max chunk size \"{0}\" exceeds 32 bits.
> attach.dimeReadFullyError=Each DIME Stream must be read fully or
> closed in succession.
> attach.dimeNotPaddedCorrectly=DIME stream data not padded correctly.
> attach.readLengthError=Received \"{0}\" bytes to read.
> attach.readOffsetError=Received \"{0}\" as an offset.
> attach.readArrayNullError=Array to read is null
> attach.readArrayNullError=Array to read is null
> attach.readArraySizeError=Array size of {0} to read {1} at offset {2}
> is too small.
> attach.DimeStreamError0=End of physical stream detected when more DIME
> chunks expected.
> attach.DimeStreamError1=End of physical stream detected when {0} more
> bytes expected.
> attach.DimeStreamError2=There are no more DIME chunks expected!
> attach.DimeStreamError3=DIME header less than {0} bytes.
> attach.DimeStreamError4=DIME version received \"{0}\" greater than
> current supported version \"{1}\".
> attach.DimeStreamError5=DIME option length \"{0}\" is greater stream
> length.
> attach.DimeStreamError6=DIME typelength length \"{0}\" is greater
> stream length.
> attach.DimeStreamError7=DIME stream closed during options padding.
> attach.DimeStreamError8=DIME stream closed getting ID length.
> attach.DimeStreamError9=DIME stream closed getting ID padding.
> attach.DimeStreamError10=DIME stream closed getting type.
> attach.DimeStreamError11=DIME stream closed getting type padding.
> attach.DimeStreamBadType=DIME stream received bad type \"{0}\".
> 
> badOutParameter00=A holder could not be found or constructed for the
> OUT parameter {0} of method {1}.
> setJavaTypeErr00=Illegal argument passed to ParameterDesc.setJavaType.
>  The java type {0} does not match the mode {1}
> badNormalizedString00=Invalid normalizedString value
> badToken00=Invalid token value
> badPropertyDesc00=Internal Error occurred while build the property
> descriptors for {0}
> j2woptinput00=input WSDL filename
> j2woptbindingName00=binding name (--servicePortName value +
> "SOAPBinding" if not specified)
> writeSchemaProblem00=Problems encountered trying to write schema for
> {0}
> badClassFile00=Error looking for paramter names in bytecode: input
> does not appear to be a valid class file
> unexpectedEOF00=Error looking for paramter names in bytecode:
> unexpected end of file
> unexpectedBytes00=Error looking for paramter names in bytecode:
> unexpected bytes in file
> beanCompatExtends00=The class {0} extends non-bean class {1}.  An xml
> schema anyType will be used to define {0} in the wsdl file.
> wrongNamespace00=The XML Schema type ''{0}'' is not valid in the
> Schema version ''{1}''.
> 
> onlyOneBodyFor12=Only one body allowed for SOAP 1.2 RPC
> differentTypes00=Error: The input and output parameter have the same
> name, ''{0}'', but are defined with type ''{1}'' and also with type
> ''{2}''.
> 
> badMsgMethodParam=Message service must take either a single Vector or
> a Document - method {0} takes a single {1}
> msgMethodMustHaveOneParam=Message service methods must take a single
> parameter.  Method {0} takes {1}
> needMessageContextArg=Full-message message service must take a single
> MessageContext argument.  Method {0} takes a single {1}
> onlyOneMessageOp=Message services may only have one operation -
> service ''{0}'' has {1}
> 
> # NOTE:  in wontOverwrite, do no translate "WSDL2Java".
> wontOverwrite={0} already exists, WSDL2Java will not overwrite it.
> 
> badYearMonth00=Invalid gYearMonth
> badYear00=Invalid gYear
> badMonth00=Invalid gMonth
> badDay00=Invalid gDay
> badMonthDay00=Invalid gMonthDay
> badDuration=Invalid duration: must contain a P
> 
> # NOTE:  in noDataHandler, do not translate DataHandler.
> noDataHandler=Could not create a DataHandler for {0}, returning {1}
> instead.
> needSimpleValueSer=Serializer class {0} does not implement
> SimpleValueSerializer, which is necessary for attributes.
> 
> # NOTE:  in needImageIO, do not translate "JIMI", "java.awt.Image",
> "http://java.sun.com/products/jimi/"
> needImageIO=JIMI is necessary to use java.awt.Image attachments
> (http://java.sun.com/products/jimi/).
> 
> imageEnabled=Image attachment support is enabled?
> 
> wsddServiceName00=The WSDD service name defaults to the port name.
> 
> badSource=javax.xml.transform.Source implementation not supported:
>  {0}.
> rpcProviderOperAssert00=The OperationDesc for {0} was not found in the
> ServiceDesc.
> serviceDescOperSync00=The OperationDesc for {0} was not syncronized to
> a method of {1}.
> 
> noServiceClass=No service class was found!  Are you missing a
> className option?
> jpegOnly=Cannot handle {0}, can only handle JPEG image types.
> 
> engineFactory=Got EngineFactory: {0}
> engineConfigMissingNewFactory=Factory {0} Ignored: missing required
> method: {1}.
> engineConfigInvokeNewFactory=Factory {0} Ignored: invoke method
> failed: {1}.
> engineConfigFactoryMissing=Unable to locate a valid
> EngineConfigurationFactory
> 
> noClassNameAttr00=classname attribute is missing.
> noValidHeader=qname attribute is missing.
> 
> cannotConnectError=Error: Cannot connect
> 
> <!--
> ===================================================================
> This is an accessory function to echo out fileNames
> ===================================================================
> -->
> <target name="echo-file">
> <basename property="fileName" file="${file}"/>
> <dirname property="dirName" file="${file}"/>
> <echo message="Dir: ${dirName} File: ${fileName}"/>
> </target>
> 
> <!--
> ===================================================================
> This is an accessory function to compile some given component
> ===================================================================
> -->
> <target name="component-compile">
> <echo message="${file}"/>
> <ant antfile="${file}" target="compile"/>
> </target>
> 
> <!--
> ===================================================================
> This is an accessory function to exec JUST the testcase of a
> component.
> ===================================================================
> -->
> <target name="batch-component-test">
> <antcall target="echo-file"/>
> <ant antfile="${file}" target="component-junit-functional" />
> </target>
> 
> <!--
> ===================================================================
> This is an accessory function to execs the full component test
> ===================================================================
> -->
> <target name="batch-component-run">
> <antcall target="echo-file"/>
> <ant antfile="${file}" target="run" />
> </target>
> 
> <!--
> ===================================================================
> -->
> <!-- Determine what dependencies are present
>   -->
> <!--
> ===================================================================
> -->
> 
> <target name="setenv">
> 
> <condition property="ant.good">
> <and>
> <contains string="${ant.version}" substring="Apache Ant version"/>
> </and>
> </condition>
> 
> <mkdir dir="${build.dir}"/>
> <mkdir dir="${build.dest}"/>
> <mkdir dir="${build.lib}"/>
> <mkdir dir="${build.dir}/work"/>
> 
> <available property="servlet.present"
> classname="javax.servlet.Servlet"
> classpathref="classpath"/>
> 
> <available property="regexp.present"
> classname="org.apache.oro.text.regex.Pattern"
> classpathref="classpath"/>
> 
> <available property="junit.present"
> classname="junit.framework.TestCase"
> classpathref="classpath"/>
> 
> <available property="wsdl4j.present"
> classname="javax.wsdl.Definition"
> classpathref="classpath"/>
> 
> <available property="commons-logging.present"
> classname="org.apache.commons.logging.Log"
> classpathref="classpath"/>
> 
> <available property="commons-discovery.present"
> classname="org.apache.commons.discovery.DiscoverSingleton"
> classpathref="classpath"/>
> 
> <available property="commons-httpclient.present"
> classname="org.apache.commons.httpclient.HttpConnection"
> classpathref="classpath"/>
> 
> <available property="log4j.present"
> classname="org.apache.log4j.Category"
> classpathref="classpath"/>
> 
> <available property="activation.present"
> classname="javax.activation.DataHandler"
> classpathref="classpath"/>
> 
> <available property="security.present"
> classname="org.apache.xml.security.Init"
> classpathref="classpath"/>
> 
> <available property="mailapi.present"
> classname="javax.mail.internet.MimeMessage"
> classpathref="classpath"/>
> 
> <condition property="jsse.present" >
> <and>
> <available classname="com.sun.net.ssl.X509TrustManager"
> classpathref="classpath" />
> <available classname="javax.net.SocketFactory"
> classpathref="classpath" />
> </and>
> </condition>
> 
> <condition property="attachments.present" >
> <and>
> <available classname="javax.activation.DataHandler"
> classpathref="classpath" />
> <available classname="javax.mail.internet.MimeMessage"
> classpathref="classpath" />
> </and>
> </condition>
> 
> <condition property="jimi.present" >
> <available classname="com.sun.jimi.core.Jimi" classpathref="classpath"
> />
> </condition>
> 
> <condition property="merlinio.present" >
> <available classname="javax.imageio.ImageIO" classpathref="classpath"
> />
> </condition>
> 
> <condition property="axis-ant.present" >
> <available classname="tools.ant.foreach.ForeachTask"
> classpathref="classpath" />
> </condition>
> 
> <condition property="jimiAndAttachments.present">
> <and>
> <available classname="javax.activation.DataHandler"
> classpathref="classpath" />
> <available classname="javax.mail.internet.MimeMessage"
> classpathref="classpath" />
> <available classname="com.sun.jimi.core.Jimi" classpathref="classpath"
> />
> </and>
> </condition>
> 
> <condition property="jms.present" >
> <available classname="javax.jms.Message" classpathref="classpath" />
> </condition>
> 
> <available property="post-compile.present" file="post-compile.xml" />
> 
> <property environment="env"/>
> <condition property="debug" value="on">
> <and>
> <equals arg1="on" arg2="${env.debug}"/>
> </and>
> </condition>
> 
> </target>
> 
> <target name="printEnv" depends="setenv" >
> 
> <echo
> message="-----------------------------------------------------------------"/>
> <echo message="       Build environment for ${Name} ${axis.version}
> [${year}]   "/>
> <echo
> message="-----------------------------------------------------------------"/>
> <echo message="Building with ${ant.version}"/>
> <echo message="using build file ${ant.file}"/>
> <echo message="Java ${java.version} located at ${java.home} "/>
> <echo
> message="-----------------------------------------------------------------"/>
> 
> <echo message="--- Flags (Note: If the {property name} is displayed,
> "/>
> <echo message="           then the component is not present)" />
> <echo message=""/>
> 
> <echo message="build.dir = ${build.dir}"/>
> <echo message="build.dest = ${build.dest}"/>
> <echo message=""/>
> <echo message="=== Required Libraries ===" />
> <echo message="wsdl4j.present=${wsdl4j.present}" />
> <echo message="commons-logging.present=${commons-logging.present}" />
> <echo message="commons-discovery.present=${commons-discovery.present}"
> />
> <echo message="log4j.present=${log4j.present}" />
> <echo message="activation.present=${activation.present}" />
> <echo message=""/>
> <echo message="--- Optional Libraries ---" />
> <echo message="servlet.present=${servlet.present}" />
> <echo message="regexp.present=${regexp.present}" />
> <echo message="junit.present=${junit.present}" />
> <echo message="mailapi.present=${mailapi.present}" />
> <echo message="attachments.present=${attachments.present}" />
> <echo message="jimi.present=${jimi.present}" />
> <echo message="security.present=${security.present}" />
> <echo message="jsse.present=${jsse.present}" />
> <echo
> message="commons-httpclient.present=${commons-httpclient.present}" />
> <echo message="axis-ant.present=${axis-ant.present}" />
> <echo message="jms.present=${jms.present}" />
> <echo message=""/>
> <echo message="--- Property values ---" />
> <echo message="debug=${debug}" />
> <echo message="deprecation=${deprecation}" />
> <!-- Set environment variable axis_nojavadocs=true  to never generate
> javadocs. Case sensative! -->
> <echo message="axis_nojavadocs=${env.axis_nojavadocs}"/>
> 
> <echo message="" />
> <echo message="-- Test Environment for AXIS ---"/>
> <echo message="" />
> <echo message="test.functional.remote = ${test.functional.remote}" />
> <echo message="test.functional.local = ${test.functional.local}" />
> <echo message="test.functional.both = ${test.functional.both}" />
> <echo message="test.functional.reportdir =
> ${test.functional.reportdir}" />
> <echo message="test.functional.SimpleAxisPort =
> ${test.functional.SimpleAxisPort}" />
> <echo message="test.functional.TCPListenerPort =
> ${test.functional.TCPListenerPort}" />
> <echo message="test.functional.fail = ${test.functional.fail}" />
> <echo message="" />
> 
> <uptodate property="javadoc.notoutofdate"
> targetfile="${build.javadocs}/index.html">
> <srcfiles dir="${src.dir}" includes="**/*.java" />
> </uptodate>
> 
> <condition property="axis_nojavadocs" value="true">
> <equals arg1="true" arg2="${env.axis_nojavadocs}"/>
> </condition>
> <condition property="axis_nojavadocs" value="false">
> <equals arg1="${axis_nojavadocs}" arg2="$${axis_nojavadocs}"/>
> </condition>
> 
> <condition property="javadoc.notrequired" value="true">
> <or>
> <equals arg1="${javadoc.notoutofdate}" arg2="true"/>
> <equals arg1="true" arg2="${axis_nojavadocs}"/>
> </or>
> </condition>
> 
> </target>
> 
> <!--
> ===================================================================
> -->
> <!-- Launches the functional test TCP server -->
> <!--
> ===================================================================
> -->
> <target name="start-functional-test-tcp-server" if="junit.present">
> <echo message="Starting test tcp server."/>
> <java classname="samples.transport.tcp.TCPListener" fork="yes"
> dir="${axis.home}/build">
> <arg line="-p ${test.functional.TCPListenerPort}" /> <!-- arbitrary
> port -->
> <classpath refid="classpath" />
> </java>
> </target>
> 
> <!--
> ===================================================================
> -->
> <!-- Launches the functional test HTTP server -->
> <!--
> ===================================================================
> -->
> <target name="start-functional-test-http-server" if="junit.present">
> <echo message="Starting test http server."/>
> <java classname="org.apache.axis.transport.http.SimpleAxisServer"
> fork="yes" dir="${axis.home}/build">
> <!-- Uncomment this to use Jikes instead of Javac for compiling JWS
> Files
> <jvmarg
> value="-Daxis.Compiler=org.apache.axis.components.compiler.Jikes"/>
> -->
> <jvmarg
> value="-Daxis.wsdlgen.intfnamespace=http://localhost:${test.functional.ServicePort}"/>
> <jvmarg
> value="-Daxis.wsdlgen.serv.loc.url=http://localhost:${test.functional.ServicePort}"/>
> <arg line="-p ${test.functional.SimpleAxisPort}" />  <!-- arbitrary
> port -->
> <classpath refid="classpath" />
> </java>
> 
> </target>
> 
> <!--
> ===================================================================
> -->
> <!-- Stops the functional test HTTP server -->
> <!--
> ===================================================================
> -->
> <target name="stop-functional-test-http-server" if="junit.present"
> depends="stop-signature-signing-and-verification">
> <echo message="Stopping test http server."/>
> <java classname="org.apache.axis.client.AdminClient" fork="yes">
> <classpath refid="classpath" />
> <arg line="quit"/>
> </java>
> </target>
> 
> <!--
> ===================================================================
> -->
> <!-- Stops the functional test HTTP server when testing digital
> signature -->
> <!--
> ===================================================================
> -->
> <target name="stop-functional-test-http-server-secure"
> if="junit.present" depends="stop-signature-signing-and-verification">
> <echo message="Stopping test http server."/>
> <java classname="org.apache.axis.client.AdminClient" fork="yes">
> <classpath refid="classpath" />
> <arg line="quit"/>
> </java>
> </target>
> 
> <!--
> ===================================================================
> -->
> <!-- Start Signature Signing and Verification -->
> <!--
> ===================================================================
> -->
> <target name="start-signature-signing-and-verification"
> if="security.present">
> <!-- Enable transparent Signing of SOAP Messages sent
> from the client and Server-side Signature Verification.
> -->
> <java classname="org.apache.axis.client.AdminClient" fork="yes">
> <classpath refid="classpath" />
> <arg line="samples/security/serversecuritydeploy.wsdd"/>
> </java>
> <java classname="org.apache.axis.utils.Admin" fork="yes">
> <classpath refid="classpath" />
> <arg value="client"/>
> <arg value="samples/security/clientsecuritydeploy.wsdd"/>
> </java>
> </target>
> 
> <!--
> ===================================================================
> -->
> <!-- Stop Signature Signing and Verification -->
> <!--
> ===================================================================
> -->
> <target name="stop-signature-signing-and-verification"
> if="security.present">
> <!-- Disable transparent Signing of SOAP Messages sent
> from the client and Server-side Signature Verification.
> -->
> <java classname="org.apache.axis.client.AdminClient" fork="yes">
> <classpath refid="classpath" />
> <arg line="samples/security/serversecurityundeploy.wsdd"/>
> </java>
> <java classname="org.apache.axis.utils.Admin" fork="yes">
> <classpath refid="classpath" />
> <arg value="client"/>
> <arg value="samples/security/clientsecurityundeploy.wsdd"/>
> </java>
> 
> </target>
> 
> <!--
> ===================================================================
> -->
> <!-- Prepares the JUnit functional test -->
> <!--
> ===================================================================
> -->
> <target name="component-junit-functional-prepare" if="junit.present">
> 
> <!-- first, put the JWS where the functional test can see it -->
> <mkdir dir="${axis.home}/build/jws" />
> <copy file="${axis.home}/samples/stock/StockQuoteService.jws"
> todir="${axis.home}/build/jws" />
> <copy file="${axis.home}/test/functional/AltStockQuoteService.jws"
> todir="${axis.home}/build/jws" />
> <copy file="${axis.home}/test/functional/GlobalTypeTest.jws"
> todir="${axis.home}/build/jws"/>
> 
> <path id="deploy.xml.files">
> <fileset dir="${build.dir}">
> <include name="work/${componentName}/**/deploy.wsdd"/>
> <include name="${extraServices}/deploy.wsdd" />
> </fileset>
> </path>
> 
> <path id="undeploy.xml.files">
> <fileset dir="${build.dir}">
> <include name="work/${componentName}/**/undeploy.wsdd"/>
> <include name="${extraServices}/undeploy.wsdd" />
> </fileset>
> </path>
> 
> <property name="deploy.xml.property" refid="deploy.xml.files"/>
> <property name="undeploy.xml.property" refid="undeploy.xml.files"/>
> </target>
> 
> <target name="component-test-run" if="junit.present"
> depends="start-signature-signing-and-verification">
> <echo message="Execing ${componentName} Test"/>
> <antcall target="component-junit-functional"/>
> </target>
> 
> <target name="component-junit-functional" if="junit.present"
> depends="component-junit-functional-prepare">
> <java classname="org.apache.axis.client.AdminClient" fork="yes">
> <classpath refid="classpath" />
> <arg line="${deploy.xml.property}"/>
> </java>
> 
> <junit dir="${axis.home}" printsummary="yes"
> haltonfailure="${test.functional.fail}" fork="yes">
> <classpath refid="classpath" />
> <formatter type="xml" usefile="${test.functional.usefile}"/>
> <batchtest todir="${test.functional.reportdir}">
> <fileset dir="${build.dest}">
> <include name="${componentName}/*TestCase.class" />
> <include name="${componentName}/**/*TestCase.class" />
> <include name="${componentName}/**/PackageTests.class" />
> <!-- <include name="${componentName}/**/test/*TestSuite.class"/> -->
> </fileset>
> </batchtest>
> </junit>
> 
> <java classname="org.apache.axis.client.AdminClient" fork="yes">
> <classpath refid="classpath" />
> <arg line="${undeploy.xml.property}"/>
> </java>
> 
> </target>
> 
> <target name="execute-Component"  depends="transport-layer" >
> <runaxisfunctionaltests
> url="http://localhost:${test.functional.TCPListenerPort}"
> startTarget1="start-functional-test-tcp-server"
> startTarget2="start-functional-test-http-server"
> testTarget="component-test-run"
> stopTarget="stop-functional-test-http-server" />
> </target>
> 
> <target name="transport-layer" depends="setenv" >
> <mkdir dir="${test.functional.reportdir}" />
> <ant antfile="${axis.home}/samples/transport/build.xml"
> target="compile" />
> </target>
> 
> cvs diff (in directory D:\projects\axis\xml-axis\)
> ? java/samples/jms
> ? java/src/org/apache/axis/transport/jms
> cvs server: Diffing .
> cvs server: Diffing contrib
> cvs server: Diffing contrib/Axis-C++
> cvs server: Diffing contrib/Axis-C++/Axis_Release
> cvs server: Diffing contrib/Axis-C++/Linux
> cvs server: Diffing contrib/Axis-C++/Linux/KDev
> cvs server: Diffing contrib/Axis-C++/Linux/KDev/axis
> cvs server: Diffing contrib/Axis-C++/Linux/KDev/axis/axtest
> cvs server: Diffing contrib/Axis-C++/TestHarnesses
> cvs server: Diffing contrib/Axis-C++/Win32
> cvs server: Diffing contrib/Axis-C++/Win32/Axis_Release
> cvs server: Diffing contrib/Axis-C++/Win32/Calculator
> cvs server: Diffing contrib/Axis-C++/Win32/Fault
> cvs server: Diffing contrib/Axis-C++/Win32/TestHarness
> cvs server: Diffing contrib/Axis-C++/Win32/UserType
> cvs server: Diffing contrib/Axis-C++/Win32/axis-dll-not-finish
> cvs server: Diffing contrib/Axis-C++/docs
> cvs server: Diffing contrib/Axis-C++/docs/ApiDocs
> cvs server: Diffing contrib/Axis-C++/doxygen
> cvs server: Diffing contrib/Axis-C++/lib
> cvs server: Diffing contrib/Axis-C++/lib/AIX_4.3
> cvs server: Diffing contrib/Axis-C++/lib/Linux
> cvs server: Diffing contrib/Axis-C++/lib/NT_4.0
> cvs server: Diffing contrib/Axis-C++/lib/SunOS_5.6
> cvs server: Diffing contrib/Axis-C++/lib/SunOS_5.7
> cvs server: Diffing contrib/Axis-C++/lib/SunOS_5.8
> cvs server: Diffing contrib/Axis-C++/objs
> cvs server: Diffing contrib/Axis-C++/objs/AIX_4.3
> cvs server: Diffing contrib/Axis-C++/objs/AIX_4.3/common
> cvs server: Diffing contrib/Axis-C++/objs/Linux
> cvs server: Diffing contrib/Axis-C++/objs/Linux/common
> cvs server: Diffing contrib/Axis-C++/objs/NT_4.0
> cvs server: Diffing contrib/Axis-C++/objs/SunOS_5.6
> cvs server: Diffing contrib/Axis-C++/objs/SunOS_5.6/common
> cvs server: Diffing contrib/Axis-C++/objs/SunOS_5.7
> cvs server: Diffing contrib/Axis-C++/objs/SunOS_5.7/common
> cvs server: Diffing contrib/Axis-C++/objs/SunOS_5.8
> cvs server: Diffing contrib/Axis-C++/objs/SunOS_5.8/common
> cvs server: Diffing contrib/Axis-C++/src
> cvs server: Diffing contrib/Axis-C++/src/Client
> cvs server: Diffing contrib/Axis-C++/src/Encoding
> cvs server: Diffing contrib/Axis-C++/src/Message
> cvs server: Diffing contrib/Axis-C++/src/Transport
> cvs server: Diffing contrib/Axis-C++/src/Util
> cvs server: Diffing contrib/Axis-C++/src/Xml
> cvs server: Diffing contrib/Axis-C++/xerces-c
> cvs server: Diffing contrib/Axis-C++/xerces-c/bin
> cvs server: Diffing contrib/Axis-C++/xerces-c/include
> cvs server: Diffing contrib/Axis-C++/xerces-c/include/dom
> cvs server: Diffing contrib/Axis-C++/xerces-c/include/framework
> cvs server: Diffing contrib/Axis-C++/xerces-c/include/idom
> cvs server: Diffing contrib/Axis-C++/xerces-c/include/internal
> cvs server: Diffing contrib/Axis-C++/xerces-c/include/parsers
> cvs server: Diffing contrib/Axis-C++/xerces-c/include/sax
> cvs server: Diffing contrib/Axis-C++/xerces-c/include/sax2
> cvs server: Diffing contrib/Axis-C++/xerces-c/include/util
> cvs server: Diffing contrib/Axis-C++/xerces-c/include/util/Compilers
> cvs server: Diffing contrib/Axis-C++/xerces-c/include/util/MsgLoaders
> cvs server: Diffing
> contrib/Axis-C++/xerces-c/include/util/MsgLoaders/ICU
> cvs server: Diffing
> contrib/Axis-C++/xerces-c/include/util/MsgLoaders/InMemory
> cvs server: Diffing
> contrib/Axis-C++/xerces-c/include/util/MsgLoaders/MsgCatalog
> cvs server: Diffing
> contrib/Axis-C++/xerces-c/include/util/MsgLoaders/Win32
> cvs server: Diffing contrib/Axis-C++/xerces-c/include/util/Platforms
> cvs server: Diffing
> contrib/Axis-C++/xerces-c/include/util/Platforms/AIX
> cvs server: Diffing
> contrib/Axis-C++/xerces-c/include/util/Platforms/HPUX
> cvs server: Diffing
> contrib/Axis-C++/xerces-c/include/util/Platforms/Linux
> cvs server: Diffing
> contrib/Axis-C++/xerces-c/include/util/Platforms/MacOS
> cvs server: Diffing
> contrib/Axis-C++/xerces-c/include/util/Platforms/OS2
> cvs server: Diffing
> contrib/Axis-C++/xerces-c/include/util/Platforms/OS390
> cvs server: Diffing
> contrib/Axis-C++/xerces-c/include/util/Platforms/PTX
> cvs server: Diffing
> contrib/Axis-C++/xerces-c/include/util/Platforms/Solaris
> cvs server: Diffing
> contrib/Axis-C++/xerces-c/include/util/Platforms/Tandem
> cvs server: Diffing
> contrib/Axis-C++/xerces-c/include/util/Platforms/Win32
> cvs server: Diffing contrib/Axis-C++/xerces-c/include/util/Transcoders
> cvs server: Diffing
> contrib/Axis-C++/xerces-c/include/util/Transcoders/ICU
> cvs server: Diffing
> contrib/Axis-C++/xerces-c/include/util/Transcoders/Iconv
> cvs server: Diffing
> contrib/Axis-C++/xerces-c/include/util/Transcoders/Win32
> cvs server: Diffing contrib/Axis-C++/xerces-c/include/util/regx
> cvs server: Diffing contrib/Axis-C++/xerces-c/include/validators
> cvs server: Diffing contrib/Axis-C++/xerces-c/include/validators/DTD
> cvs server: Diffing
> contrib/Axis-C++/xerces-c/include/validators/common
> cvs server: Diffing
> contrib/Axis-C++/xerces-c/include/validators/datatype
> cvs server: Diffing
> contrib/Axis-C++/xerces-c/include/validators/schema
> cvs server: Diffing contrib/Axis-C++/xerces-c/lib
> cvs server: Diffing contrib/Axis-C++/xerces-c/lib/Linux
> cvs server: Diffing java
> Index: java/build.xml
> ===================================================================
> RCS file: /home/cvspublic/xml-axis/java/build.xml,v
> retrieving revision 1.176
> diff -r1.176 build.xml
> 105a106
> >       <exclude name="**/org/apache/axis/transport/jms/*"
> unless="jms.present"/>
> 254a256
> >       <exclude name="samples/jms/**/*.java" unless="jms.present"/>
> cvs server: Diffing java/docs
> cvs server: Diffing java/lib
> cvs server: Diffing java/samples
> cvs server: Diffing java/samples/addr
> cvs server: Diffing java/samples/attachments
> cvs server: Diffing java/samples/bidbuy
> cvs server: Diffing java/samples/echo
> cvs server: Diffing java/samples/encoding
> cvs server: Diffing java/samples/integrationGuide
> cvs server: Diffing java/samples/integrationGuide/example1
> cvs server: Diffing java/samples/integrationGuide/example2
> cvs server: Diffing java/samples/jaxm
> cvs server: Diffing java/samples/jaxrpc
> cvs server: Diffing java/samples/jaxrpc/address
> cvs server: Diffing java/samples/jaxrpc/hello
> cvs server: Diffing java/samples/message
> cvs server: Diffing java/samples/misc
> cvs server: Diffing java/samples/proxy
> cvs server: Diffing java/samples/security
> cvs server: Diffing java/samples/stock
> cvs server: Diffing java/samples/transport
> cvs server: Diffing java/samples/transport/tcp
> cvs server: Diffing java/samples/userguide
> cvs server: Diffing java/samples/userguide/example1
> cvs server: Diffing java/samples/userguide/example2
> cvs server: Diffing java/samples/userguide/example3
> cvs server: Diffing java/samples/userguide/example4
> cvs server: Diffing java/samples/userguide/example5
> cvs server: Diffing java/samples/userguide/example6
> cvs server: Diffing java/src
> cvs server: Diffing java/src/javax
> cvs server: Diffing java/src/javax/xml
> cvs server: Diffing java/src/javax/xml/messaging
> cvs server: Diffing java/src/javax/xml/namespace
> cvs server: Diffing java/src/javax/xml/rpc
> cvs server: Diffing java/src/javax/xml/rpc/encoding
> cvs server: Diffing java/src/javax/xml/rpc/handler
> cvs server: Diffing java/src/javax/xml/rpc/handler/soap
> cvs server: Diffing java/src/javax/xml/rpc/holders
> cvs server: Diffing java/src/javax/xml/rpc/server
> cvs server: Diffing java/src/javax/xml/rpc/soap
> cvs server: Diffing java/src/javax/xml/soap
> cvs server: Diffing java/src/javax/xml/transform
> cvs server: Diffing java/src/javax/xml/transform/dom
> cvs server: Diffing java/src/javax/xml/transform/sax
> cvs server: Diffing java/src/javax/xml/transform/stream
> cvs server: Diffing java/src/org
> cvs server: Diffing java/src/org/apache
> cvs server: Diffing java/src/org/apache/axis
> cvs server: Diffing java/src/org/apache/axis/attachments
> cvs server: Diffing java/src/org/apache/axis/client
> cvs server: Diffing java/src/org/apache/axis/components
> cvs server: Diffing java/src/org/apache/axis/components/compiler
> cvs server: Diffing java/src/org/apache/axis/components/image
> cvs server: Diffing java/src/org/apache/axis/components/logger
> cvs server: Diffing java/src/org/apache/axis/components/net
> cvs server: Diffing java/src/org/apache/axis/configuration
> cvs server: Diffing java/src/org/apache/axis/deployment
> cvs server: Diffing java/src/org/apache/axis/deployment/wsdd
> cvs server: Diffing java/src/org/apache/axis/deployment/wsdd/providers
> cvs server: Diffing java/src/org/apache/axis/description
> cvs server: Diffing java/src/org/apache/axis/encoding
> cvs server: Diffing java/src/org/apache/axis/encoding/ser
> cvs server: Diffing java/src/org/apache/axis/enum
> cvs server: Diffing java/src/org/apache/axis/handlers
> cvs server: Diffing java/src/org/apache/axis/handlers/http
> cvs server: Diffing java/src/org/apache/axis/handlers/soap
> cvs server: Diffing java/src/org/apache/axis/holders
> cvs server: Diffing java/src/org/apache/axis/message
> cvs server: Diffing java/src/org/apache/axis/providers
> cvs server: Diffing java/src/org/apache/axis/providers/java
> cvs server: Diffing java/src/org/apache/axis/schema
> cvs server: Diffing java/src/org/apache/axis/security
> cvs server: Diffing java/src/org/apache/axis/security/servlet
> cvs server: Diffing java/src/org/apache/axis/security/simple
> cvs server: Diffing java/src/org/apache/axis/server
> cvs server: Diffing java/src/org/apache/axis/session
> cvs server: Diffing java/src/org/apache/axis/soap
> cvs server: Diffing java/src/org/apache/axis/strategies
> cvs server: Diffing java/src/org/apache/axis/transport
> cvs server: Diffing java/src/org/apache/axis/transport/http
> cvs server: Diffing java/src/org/apache/axis/transport/java
> cvs server: Diffing java/src/org/apache/axis/transport/local
> cvs server: Diffing java/src/org/apache/axis/types
> cvs server: Diffing java/src/org/apache/axis/utils
> Index: java/src/org/apache/axis/utils/axisNLS.properties
> ===================================================================
> RCS file:
> /home/cvspublic/xml-axis/java/src/org/apache/axis/utils/axisNLS.properties,v
> retrieving revision 1.55
> diff -r1.55 axisNLS.properties
> 1009c1009,1011
> < noValidHeader=qname attribute is missing.
> \ No newline at end of file
> ---
> > noValidHeader=qname attribute is missing.
> >
> > cannotConnectError=Error: Cannot connect
> cvs server: Diffing java/src/org/apache/axis/utils/bytecode
> cvs server: Diffing java/src/org/apache/axis/utils/cache
> cvs server: Diffing java/src/org/apache/axis/wsdl
> cvs server: Diffing java/src/org/apache/axis/wsdl/fromJava
> cvs server: Diffing java/src/org/apache/axis/wsdl/gen
> cvs server: Diffing java/src/org/apache/axis/wsdl/symbolTable
> cvs server: Diffing java/src/org/apache/axis/wsdl/toJava
> cvs server: Diffing java/test
> cvs server: Diffing java/test/RPCDispatch
> cvs server: Diffing java/test/chains
> cvs server: Diffing java/test/concurrency
> cvs server: Diffing java/test/doesntWork
> cvs server: Diffing java/test/dynamic
> cvs server: Diffing java/test/encoding
> cvs server: Diffing java/test/encoding/beans
> cvs server: Diffing java/test/faults
> cvs server: Diffing java/test/functional
> cvs server: Diffing java/test/functional/ant
> cvs server: Diffing java/test/httpunit
> cvs server: Diffing java/test/httpunit/lib
> cvs server: Diffing java/test/httpunit/src
> cvs server: Diffing java/test/httpunit/src/test
> cvs server: Diffing java/test/inheritance
> cvs server: Diffing java/test/lib
> cvs server: Diffing java/test/md5attach
> cvs server: Diffing java/test/message
> cvs server: Diffing java/test/outparams
> cvs server: Diffing java/test/properties
> cvs server: Diffing java/test/saaj
> cvs server: Diffing java/test/session
> cvs server: Diffing java/test/soap
> cvs server: Diffing java/test/soap12
> cvs server: Diffing java/test/templateTest
> cvs server: Diffing java/test/types
> cvs server: Diffing java/test/utils
> cvs server: Diffing java/test/utils/cache
> cvs server: Diffing java/test/wsdd
> cvs server: Diffing java/test/wsdl
> cvs server: Diffing java/test/wsdl/_import
> cvs server: Diffing java/test/wsdl/addrNoImplSEI
> cvs server: Diffing java/test/wsdl/arrays
> cvs server: Diffing java/test/wsdl/attachments
> cvs server: Diffing java/test/wsdl/clash
> cvs server: Diffing java/test/wsdl/datatypes
> cvs server: Diffing java/test/wsdl/echo
> cvs server: Diffing java/test/wsdl/extensibility
> cvs server: Diffing java/test/wsdl/faults
> cvs server: Diffing java/test/wsdl/filegen
> cvs server: Diffing java/test/wsdl/getPort
> cvs server: Diffing java/test/wsdl/import2
> cvs server: Diffing java/test/wsdl/import2/interface1
> cvs server: Diffing java/test/wsdl/import2/interface1/interface2
> cvs server: Diffing java/test/wsdl/import2/service1
> cvs server: Diffing java/test/wsdl/import2/service1/service2
> cvs server: Diffing java/test/wsdl/import2/types1
> cvs server: Diffing java/test/wsdl/import2/types1/types2
> cvs server: Diffing java/test/wsdl/import2/types1/types3
> cvs server: Diffing java/test/wsdl/import3
> cvs server: Diffing java/test/wsdl/import3/MultiImpIncl
> cvs server: Diffing java/test/wsdl/import3/MultiImpIncl/cmp
> cvs server: Diffing java/test/wsdl/import3/MultiImpIncl/includes
> cvs server: Diffing java/test/wsdl/import3/MultiImpIncl/tbl1
> cvs server: Diffing java/test/wsdl/import3/MultiImpIncl/tbl2
> cvs server: Diffing java/test/wsdl/import3/MultiImpIncl/wsdl
> cvs server: Diffing java/test/wsdl/include
> cvs server: Diffing java/test/wsdl/include/address
> cvs server: Diffing java/test/wsdl/include/state
> cvs server: Diffing java/test/wsdl/inheritance
> cvs server: Diffing java/test/wsdl/inout
> cvs server: Diffing java/test/wsdl/interop
> cvs server: Diffing java/test/wsdl/interop3
> cvs server: Diffing java/test/wsdl/interop3/compound1
> cvs server: Diffing java/test/wsdl/interop3/compound2
> cvs server: Diffing java/test/wsdl/interop3/docLit
> cvs server: Diffing java/test/wsdl/interop3/docLitParam
> cvs server: Diffing java/test/wsdl/interop3/groupE
> cvs server: Diffing java/test/wsdl/interop3/groupE/client
> cvs server: Diffing java/test/wsdl/interop3/import1
> cvs server: Diffing java/test/wsdl/interop3/import2
> cvs server: Diffing java/test/wsdl/interop3/import3
> cvs server: Diffing java/test/wsdl/interop3/rpcEnc
> cvs server: Diffing java/test/wsdl/literal
> cvs server: Diffing java/test/wsdl/marrays
> cvs server: Diffing java/test/wsdl/multibinding
> cvs server: Diffing java/test/wsdl/multiref
> cvs server: Diffing java/test/wsdl/multithread
> cvs server: Diffing java/test/wsdl/names
> cvs server: Diffing java/test/wsdl/nested
> cvs server: Diffing java/test/wsdl/omit
> cvs server: Diffing java/test/wsdl/opStyles
> cvs server: Diffing java/test/wsdl/parameterOrder
> cvs server: Diffing java/test/wsdl/polymorphism
> cvs server: Diffing java/test/wsdl/qualify
> cvs server: Diffing java/test/wsdl/qualify2
> cvs server: Diffing java/test/wsdl/ram
> cvs server: Diffing java/test/wsdl/refattr
> cvs server: Diffing java/test/wsdl/roundtrip
> cvs server: Diffing java/test/wsdl/roundtrip/holders
> cvs server: Diffing java/test/wsdl/sequence
> cvs server: Diffing java/test/wsdl/types
> cvs server: Diffing java/test/wsdl/wrapped
> cvs server: Diffing java/tools
> cvs server: Diffing java/tools/org
> cvs server: Diffing java/tools/org/apache
> cvs server: Diffing java/tools/org/apache/axis
> cvs server: Diffing java/tools/org/apache/axis/tools
> cvs server: Diffing java/tools/org/apache/axis/tools/ant
> cvs server: Diffing java/tools/org/apache/axis/tools/ant/axis
> cvs server: Diffing java/tools/org/apache/axis/tools/ant/foreach
> cvs server: Diffing java/tools/org/apache/axis/tools/ant/wsdl
> cvs server: Diffing java/webapps
> cvs server: Diffing java/webapps/axis
> cvs server: Diffing java/webapps/axis/WEB-INF
> cvs server: Diffing java/wsdd
> cvs server: Diffing java/wsdd/docs
> cvs server: Diffing java/wsdd/examples
> cvs server: Diffing java/wsdd/examples/chaining_examples
> cvs server: Diffing java/wsdd/examples/from_SOAP_v2
> cvs server: Diffing java/wsdd/examples/serviceConfiguration_examples
> cvs server: Diffing java/wsdd/providers
> cvs server: Diffing java/xmls
> Index: java/xmls/targets.xml
> ===================================================================
> RCS file: /home/cvspublic/xml-axis/java/xmls/targets.xml,v
> retrieving revision 1.20
> diff -r1.20 targets.xml
> 129a130,133
> >     <condition property="jms.present" >
> >       <available classname="javax.jms.Message"
> classpathref="classpath" />
> >     </condition>
> >
> 175a180
> >     <echo message="jms.present=${jms.present}" />
> cvs server: Diffing proposals
> cvs server: Diffing proposals/arch
> cvs server: Diffing proposals/arch/docs
> cvs server: Diffing proposals/arch/src
> cvs server: Diffing proposals/arch/src/org
> cvs server: Diffing proposals/arch/src/org/apache
> cvs server: Diffing proposals/arch/src/org/apache/axis
> cvs server: Diffing proposals/arch/src/org/apache/axis/flow
> cvs server: Diffing proposals/arch/test
> cvs server: Diffing proposals/arch/test/flow

-- 
Sonic Software - Backbone of the Extended Enterprise
--
David Chappell <ch...@sonicsoftware.com> Office: (781)999-7099
Mobile: (617)510-6566
Vice President and Chief Technology Evangelist, Sonic Software
co-author,"Java Web Services", (O'Reilly 2002)
"The Java Message Service", (O'Reilly 2000)
"Professional ebXML Foundations", (Wrox 2001)
--

[Vote] Re: Asynchronous Transport in Apache Axis, JMS and beyond

Posted by James M Snell <ja...@us.ibm.com>.
I like the basic approach and have a proposal.

For the Axis 1.0 release, I'd like to introduce my initial prototype (with 
it's several flaws) as a "Preview".  Not perfect, but better than what's 
currently available and functional.  I just ran through all of the 
functional tests and everything checks out.  The code works, the tests 
work, etc etc.  Then, for post 1.0, we can work on a more fully fleshed 
out approach that brings together the various ideas that have been 
discussed in this thread (specifically, those put forth by the Sonic 
folks, Alek and Steve).

Please vote -1 or +1 .

- James Snell
     IBM Emerging Technologies
     jasnell@us.ibm.com
     (559) 587-1233 (office)
     (700) 544-9035 (t/l)
     Programming Web Services With SOAP
         O'Reilly & Associates, ISBN 0596000952

     Have I not commanded you? Be strong and courageous. 
     Do not be terrified, do not be discouraged, for the Lord your 
     God will be with you whereever you go.    - Joshua 1:9

"Steve Loughran" <st...@iseran.com> wrote on 09/06/2002 02:52:38 PM:

> ----- Original Message -----
> From: "Aleksander Slominski" <as...@cs.indiana.edu>

> > java.nio is much more lower level than what i was thinking about
> > (it can be useful to implement efficient web services server but
> > i do not think it is currently under consideration in AXIS ...).

> yeah, it'd be slick if tomcat picked it up. There is always axis client 
side
> transport to consider tho'...

> > instead i wanted something that is _like_ select but to
> > track asynchronous responses, here is how it could work:
> >
> > // create select() capable object
> > AsyncCallController selector = service.createAsyncCallController();
> >
> > // start first async call
> > Call     call1   = (Call) service.createCall();
> > call1.setProperty(AsyncCall.ASYNC_CALL_PROPERTY, new Boolean(true));
> > call1.setTargetEndpointAddress( new java.net.URL(endpoint1) );
> > call1.setOperationName( new QName("namespace", "getQuote"));
> > call1.setProperty(AsyncCall.ASYNC_CALL_SELECTOR, selector)
> > call1.invoke( new Object[] { "IBM" } );
> >
> > // start second async call
> > Call     call2   = (Call) service.createCall();
> > call2.setProperty(AsyncCall.ASYNC_CALL_PROPERTY, new Boolean(true));
> > call2.setTargetEndpointAddress( new java.net.URL(endpoint2) );
> > call2.setOperationName( new QName("namespace", "doFoo"));
> > call2.setProperty(AsyncCall.ASYNC_CALL_SELECTOR, selector)
> > call2.invoke( new Object[] { "IBM" } );
> >
> > // now let wait for first response from call1 or call2
> > while(selector.hasOutstandingCalls()) {
> >    try {
> >       Call call = selector.waitForAsyncreponse(1000);
> >        if(call == call1) {
> >            // this is reposnse for call1
> >            System.out.println("this is reponse for call1
> "+call.getReturnValue());
> >        } else if(call == call2) {
> >            System.out.println("this is reponse for call2
> "+call.getReturnValue());
> >        }
> >        }
> >    } catch(InterruptedException ex) {
> >    }
> > }
> > System.out.println("done!");
> >
> > i think that this would allow user code to create N asynchronous
> > requests and efficiently wait and process async responses.

> That would work.

Re: Asynchronous Transport in Apache Axis, JMS and beyond

Posted by Steve Loughran <st...@iseran.com>.
----- Original Message -----
From: "Aleksander Slominski" <as...@cs.indiana.edu>

> java.nio is much more lower level than what i was thinking about
> (it can be useful to implement efficient web services server but
> i do not think it is currently under consideration in AXIS ...).

yeah, it'd be slick if tomcat picked it up. There is always axis client side
transport to consider tho'...

> instead i wanted something that is _like_ select but to
> track asynchronous responses, here is how it could work:
>
> // create select() capable object
> AsyncCallController selector = service.createAsyncCallController();
>
> // start first async call
> Call     call1   = (Call) service.createCall();
> call1.setProperty(AsyncCall.ASYNC_CALL_PROPERTY, new Boolean(true));
> call1.setTargetEndpointAddress( new java.net.URL(endpoint1) );
> call1.setOperationName( new QName("namespace", "getQuote"));
> call1.setProperty(AsyncCall.ASYNC_CALL_SELECTOR, selector)
> call1.invoke( new Object[] { "IBM" } );
>
> // start second async call
> Call     call2   = (Call) service.createCall();
> call2.setProperty(AsyncCall.ASYNC_CALL_PROPERTY, new Boolean(true));
> call2.setTargetEndpointAddress( new java.net.URL(endpoint2) );
> call2.setOperationName( new QName("namespace", "doFoo"));
> call2.setProperty(AsyncCall.ASYNC_CALL_SELECTOR, selector)
> call2.invoke( new Object[] { "IBM" } );
>
> // now let wait for first response from call1 or call2
> while(selector.hasOutstandingCalls()) {
>    try {
>       Call call = selector.waitForAsyncreponse(1000);
>        if(call == call1) {
>            // this is reposnse for call1
>            System.out.println("this is reponse for call1
"+call.getReturnValue());
>        } else if(call == call2) {
>            System.out.println("this is reponse for call2
"+call.getReturnValue());
>        }
>        }
>    } catch(InterruptedException ex) {
>    }
> }
> System.out.println("done!");
>
> i think that this would allow user code to create N asynchronous
> requests and efficiently wait and process async responses.

That would work.


Re: Asynchronous Transport in Apache Axis, JMS and beyond

Posted by Aleksander Slominski <as...@cs.indiana.edu>.
Steve Loughran wrote:

> ----- Original Message -----
> From: "Aleksander Slominski" <as...@cs.indiana.edu>
> To: <ax...@xml.apache.org>
> Sent: Thursday, September 05, 2002 8:35 AM
> Subject: Re: Asynchronous Transport in Apache Axis, JMS and beyond
>
> > i think that callbacks have serious scalability limitations - what if AXIS
> has
> > to handle thousands of async responses simultaneously?
> > there may be not enough threads available to deliver callbacks,
> > you could queue callbacks delivery and pool threads but it will also
> > impact perfromance...
> >
> > i think that providing alternative synchronization constructs that may be
> more
> > efficient would be very good . for example to notify user code about
> status of asynchronous
> > response it may be better to use something similar to select() in UNIX  -
> > this is tested and proven solution to handling multiple socket connections
> in many web servers...
>
> Yes, and java.nio finally gives the world select() in 1.4. Without that you
> still need to block per thread on every open socket, so if the async xport
> uses open sockets, you are limited to nthreads. And even nio, as,
> implemented, is duff on win32 because they chose to implement the waiting
> using WaitForMultipleObjects(), whch is limited to 64 objects -if they'd
> used IoCompletionPorts then on nt there would be no real limits to scaling.
>
> For async stuff if you can have multiple objects waiting and a pool of
> threads to service them then all is well on java1.2+, which is why it is
> such a common design pattern.

hi,

java.nio is much more lower level than what i was thinking about
(it can be useful to implement efficient web services server but
i do not think it is currently under consideration in AXIS ...).

instead i wanted something that is _like_ select but to
track asynchronous responses, here is how it could work:

// create select() capable object
AsyncCallController selector = service.createAsyncCallController();

// start first async call
Call     call1   = (Call) service.createCall();
call1.setProperty(AsyncCall.ASYNC_CALL_PROPERTY, new Boolean(true));
call1.setTargetEndpointAddress( new java.net.URL(endpoint1) );
call1.setOperationName( new QName("namespace", "getQuote"));
call1.setProperty(AsyncCall.ASYNC_CALL_SELECTOR, selector)
call1.invoke( new Object[] { "IBM" } );

// start second async call
Call     call2   = (Call) service.createCall();
call2.setProperty(AsyncCall.ASYNC_CALL_PROPERTY, new Boolean(true));
call2.setTargetEndpointAddress( new java.net.URL(endpoint2) );
call2.setOperationName( new QName("namespace", "doFoo"));
call2.setProperty(AsyncCall.ASYNC_CALL_SELECTOR, selector)
call2.invoke( new Object[] { "IBM" } );

// now let wait for first response from call1 or call2
while(selector.hasOutstandingCalls()) {
   try {
      Call call = selector.waitForAsyncreponse(1000);
       if(call == call1) {
           // this is reposnse for call1
           System.out.println("this is reponse for call1 "+call.getReturnValue());
       } else if(call == call2) {
           System.out.println("this is reponse for call2 "+call.getReturnValue());
       }
       }
   } catch(InterruptedException ex) {
   }
}
System.out.println("done!");

i think that this would allow user code to create N asynchronous
requests and efficiently wait and process async responses.

just ideas - any comments are welcome.

thanks,

alek




Re: Asynchronous Transport in Apache Axis, JMS and beyond

Posted by Steve Loughran <st...@iseran.com>.
----- Original Message -----
From: "James M Snell" <ja...@us.ibm.com>
To: <ax...@xml.apache.org>
Sent: Thursday, September 05, 2002 6:33 PM
Subject: Re: Asynchronous Transport in Apache Axis, JMS and beyond


> Yeah yeah, I know, spin locks suck.  I've been caught taking the quick
> route for the prototype.  Will fix it ;-)


well, they have a place on MP systems, if you've ever done k-mode NT device
drivers you'll know that place and fear it.


Re: Proposal attached - Re: Asynchronous Transport in Apache Axis, JMS and beyond

Posted by Steve Loughran <st...@iseran.com>.
----- Original Message -----
From: "David Chappell" <ch...@sonicsoftware.com>
To: <ax...@xml.apache.org>
Sent: Friday, September 06, 2002 9:04 AM
Subject: Proposal attached - Re: Asynchronous Transport in Apache Axis, JMS
and beyond


> Attached is an early draft of the proposal we have been working on.
> Think of it as something that
> highlights the issues and the beginnings of an architecture for
> discussion purposes.  We are looking forward to feedback from the group.
> Dave
>

maybe its my system but every time I try and open that file in word, it just
disappears -no error message, nothing. How about posting a PDF copy?


Proposal attached - Re: Asynchronous Transport in Apache Axis, JMS and beyond

Posted by David Chappell <ch...@sonicsoftware.com>.
Attached is an early draft of the proposal we have been working on. 
Think of it as something that 
highlights the issues and the beginnings of an architecture for
discussion purposes.  We are looking forward to feedback from the group.
Dave


James M Snell wrote:
> 
> Yeah yeah, I know, spin locks suck.  I've been caught taking the quick
> route for the prototype.  Will fix it ;-)
> 
> - James Snell
>      IBM Emerging Technologies
>      jasnell@us.ibm.com
>      (559) 587-1233 (office)
>      (700) 544-9035 (t/l)
>      Programming Web Services With SOAP
>          O'Reilly & Associates, ISBN 0596000952
> 
>      Have I not commanded you? Be strong and courageous.
>      Do not be terrified, do not be discouraged, for the Lord your
>      God will be with you whereever you go.    - Joshua 1:9
> 
> "Steve Loughran" <st...@iseran.com> wrote on 09/05/2002 03:17:23 PM:
> 
> > ----- Original Message -----
> > From: "David Chappell" <ch...@sonicsoftware.com>
> > To: <ax...@xml.apache.org>
> > Sent: Thursday, September 05, 2002 3:05 PM
> > Subject: Re: Asynchronous Transport in Apache Axis, JMS and beyond
> 
> >
> > > I have a question/concern about this in your Call object -
> > >
> > >     public Object waitForReturnValue(long timeout)
> > >       throws Throwable {
> > >         long start = System.currentTimeMillis();
> > >         while ((System.currentTimeMillis() - start) < timeout &&
> > >                getAsyncStatus() == ASYNC_RUNNING) {}
> > >         if (this.returnedFault != null) throw this.returnedFault;
> > >         return this.returnValue;
> > >     }
> > >
> > > If there are a lot of these things pending, wouldn't that tight loop
> > > chew up some significant CPU?  It might be better to have another
> thread
> > > that does a wait(timeout).  Then SimpleAsyncCall.invoke() could
> notify()
> > > it.  Perhaps the Listener could be the Runnable since that's a common
> > > class between them.  Its twice as many threads, but in the long run it
> > > might be worth it.  This is billed as "Simple", so I know I am being
> > > nit-picky.  But this is all good stuff to figure out.
> > >
> 
> > It kills laptops too, and performance if the local system is actually
> > servicing the response. At the very least, sleep for a bit.
> 
> > I'm -1 on spinlocks except for the special case of device drivers on an
> MP
> > system that cannot yield to the OS.

-- 
Sonic Software - Backbone of the Extended Enterprise
--
David Chappell <ch...@sonicsoftware.com> Office: (781)999-7099
Mobile: (617)510-6566
Vice President and Chief Technology Evangelist, Sonic Software
co-author,"Java Web Services", (O'Reilly 2002)
"The Java Message Service", (O'Reilly 2000)
"Professional ebXML Foundations", (Wrox 2001)
--

Re: Asynchronous Transport in Apache Axis, JMS and beyond

Posted by James M Snell <ja...@us.ibm.com>.
Yeah yeah, I know, spin locks suck.  I've been caught taking the quick 
route for the prototype.  Will fix it ;-)

- James Snell
     IBM Emerging Technologies
     jasnell@us.ibm.com
     (559) 587-1233 (office)
     (700) 544-9035 (t/l)
     Programming Web Services With SOAP
         O'Reilly & Associates, ISBN 0596000952

     Have I not commanded you? Be strong and courageous. 
     Do not be terrified, do not be discouraged, for the Lord your 
     God will be with you whereever you go.    - Joshua 1:9

"Steve Loughran" <st...@iseran.com> wrote on 09/05/2002 03:17:23 PM:

> ----- Original Message -----
> From: "David Chappell" <ch...@sonicsoftware.com>
> To: <ax...@xml.apache.org>
> Sent: Thursday, September 05, 2002 3:05 PM
> Subject: Re: Asynchronous Transport in Apache Axis, JMS and beyond

> 
> > I have a question/concern about this in your Call object -
> >
> >     public Object waitForReturnValue(long timeout)
> >       throws Throwable {
> >         long start = System.currentTimeMillis();
> >         while ((System.currentTimeMillis() - start) < timeout &&
> >                getAsyncStatus() == ASYNC_RUNNING) {}
> >         if (this.returnedFault != null) throw this.returnedFault;
> >         return this.returnValue;
> >     }
> >
> > If there are a lot of these things pending, wouldn't that tight loop
> > chew up some significant CPU?  It might be better to have another 
thread
> > that does a wait(timeout).  Then SimpleAsyncCall.invoke() could 
notify()
> > it.  Perhaps the Listener could be the Runnable since that's a common
> > class between them.  Its twice as many threads, but in the long run it
> > might be worth it.  This is billed as "Simple", so I know I am being
> > nit-picky.  But this is all good stuff to figure out.
> >

> It kills laptops too, and performance if the local system is actually
> servicing the response. At the very least, sleep for a bit.

> I'm -1 on spinlocks except for the special case of device drivers on an 
MP
> system that cannot yield to the OS.

Re: Asynchronous Transport in Apache Axis, JMS and beyond

Posted by Steve Loughran <st...@iseran.com>.
----- Original Message -----
From: "David Chappell" <ch...@sonicsoftware.com>
To: <ax...@xml.apache.org>
Sent: Thursday, September 05, 2002 3:05 PM
Subject: Re: Asynchronous Transport in Apache Axis, JMS and beyond



> I have a question/concern about this in your Call object -
>
>     public Object waitForReturnValue(long timeout)
>       throws Throwable {
>         long start = System.currentTimeMillis();
>         while ((System.currentTimeMillis() - start) < timeout &&
>                getAsyncStatus() == ASYNC_RUNNING) {}
>         if (this.returnedFault != null) throw this.returnedFault;
>         return this.returnValue;
>     }
>
> If there are a lot of these things pending, wouldn't that tight loop
> chew up some significant CPU?  It might be better to have another thread
> that does a wait(timeout).  Then SimpleAsyncCall.invoke() could notify()
> it.  Perhaps the Listener could be the Runnable since that's a common
> class between them.  Its twice as many threads, but in the long run it
> might be worth it.  This is billed as "Simple", so I know I am being
> nit-picky.  But this is all good stuff to figure out.
>

It kills laptops too, and performance if the local system is actually
servicing the response. At the very least, sleep for a bit.

I'm -1 on spinlocks except for the special case of device drivers on an MP
system that cannot yield to the OS.


Re: Asynchronous Transport in Apache Axis, JMS and beyond

Posted by David Chappell <ch...@sonicsoftware.com>.
I like the approach.  It's very similar to what we were thinking about. 
We chose to go with a "inBound" and "outBound" naming convention as a
way of intentionally breaking away from the request/response mindset for
the long term.  There is no request/response....only outbound, inbound,
and correlation between the two where necessary.  I'm thinking now I
should just send our proposal out rather than tweaking it for another 2
weeks.  I'll send it out tomorrow after I speak with Jaime.  

I have a question/concern about this in your Call object - 

    public Object waitForReturnValue(long timeout)
      throws Throwable {
        long start = System.currentTimeMillis();
        while ((System.currentTimeMillis() - start) < timeout &&
               getAsyncStatus() == ASYNC_RUNNING) {}
        if (this.returnedFault != null) throw this.returnedFault;
        return this.returnValue;
    }

If there are a lot of these things pending, wouldn't that tight loop
chew up some significant CPU?  It might be better to have another thread
that does a wait(timeout).  Then SimpleAsyncCall.invoke() could notify()
it.  Perhaps the Listener could be the Runnable since that's a common
class between them.  Its twice as many threads, but in the long run it
might be worth it.  This is billed as "Simple", so I know I am being
nit-picky.  But this is all good stuff to figure out.

Dave

James M Snell wrote:
> 
> Ok, attached is the basic framework that I am proposing.
> 
> Included in the zip:
> 
> 1. A new version of the org.apache.axis.client.Call object that includes
> the async modifications
> 2. New packages org.apache.axis.client.async and
> org.apache.axis.client.async.simple that contain both the async
> pluggability framework and the default simple implementation
> 
> To use, simple unzip over your existing Axis source tree.  The only
> existing file that will be replaced is Call.
> 
> This code implements three models of getting the return value:
> 
> 1. waitForReturnValue() and waitForReturnValue(long timeout)   --  this
> method will block until it timesout or until a response is received.  If a
> fault was returned, this method will throw an exception
> 2. getAsyncStatus() and getReturnValue() -- the user polls getAsyncStatus
> until getAsyncStatus == ASYNC_READY, then calls getReturnValue.
> 3. call.setProperty(AsyncCall.ASYNC_CALL_LISTENER, myListenerImpl) --
> allows the user to specify the callback listener that will be used,
> overriding the default Call object listener and making options 1 and 2
> unusable.  All callback events will be delivered directly to the user
> provided listener impl.
> 
> For option 3, the user needs to be careful to properly implement a
> listener so that it doesn't break the system.  For example, all events
> MUST return and not block indefinitely.  There will need to be a simple
> set of best-practices written up for this.
> 
> Please review/test/comment
> 
> - James Snell
>      IBM Emerging Technologies
>      jasnell@us.ibm.com
>      (559) 587-1233 (office)
>      (700) 544-9035 (t/l)
>      Programming Web Services With SOAP
>          O'Reilly & Associates, ISBN 0596000952
> 
>      Have I not commanded you? Be strong and courageous.
>      Do not be terrified, do not be discouraged, for the Lord your
>      God will be with you whereever you go.    - Joshua 1:9
> 
>   ------------------------------------------------------------------------
>                      Name: axis_async.zip
>    axis_async.zip    Type: application/zip
>                  Encoding: base64

-- 
Sonic Software - Backbone of the Extended Enterprise
--
David Chappell <ch...@sonicsoftware.com> Office: (781)999-7099
Mobile: (617)510-6566
Vice President and Chief Technology Evangelist, Sonic Software
co-author,"Java Web Services", (O'Reilly 2002)
"The Java Message Service", (O'Reilly 2000)
"Professional ebXML Foundations", (Wrox 2001)
--

Re: Asynchronous Transport in Apache Axis, JMS and beyond

Posted by James M Snell <ja...@us.ibm.com>.
Ok, attached is the basic framework that I am proposing. 

Included in the zip:

1. A new version of the org.apache.axis.client.Call object that includes 
the async modifications
2. New packages org.apache.axis.client.async and 
org.apache.axis.client.async.simple that contain both the async 
pluggability framework and the default simple implementation

To use, simple unzip over your existing Axis source tree.  The only 
existing file that will be replaced is Call.

This code implements three models of getting the return value:

1. waitForReturnValue() and waitForReturnValue(long timeout)   --  this 
method will block until it timesout or until a response is received.  If a 
fault was returned, this method will throw an exception
2. getAsyncStatus() and getReturnValue() -- the user polls getAsyncStatus 
until getAsyncStatus == ASYNC_READY, then calls getReturnValue.
3. call.setProperty(AsyncCall.ASYNC_CALL_LISTENER, myListenerImpl) -- 
allows the user to specify the callback listener that will be used, 
overriding the default Call object listener and making options 1 and 2 
unusable.  All callback events will be delivered directly to the user 
provided listener impl. 

For option 3, the user needs to be careful to properly implement a 
listener so that it doesn't break the system.  For example, all events 
MUST return and not block indefinitely.  There will need to be a simple 
set of best-practices written up for this.

Please review/test/comment



- James Snell
     IBM Emerging Technologies
     jasnell@us.ibm.com
     (559) 587-1233 (office)
     (700) 544-9035 (t/l)
     Programming Web Services With SOAP
         O'Reilly & Associates, ISBN 0596000952

     Have I not commanded you? Be strong and courageous. 
     Do not be terrified, do not be discouraged, for the Lord your 
     God will be with you whereever you go.    - Joshua 1:9

Re: Asynchronous Transport in Apache Axis, JMS and beyond

Posted by James M Snell <ja...@us.ibm.com>.
That's fine and well, but we're still stuck with the J2EE restriction on 
doing ANY thread management from within the container, which means we 
cannot use the new java.nio stuff. 

- James Snell
     IBM Emerging Technologies
     jasnell@us.ibm.com
     (559) 587-1233 (office)
     (700) 544-9035 (t/l)
     Programming Web Services With SOAP
         O'Reilly & Associates, ISBN 0596000952

     Have I not commanded you? Be strong and courageous. 
     Do not be terrified, do not be discouraged, for the Lord your 
     God will be with you whereever you go.    - Joshua 1:9

"Steve Loughran" <st...@iseran.com> wrote on 09/05/2002 09:47:09 AM:

> ----- Original Message -----
> From: "Aleksander Slominski" <as...@cs.indiana.edu>
> To: <ax...@xml.apache.org>
> Sent: Thursday, September 05, 2002 8:35 AM
> Subject: Re: Asynchronous Transport in Apache Axis, JMS and beyond

> 
> > i think that callbacks have serious scalability limitations - what if 
AXIS
> has
> > to handle thousands of async responses simultaneously?
> > there may be not enough threads available to deliver callbacks,
> > you could queue callbacks delivery and pool threads but it will also
> > impact perfromance...
> >
> > i think that providing alternative synchronization constructs that may 
be
> more
> > efficient would be very good . for example to notify user code about
> status of asynchronous
> > response it may be better to use something similar to select() in UNIX 
 -
> > this is tested and proven solution to handling multiple socket 
connections
> in many web servers...

> Yes, and java.nio finally gives the world select() in 1.4. Without that 
you
> still need to block per thread on every open socket, so if the async 
xport
> uses open sockets, you are limited to nthreads. And even nio, as,
> implemented, is duff on win32 because they chose to implement the 
waiting
> using WaitForMultipleObjects(), whch is limited to 64 objects -if they'd
> used IoCompletionPorts then on nt there would be no real limits to 
scaling.

> For async stuff if you can have multiple objects waiting and a pool of
> threads to service them then all is well on java1.2+, which is why it is
> such a common design pattern.

Re: Asynchronous Transport in Apache Axis, JMS and beyond

Posted by Steve Loughran <st...@iseran.com>.
----- Original Message -----
From: "Aleksander Slominski" <as...@cs.indiana.edu>
To: <ax...@xml.apache.org>
Sent: Thursday, September 05, 2002 8:35 AM
Subject: Re: Asynchronous Transport in Apache Axis, JMS and beyond



> i think that callbacks have serious scalability limitations - what if AXIS
has
> to handle thousands of async responses simultaneously?
> there may be not enough threads available to deliver callbacks,
> you could queue callbacks delivery and pool threads but it will also
> impact perfromance...
>
> i think that providing alternative synchronization constructs that may be
more
> efficient would be very good . for example to notify user code about
status of asynchronous
> response it may be better to use something similar to select() in UNIX  -
> this is tested and proven solution to handling multiple socket connections
in many web servers...

Yes, and java.nio finally gives the world select() in 1.4. Without that you
still need to block per thread on every open socket, so if the async xport
uses open sockets, you are limited to nthreads. And even nio, as,
implemented, is duff on win32 because they chose to implement the waiting
using WaitForMultipleObjects(), whch is limited to 64 objects -if they'd
used IoCompletionPorts then on nt there would be no real limits to scaling.

For async stuff if you can have multiple objects waiting and a pool of
threads to service them then all is well on java1.2+, which is why it is
such a common design pattern.


Re: Asynchronous Transport in Apache Axis, JMS and beyond

Posted by Aleksander Slominski <as...@cs.indiana.edu>.
David Chappell wrote:

> See below -
> Aleksander Slominski wrote:
> >
> > James M Snell wrote:
> > there are some problems with callbacks including implementation overhead.
> > as there is no guarantee on how fast user provided callback function must return
> > (it can also get stuck and may not be able to return ever!) so you need to have
> > defensive approach typically having each callback delivered in a separate thread.
>
> The getting stuck and returning never situation is covered by your
> timeout option suggestion on the waitForResult() method, right?

yes - by exception similarly to Object.wait()

> >
> > i think that callbacks have serious scalability limitations - what if AXIS has
> > to handle thousands of async responses simultaneously?
>
> What does AXIS do to handle this on the service side?  Is this a new
> issue that is unique to callbacks?

this is the same problem. i do not think it was solved or there is a generic solution
that works for all situations.

> > there may be not enough threads available to deliver callbacks,
> > you could queue callbacks delivery and pool threads but it will also
> > impact perfromance...
>
> Serializing callbacks and pooling threads can positively impact
> performance, in my experience.  The throttling effect created by pooling
> and serialized notification is far less of an impact than the thread
> context thrashing that can occur when threads are spawned
> uncontrollably.

i am just a bit concerned about serializing callback notifications.
it is difficult in Java to deal with situation when user code in callback
never returns.

> > i think that providing alternative synchronization constructs that may be more
> > efficient would be very good . for example to notify user code about status of asynchronous
> > response it may be better to use something similar to select() in UNIX  -
> > this is tested and proven solution to handling multiple socket connections in many web servers...
>
> I'm no expert on select(), but my recollection of select() is that you
> pass it an array of known sockets that you are listening on, then walk
> through it and check for activity on each FD whenever something
> arrives.

yes

>  Are you suggesting something like that? Do we have a
> comparable situation here?  Even in the select() case, you may have
> multiple "send" operations arriving from the remote party occuring on an
> individual socket, yet the data is buffered in a layer that is not
> visible to the application code.  So in effect, there is some kind of
> 'queueing' that is implicitly happening there.

well there will be service endpoint(s) that will receive all those
asynch response messages and then will need to pass it to interested
parties. of course if you assume that processing async response message should
be blocking then there is no problem - you can use the thread that was spawned
by endpoint to handle request to use it to process user code in callback.
that assumes that each message processing can be finished in reasonable time
and it works best if there is no state shared between callbacks
(if there is non trivial state shared then code quickly will become ugly...)

however in case that there is longer running process that just have to receive
signals (events) then situation looks differently. in this case you want use callback
to actually just deliver signal that message arrived and have processing done
in separate part of application and i think you would expect callback to return quickly ...

so essentially there are two use cases of callbacks that will heavily affect
possible design choices
1) callbacks to do actual processing that blocks until task is finished
2) callbacks that are used just to deliver signal

i think that case 2) is much more common than 1)
but i am eager to hear other opinions.

as of implementation choices for implementing callbacks:
if you use callback then you register your interest in one message
and you will need to register a callback for each response message
you want to process. delivery can be done in thread that is processing
requests on endpoint (blocking it) or it can be handled by separate thread(s).
if any of callbacks will misbehave (or just block for longer time than expected
on average) the performance of system may quickly degrade as there
will be many threads that are not yet finished ...

using select() like mechanism each piece of user code can register interest
in thousands of async response messages and there is no need for creating any
threads to deliver async response message to user code. this is possible
as async response message can be put into select() maintained storage
and keep it there until user will call select() to pick up newly arrived
messages for processing when it is ready to do it and that makes writing code
to deal with async messages in case 2) much much easier ...

just my .02c

thanks,

alek



Re: Asynchronous Transport in Apache Axis, JMS and beyond

Posted by David Chappell <ch...@sonicsoftware.com>.
It appears our email responses are crossing over each other.  That's
what happens when you don't have a good correlation solution between
requests and responses ;-)
Dave

David Chappell wrote:
> 
> See below -
> 
> Aleksander Slominski wrote:
> >
> > James M Snell wrote:
> >
> > > Alek, Thanks for your feedback.  Comments in line below.
> >
> > hi,
> >
> > i think that aync messaging/invocations are crucial for web services
> > so it is nice to see that AXIS may have it working. especially interesting
> > would be too see one-way messaging implemented over HTTP ...
> >
> > more comments below.
> >
> > > Aleksander Slominski <as...@cs.indiana.edu> wrote on 09/04/2002 04:02:48 PM:
> > > > James M Snell wrote:
> > > > 17            while (call.getAsyncStatus() != Call.ASYNC_READY) {}
> > > > one thing that caught my eye: do you recommend as standard
> > > > approach to use busy wait?! i think that much better approach is
> > > > to have both status checking and blocking call to request
> > > > async operation to finish in given timeout in ms, for example
> > > >
> > > >     boolean gotResult = call.waitForResult(10 * 000);
> > >
> > > Either approach will work but your suggestion is more user friendly.  I think that implementing both
> > > approaches is a good idea.
> > >
> > > There is another option, btw, that allows the user to specify a callback listener implemention.  This
> > > will allow the user to receive response and fault events directly.  I did not include this in my
> > > initial discussion because I am considering it more of an advanced "here's enough rope to hang
> > > yourself" option that the typical user would not use.  It will be documented when the prototype is up
> > > and running.
> >
> > there are some problems with callbacks including implementation overhead.
> > as there is no guarantee on how fast user provided callback function must return
> > (it can also get stuck and may not be able to return ever!) so you need to have
> > defensive approach typically having each callback delivered in a separate thread.
> 
> The getting stuck and returning never situation is covered by your
> timeout option suggestion on the waitForResult() method, right?
> 
> >
> > i think that callbacks have serious scalability limitations - what if AXIS has
> > to handle thousands of async responses simultaneously?
> 
> What does AXIS do to handle this on the service side?  Is this a new
> issue that is unique to callbacks?
> 
> > there may be not enough threads available to deliver callbacks,
> > you could queue callbacks delivery and pool threads but it will also
> > impact perfromance...
> 
> Serializing callbacks and pooling threads can positively impact
> performance, in my experience.  The throttling effect created by pooling
> and serialized notification is far less of an impact than the thread
> context thrashing that can occur when threads are spawned
> uncontrollably.
> 
> >
> > i think that providing alternative synchronization constructs that may be more
> > efficient would be very good . for example to notify user code about status of asynchronous
> > response it may be better to use something similar to select() in UNIX  -
> > this is tested and proven solution to handling multiple socket connections in many web servers...
> 
> I'm no expert on select(), but my recollection of select() is that you
> pass it an array of known sockets that you are listening on, then walk
> through it and check for activity on each FD whenever something
> arrives.  Are you suggesting something like that? Do we have a
> comparable situation here?  Even in the select() case, you may have
> multiple "send" operations arriving from the remote party occuring on an
> individual socket, yet the data is buffered in a layer that is not
> visible to the application code.  So in effect, there is some kind of
> 'queueing' that is implicitly happening there.
> Dave
> 
> >
> > > > Line 17 illustrates how the user can check to see when a response
> > > > has been received.  While the async operation is processing, call.
> > > > getAsyncStatus() will return Call.ASYNC_RUNNING.  When the operation
> > > > completes, the value will switch to Call.ASYNC_READY.  The client
> > > > can then call.getReturnValue() to return the response value.one
> > > > possible result of operation may be exception i.e. result is
> > > > containing SOAP:Fault
> > > > how would it be handled by Call object? i think you will need to
> > > > wrap exception
> > >
> > > There will be a method on the call object (getReturnedFault) that will allow the user to access fault
> > > information.  When the status returns to ASYNC_READY and the return value is null, the developer
> > > should check to ensure that getReturnedFault is also null to verify that an exception was not
> > > returned.
> >
> > actual return value can be null as i can easily have service that returns null
> > as legal return value - right?
> >
> > when "futures" are used it is possible to have more bullet proof mechanism
> > that does not depend on user to check for special values. essentially
> > it is an alternative getReturnValue/getReturnedFault combo that will return
> > value (including null if it is actual value) or throw fault exception
> > if SAOAP:Fault was received, something like this:
> >
> > public Call {
> >    public Object blockForReturnValue(long timeToWait) throws Throwable;
> > }
> >
> > thanks,
> >
> > alek
> 
> --
> Sonic Software - Backbone of the Extended Enterprise
> --
> David Chappell <ch...@sonicsoftware.com> Office: (781)999-7099
> Mobile: (617)510-6566
> Vice President and Chief Technology Evangelist, Sonic Software
> co-author,"Java Web Services", (O'Reilly 2002)
> "The Java Message Service", (O'Reilly 2000)
> "Professional ebXML Foundations", (Wrox 2001)
> --

-- 
Sonic Software - Backbone of the Extended Enterprise
--
David Chappell <ch...@sonicsoftware.com> Office: (781)999-7099
Mobile: (617)510-6566
Vice President and Chief Technology Evangelist, Sonic Software
co-author,"Java Web Services", (O'Reilly 2002)
"The Java Message Service", (O'Reilly 2000)
"Professional ebXML Foundations", (Wrox 2001)
--

Re: Asynchronous Transport in Apache Axis, JMS and beyond

Posted by David Chappell <ch...@sonicsoftware.com>.
See below - 

Aleksander Slominski wrote:
> 
> James M Snell wrote:
> 
> > Alek, Thanks for your feedback.  Comments in line below.
> 
> hi,
> 
> i think that aync messaging/invocations are crucial for web services
> so it is nice to see that AXIS may have it working. especially interesting
> would be too see one-way messaging implemented over HTTP ...
> 
> more comments below.
> 
> > Aleksander Slominski <as...@cs.indiana.edu> wrote on 09/04/2002 04:02:48 PM:
> > > James M Snell wrote:
> > > 17            while (call.getAsyncStatus() != Call.ASYNC_READY) {}
> > > one thing that caught my eye: do you recommend as standard
> > > approach to use busy wait?! i think that much better approach is
> > > to have both status checking and blocking call to request
> > > async operation to finish in given timeout in ms, for example
> > >
> > >     boolean gotResult = call.waitForResult(10 * 000);
> >
> > Either approach will work but your suggestion is more user friendly.  I think that implementing both
> > approaches is a good idea.
> >
> > There is another option, btw, that allows the user to specify a callback listener implemention.  This
> > will allow the user to receive response and fault events directly.  I did not include this in my
> > initial discussion because I am considering it more of an advanced "here's enough rope to hang
> > yourself" option that the typical user would not use.  It will be documented when the prototype is up
> > and running.
> 
> there are some problems with callbacks including implementation overhead.
> as there is no guarantee on how fast user provided callback function must return
> (it can also get stuck and may not be able to return ever!) so you need to have
> defensive approach typically having each callback delivered in a separate thread.

The getting stuck and returning never situation is covered by your
timeout option suggestion on the waitForResult() method, right?

> 
> i think that callbacks have serious scalability limitations - what if AXIS has
> to handle thousands of async responses simultaneously?

What does AXIS do to handle this on the service side?  Is this a new
issue that is unique to callbacks?

> there may be not enough threads available to deliver callbacks,
> you could queue callbacks delivery and pool threads but it will also
> impact perfromance...

Serializing callbacks and pooling threads can positively impact
performance, in my experience.  The throttling effect created by pooling
and serialized notification is far less of an impact than the thread
context thrashing that can occur when threads are spawned
uncontrollably.

> 
> i think that providing alternative synchronization constructs that may be more
> efficient would be very good . for example to notify user code about status of asynchronous
> response it may be better to use something similar to select() in UNIX  -
> this is tested and proven solution to handling multiple socket connections in many web servers...

I'm no expert on select(), but my recollection of select() is that you
pass it an array of known sockets that you are listening on, then walk
through it and check for activity on each FD whenever something
arrives.  Are you suggesting something like that? Do we have a
comparable situation here?  Even in the select() case, you may have
multiple "send" operations arriving from the remote party occuring on an
individual socket, yet the data is buffered in a layer that is not
visible to the application code.  So in effect, there is some kind of
'queueing' that is implicitly happening there.
Dave

> 
> > > Line 17 illustrates how the user can check to see when a response
> > > has been received.  While the async operation is processing, call.
> > > getAsyncStatus() will return Call.ASYNC_RUNNING.  When the operation
> > > completes, the value will switch to Call.ASYNC_READY.  The client
> > > can then call.getReturnValue() to return the response value.one
> > > possible result of operation may be exception i.e. result is
> > > containing SOAP:Fault
> > > how would it be handled by Call object? i think you will need to
> > > wrap exception
> >
> > There will be a method on the call object (getReturnedFault) that will allow the user to access fault
> > information.  When the status returns to ASYNC_READY and the return value is null, the developer
> > should check to ensure that getReturnedFault is also null to verify that an exception was not
> > returned.
> 
> actual return value can be null as i can easily have service that returns null
> as legal return value - right?
> 
> when "futures" are used it is possible to have more bullet proof mechanism
> that does not depend on user to check for special values. essentially
> it is an alternative getReturnValue/getReturnedFault combo that will return
> value (including null if it is actual value) or throw fault exception
> if SAOAP:Fault was received, something like this:
> 
> public Call {
>    public Object blockForReturnValue(long timeToWait) throws Throwable;
> }
> 
> thanks,
> 
> alek

-- 
Sonic Software - Backbone of the Extended Enterprise
--
David Chappell <ch...@sonicsoftware.com> Office: (781)999-7099
Mobile: (617)510-6566
Vice President and Chief Technology Evangelist, Sonic Software
co-author,"Java Web Services", (O'Reilly 2002)
"The Java Message Service", (O'Reilly 2000)
"Professional ebXML Foundations", (Wrox 2001)
--

Re: Asynchronous Transport in Apache Axis, JMS and beyond

Posted by Aleksander Slominski <as...@cs.indiana.edu>.
James M Snell wrote:

> Alek, Thanks for your feedback.  Comments in line below.

hi,

i think that aync messaging/invocations are crucial for web services
so it is nice to see that AXIS may have it working. especially interesting
would be too see one-way messaging implemented over HTTP ...

more comments below.

> Aleksander Slominski <as...@cs.indiana.edu> wrote on 09/04/2002 04:02:48 PM:
> > James M Snell wrote:
> > 17            while (call.getAsyncStatus() != Call.ASYNC_READY) {}
> > one thing that caught my eye: do you recommend as standard
> > approach to use busy wait?! i think that much better approach is
> > to have both status checking and blocking call to request
> > async operation to finish in given timeout in ms, for example
> >
> >     boolean gotResult = call.waitForResult(10 * 000);
>
> Either approach will work but your suggestion is more user friendly.  I think that implementing both
> approaches is a good idea.
>
> There is another option, btw, that allows the user to specify a callback listener implemention.  This
> will allow the user to receive response and fault events directly.  I did not include this in my
> initial discussion because I am considering it more of an advanced "here's enough rope to hang
> yourself" option that the typical user would not use.  It will be documented when the prototype is up
> and running.

there are some problems with callbacks including implementation overhead.
as there is no guarantee on how fast user provided callback function must return
(it can also get stuck and may not be able to return ever!) so you need to have
defensive approach typically having each callback delivered in a separate thread.

i think that callbacks have serious scalability limitations - what if AXIS has
to handle thousands of async responses simultaneously?
there may be not enough threads available to deliver callbacks,
you could queue callbacks delivery and pool threads but it will also
impact perfromance...

i think that providing alternative synchronization constructs that may be more
efficient would be very good . for example to notify user code about status of asynchronous
response it may be better to use something similar to select() in UNIX  -
this is tested and proven solution to handling multiple socket connections in many web servers...

> > Line 17 illustrates how the user can check to see when a response
> > has been received.  While the async operation is processing, call.
> > getAsyncStatus() will return Call.ASYNC_RUNNING.  When the operation
> > completes, the value will switch to Call.ASYNC_READY.  The client
> > can then call.getReturnValue() to return the response value.one
> > possible result of operation may be exception i.e. result is
> > containing SOAP:Fault
> > how would it be handled by Call object? i think you will need to
> > wrap exception
>
> There will be a method on the call object (getReturnedFault) that will allow the user to access fault
> information.  When the status returns to ASYNC_READY and the return value is null, the developer
> should check to ensure that getReturnedFault is also null to verify that an exception was not
> returned.

actual return value can be null as i can easily have service that returns null
as legal return value - right?

when "futures" are used it is possible to have more bullet proof mechanism
that does not depend on user to check for special values. essentially
it is an alternative getReturnValue/getReturnedFault combo that will return
value (including null if it is actual value) or throw fault exception
if SAOAP:Fault was received, something like this:

public Call {
   public Object blockForReturnValue(long timeToWait) throws Throwable;
}

thanks,

alek



Re: Asynchronous Transport in Apache Axis, JMS and beyond

Posted by James M Snell <ja...@us.ibm.com>.
Alek, Thanks for your feedback.  Comments in line below.

- James Snell
     IBM Emerging Technologies
     jasnell@us.ibm.com
     (559) 587-1233 (office)
     (700) 544-9035 (t/l)
     Programming Web Services With SOAP
         O'Reilly & Associates, ISBN 0596000952

     Have I not commanded you? Be strong and courageous. 
     Do not be terrified, do not be discouraged, for the Lord your 
     God will be with you whereever you go.    - Joshua 1:9

Aleksander Slominski <as...@cs.indiana.edu> wrote on 09/04/2002 04:02:48 
PM:

> James M Snell wrote:   
> General FYI: 
> 
> I am currently about a week away from providing a fix to the current
> Axis code that makes the asynchronous sending of messages by the 
> Axis Call object J2EE legal and that allows us to do asynchronous 
> request/response operations.  The approach I am taking provides this
> functionality by implementing a pluggable asynchronous processing 
> model that operates behind the Axis Call object and minimally 
> impacts the current programming model by adding only a couple of new
> methods to the current Call object interface.  An example of how 
> this mechanism will work is provided below. 
> 
> Currently in Axis, there is no way to do asynchronous 
> request/response operations.  Also, the invokeOneWay currently 
> implements asynchronous processing by creating a thread and invoking
> the Axis engine -- unfortunately this is not legal in J2EE since 
> thread management done directly within J2EE containers is not 
> allowed.  By implementing a pluggable mechanism, we can go back and 
> plug in an asynchronous processing model that IS legal within J2EE 
> -- including, but not limited to, using JMS. 
> 
> 1         try { 
> 2              String endpoint = 
> 3                      "some_service_endpoint"; 
> 4 
> 5              Service  service = new Service(); 
> 6              Call     call    = (Call) service.createCall(); 
> 7 
> 8              call.setProperty(AsyncCall.ASYNC_CALL_PROPERTY, 
> 9                              new Boolean(true)); 
> 10 
> 11             call.setTargetEndpointAddress( new java.net.URL(endpoint) 
); 
> 12             call.setOperationName( 
> 13             new QName("namespace", "getQuote")); 
> 14 
> 15             String ret = (String) call.invoke( new Object[] { "IBM" } 
); 
> 16hi, 
> 
> this is interesting approach: in this context Call works as "future" 
> object that can be used ot keep track 
> of asynchronous invocation. 

Yes.

>     
> 17            while (call.getAsyncStatus() != Call.ASYNC_READY) {}
> one thing that caught my eye: do you recommend as standard 
> approach to use busy wait?! i think that much better approach is 
> to have both status checking and blocking call to request 
> async operation to finish in given timeout in ms, for example 
> 
>     boolean gotResult = call.waitForResult(10 * 000); 

Either approach will work but your suggestion is more user friendly.  I 
think that implementing both approaches is a good idea. 

There is another option, btw, that allows the user to specify a callback 
listener implemention.  This will allow the user to receive response and 
fault events directly.  I did not include this in my initial discussion 
because I am considering it more of an advanced "here's enough rope to 
hang yourself" option that the typical user would not use.  It will be 
documented when the prototype is up and running.

>   18             System.out.println(call.getReturnValue()); 
> 19             System.out.println("done!"); 
> 20 
> 21         } catch (Exception e) { 
> 22             System.err.println(e.toString()); 
> 23         
> 
> The way this works is simple.  Lines 8-9 tell the Axis call object 
> to use Async processing.  When the call.invoke is done on Line 15, 
> Axis will dispatch the invocation to the pluggable async processing 
> implementation currently configured (uses non-J2EE legal approach by
> default, the admin can configure a new impl either through a system 
> property or using the engine config wsdd). 
> 
> Line 17 illustrates how the user can check to see when a response 
> has been received.  While the async operation is processing, call.
> getAsyncStatus() will return Call.ASYNC_RUNNING.  When the operation
> completes, the value will switch to Call.ASYNC_READY.  The client 
> can then call.getReturnValue() to return the response value.one 
> possible result of operation may be exception i.e. result is 
> containing SOAP:Fault 
> how would it be handled by Call object? i think you will need to 
> wrap exception 

There will be a method on the call object (getReturnedFault) that will 
allow the user to access fault information.  When the status returns to 
ASYNC_READY and the return value is null, the developer should check to 
ensure that getReturnedFault is also null to verify that an exception was 
not returned.

> and return it as call result but it is important to make it as clean
> as possible ... The invokeOneWay operation will be modified to use 
> the pluggable async processing impl automatically (without the end 
> user specifying ASYNC_CALL_PROPERTY == true). 
> 
> The point here (and the key benefit) is that from the end users 
> point of view, how the asyncronous processing is actually 
> implemented is irrelevant.  The existing programming model is 
> impacted in a very minimal way.  This could be provided for Axis 1.0
> without making very significant changes to the current axis code base. 
> 
> The implementation of this is about half way done (I'm currently 
> working on a J2EE legal pluggable implementation).how will it handle
> correlating asynchronous messages in different transports 
> such as JMS or SMTP? or even more interestingly will it allow 
> to send message over one transport (ex. JMS) and receive response 
> through different transport (ex.SMTP)? 
> 

It won't.  This mechanism provides a layer of asynchrony under the Axis 
Call object but on top of the Axis Engine.  Transport level correlation 
and the details of how messages are actually sent will need to take place 
within the Axis Engine layer.

> just few thoughts ... 
> 
> thanks, 
> 
> alek 
>  

Re: Asynchronous Transport in Apache Axis, JMS and beyond

Posted by Aleksander Slominski <as...@cs.indiana.edu>.
James M Snell wrote:

>
> General FYI:
>
> I am currently about a week away from providing a fix to the current Axis code that makes the
> asynchronous sending of messages by the Axis Call object J2EE legal and that allows us to do
> asynchronous request/response operations.  The approach I am taking provides this functionality by
> implementing a pluggable asynchronous processing model that operates behind the Axis Call object and
> minimally impacts the current programming model by adding only a couple of new methods to the current
> Call object interface.  An example of how this mechanism will work is provided below.
>
> Currently in Axis, there is no way to do asynchronous request/response operations.  Also, the
> invokeOneWay currently implements asynchronous processing by creating a thread and invoking the Axis
> engine -- unfortunately this is not legal in J2EE since thread management done directly within J2EE
> containers is not allowed.  By implementing a pluggable mechanism, we can go back and plug in an
> asynchronous processing model that IS legal within J2EE -- including, but not limited to, using JMS.
>
> 1         try {
> 2              String endpoint =
> 3                      "some_service_endpoint";
> 4
> 5              Service  service = new Service();
> 6              Call     call    = (Call) service.createCall();
> 7
> 8              call.setProperty(AsyncCall.ASYNC_CALL_PROPERTY,
> 9                              new Boolean(true));
> 10
> 11             call.setTargetEndpointAddress( new java.net.URL(endpoint) );
> 12             call.setOperationName(
> 13             new QName("namespace", "getQuote"));
> 14
> 15             String ret = (String) call.invoke( new Object[] { "IBM" } );
> 16

hi,

this is interesting approach: in this context Call works as "future"
object that can be used ot keep track
of asynchronous invocation.


>
> 17            while (call.getAsyncStatus() != Call.ASYNC_READY) {}

one thing that caught my eye: do you recommend as standard
approach to use busy wait?! i think that much better approach is
to have both status checking and blocking call to request
async operation to finish in given timeout in ms, for example

    boolean gotResult = call.waitForResult(10 * 000);


> 18             System.out.println(call.getReturnValue());
> 19             System.out.println("done!");
> 20
> 21         } catch (Exception e) {
> 22             System.err.println(e.toString());
> 23         }
>
> The way this works is simple.  Lines 8-9 tell the Axis call object to use Async processing.  When the
> call.invoke is done on Line 15, Axis will dispatch the invocation to the pluggable async processing
> implementation currently configured (uses non-J2EE legal approach by default, the admin can configure
> a new impl either through a system property or using the engine config wsdd).
>
> Line 17 illustrates how the user can check to see when a response has been received.  While the async
> operation is processing, call.getAsyncStatus() will return Call.ASYNC_RUNNING.  When the operation
> completes, the value will switch to Call.ASYNC_READY.  The client can then call.getReturnValue() to
> return the response value.

one possible result of operation may be exception i.e. result is containing SOAP:Fault
how would it be handled by Call object? i think you will need to wrap exception
and return it as call result but it is important to make it as clean as possible ...

> The invokeOneWay operation will be modified to use the pluggable async processing impl automatically
> (without the end user specifying ASYNC_CALL_PROPERTY == true).
>
> The point here (and the key benefit) is that from the end users point of view, how the asyncronous
> processing is actually implemented is irrelevant.  The existing programming model is impacted in a
> very minimal way.  This could be provided for Axis 1.0 without making very significant changes to the
> current axis code base.
>
> The implementation of this is about half way done (I'm currently working on a J2EE legal pluggable
> implementation).

how will it handle correlating asynchronous messages in different transports
such as JMS or SMTP? or even more interestingly will it allow
to send message over one transport (ex. JMS) and receive response
through different transport (ex.SMTP)?

just few thoughts ...

thanks,

alek