User: jung
Date: 01/01/18 23:44:20
Modified: . examples.html
Log:
removed the "classic" compiler preference in makefile.
moved confusing utility code into a precompiled jar.
Revision Changes Path
1.3 +81 -8 zoap/examples.html
Index: examples.html
===================================================================
RCS file: /products/cvs/ejboss/zoap/examples.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- examples.html 2000/12/04 12:35:24 1.2
+++ examples.html 2001/01/19 07:44:20 1.3
@@ -1,5 +1,5 @@
<!--
=========================================================================================================
-->
-<!-- $Id: examples.html,v 1.2 2000/12/04 12:35:24 jung Exp $ -->
+<!-- $Id: examples.html,v 1.3 2001/01/19 07:44:20 jung Exp $ -->
<!-- Copyright (c) 2000 infor:business solutions AG, Hauerstrasse 12, -->
<!-- D-66299 Friedrichsthal, Germany. All Rights Reserved. -->
<!-- -->
@@ -34,7 +34,7 @@
<h2>Comments to the Tests/Examples </h2>
-Currently, ZOAP comes with a builtin unit test suite (real examples follow later).
In the built binary
+Currently, ZOAP comes with a builtin unit test suite. In the binary
distribution, there is a <a href="dist/bin/test.bat">bin/test.bat</a> that runs
this test suite. In order to
do so successfully, you need to:
@@ -47,18 +47,82 @@
<li>
run a ZOAP-enabled jBoss Server with the ZOAP test bean in it. For that you have to:
<ul>
-<li> copy <a href="dist/lib/ext/zoap.jar">zoap.jar</a> into your jboss/lib/ext
directory. </li>
-<li> copy <a href="dist/conf/zoap.conf">zoap.conf</a> into your jboss/conf
directory. </li>
-<li> add the lines of <a href="dist/conf/jboss.conf">jboss.conf</a> to you
jboss/conf/jboss.conf file (before the
-containerfactory mlet is started).
+<li> copy <a href="dist/lib/ext/zoap.jar">zoap.jar</a> and <a
href="dist/lib/ext/inforUtil.jar">inforUtil.jar</a> into your jboss/lib/ext directory.
</li>
+<li> copy <a href="dist/conf/zoap.conf">org.jboss.zoap.conf</a> into your
jboss/conf/<confname> directory. </li>
+<li> add the lines of <a href="dist/conf/jboss.conf">jboss.conf</a> to you
jboss/conf/<confname>/jboss.conf file (before the
+containerfactory mlet - this step is not needed anymore with cvs-snapshots of jboss
later than Dec, 2000).
+<li> add the lines of <a href="dist/conf/jboss.jcml">jboss.jcml</a> to you
jboss/conf/<confname>/jboss.jcml (this step is needed from cvs-snapshots
+of jboss of Dec, 2000 on).
<li> run the jboss server </li>
<li> drop <a href="dist/deploy/test-bean.jar">test-bean.jar</a> into your
jboss/deploy directory to deploy the test
bean. The auto-deployer should now successfully create a new ZOAP-enabled session
bean.
</ul>
</li>
-<li> run <a href="dist/bin/test.bat">test.bat</a> which normally should go through
without errors!. </li>
+<li> run <a href="dist/bin/test.bat">test.bat</a> which normally should go through
without Junit errors (the exceptions that are reported, but not
+detected by junit are just notifications that during the test, some web-server is
shut down ... </li>
</ul>
+<h2>How to Use ZOAP </h2>
+
+When you have installed the above test, then your jboss server is already
in-principle ZOAP-enabled. What it needs in addition
+to run your own beans (stateless session beans, for the moment) XML-enabled should
be described in the following.
+
+<h3>Write your bean-code as normal</h3>
+
+ZOAP copes with most of the Java-builtin data-types such as arrays and collections
(because collections are untyped, they look quite ugly
+from the XML point of view, but that�s another issue ...).
+
+<h3>Provide the jboss container factory with invoker information</h3>
+
+In packaging your beans, you must indicate that you want to expose a ZOAP-invoker
instead of the default JRMP-one for your bean.
+You can do that either by changing the default configuration in
jboss/conf/<confname>/standardjboss.xml or by embedding the following
+xml into the jboss.xml that is packed with your beans:
+
+<pre>
+
+</jboss>
+ <enterprise-beans>
+ <session>
+ <ejb-name>YourService</ejb-name>
+ <jndi-name>YourServiceName</jndi-name>
+ <configuration-name>SOAP-enabled Stateless
SessionBean</configuration-name>
+ </session>
+ </enterprise-beans>
+ <container-configurations>
+ <container-configuration
configuration-class="org.jboss.ejb.deployment.StatelessSessionContainerConfiguration">
+ <container-name>SOAP-enabled Stateless
SessionBean</container-name>
+
<container-invoker>org.jboss.ejb.plugins.zoap.SoapContainerInvoker</container-invoker>
+ <container-invoker-conf>
+ <ReadMetaData>false</ReadMetaData>
+
<BindingClass>org.zoap.soap.meta.builtin.DefaultBinding</BindingClass>
+ <MetaDataFileName></MetaDataFileName>
+
<SerialisationPolicyClass>org.zoap.xml.SerialisationPolicy$DefaultSerialisationPolicy</SerialisationPolicyClass>
+ </container-invoker-conf>
+ </container-configuration>
+ </container-configurations>
+</jboss>
+</pre>
+
+This snippet states that the bean YourService should be deployed using the
SoapContainerInvoker. The mapping between Java classes and XML
+appearances is done using ZOAP�s automatic mode, i.e., the XML-Schemas are built on
the fly which is the responsibility of the org.zoap.soap.meta.builtin.DefaultBinding
+class. An alternative would be that you describe the mapping declaratively by *.scl
and *.xsd files which you embed into your jar:
+
+<pre>
+<jboss>
+ <container-configurations>
+ <container-configuration
configuration-class="org.jboss.ejb.deployment.StatelessSessionContainerConfiguration">
+ <container-invoker-conf>
+ <ReadMetaData>true</ReadMetaData>
+
<BindingClass>org.zoap.soap.meta.builtin.DefaultMetaBinding</BindingClass>
+
<MetaDataFileName>META-INF/contract.scl</MetaDataFileName>
+ </container-invoker-conf>
+ </container-configuration>
+ </container-configurations>
+</jboss>
+</pre>
+This snippet causes the org.zoap.soap.meta.builtin.DefaultMetaBinding to read its
mapping data from the root file META-INF/contract.scl. Please have
+a look at the test example to get a feeling for how this is done.
+
<hr>
<a href="http://www.infor.de"><img src="lib/resources/images/infor_logo.jpg"
height="72"></a>
@@ -66,7 +130,7 @@
<hr>
-<small> Last change of $RCSfile: examples.html,v $ by $Author: jung $ on $Date:
2000/12/04 12:35:24 $;
+<small> Last change of $RCSfile: examples.html,v $ by $Author: jung $ on $Date:
2001/01/19 07:44:20 $;
See source for logging information.
<p>
Copyright (c) 2000 <a href="http://www.infor.de">infor:business solutions AG</a>,
Hauerstrasse 12,
@@ -96,6 +160,11 @@
<!--
$Log: examples.html,v $
+ Revision 1.3 2001/01/19 07:44:20 jung
+ removed the "classic" compiler preference in makefile.
+
+ moved confusing utility code into a precompiled jar.
+
Revision 1.2 2000/12/04 12:35:24 jung
adopted to latest jboss container,