Author: mmerz
Date: Mon Nov 1 10:38:07 2004
New Revision: 56267
Added:
incubator/beehive/trunk/samples/petstoreWeb/WEB-INF/src/PetstoreInventoryManager.jws
- copied, changed from rev 56250,
incubator/beehive/trunk/samples/petstoreWeb/petstore.jws
Removed:
incubator/beehive/trunk/samples/petstoreWeb/petstore.jws
Modified:
incubator/beehive/trunk/samples/petstoreWeb/WEB-INF/server-config.wsdd
incubator/beehive/trunk/test/ant/buildWebappCore.xml
incubator/beehive/trunk/wsm/src/runtime/org/apache/beehive/wsm/axis/AnnotatedWebServiceDeploymentHandler.java
incubator/beehive/trunk/wsm/src/runtime/org/apache/beehive/wsm/axis/DropInDeploymentHandler.java
Log:
Changed samples/petstoreWed/petstore.jws into
samples/petstoreWeb/WEB-INF/src/PetstoreInventoryManager.jws and simplified it
by
using the JAX-RPC ServiceLifecycle interface to obtain the ServletContext.
Modified the server-config.wsdd in the petstore sample to use the
AnnotatedWebServiceDeploymentHandler and merged the change to
buildWebAppCore.xml
into the trunk so .jws files would be compiled in the correct order.
Removed a call to reinitialize the SOAPService on every hit.
Contributor: Jonathan Colwell
Modified: incubator/beehive/trunk/samples/petstoreWeb/WEB-INF/server-config.wsdd
==============================================================================
--- incubator/beehive/trunk/samples/petstoreWeb/WEB-INF/server-config.wsdd
(original)
+++ incubator/beehive/trunk/samples/petstoreWeb/WEB-INF/server-config.wsdd
Mon Nov 1 10:38:07 2004
@@ -1,51 +1,54 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<deployment xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
- <globalConfiguration>
- <parameter name="adminPassword" value="admin"/>
- <parameter name="disablePrettyXML" value="true"/>
- <parameter name="attachments.implementation"
value="org.apache.axis.attachments.AttachmentsImpl"/>
- <parameter name="sendXsiTypes" value="true"/>
- <!--<parameter name="sendMultiRefs" value="true"/>-->
- <parameter name="sendXMLDeclaration" value="true"/>
- <requestFlow>
- <handler type="java:org.apache.beehive.wsm.axis.DropInDeploymentHandler">
- <parameter name="scope" value="session"/>
- </handler>
- <handler type="java:org.apache.axis.handlers.JWSHandler">
- <parameter name="scope" value="session"/>
- </handler>
- <!--<handler type="java:org.apache.axis.handlers.JWSHandler">
- <parameter name="scope" value="request"/>
- <parameter name="extension" value=".jwr"/>
- </handler>-->
- </requestFlow>
- </globalConfiguration>
- <handler name="LocalResponder"
type="java:org.apache.axis.transport.local.LocalResponder"/>
- <handler name="URLMapper"
type="java:org.apache.axis.handlers.http.URLMapper"/>
- <handler name="Authenticate"
type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/>
- <service name="AdminService" provider="java:MSG">
- <parameter name="allowedMethods" value="AdminService"/>
- <parameter name="enableRemoteAdmin" value="false"/>
- <parameter name="className" value="org.apache.axis.utils.Admin"/>
- <namespace>http://xml.apache.org/axis/wsdd/</namespace>
- </service>
- <service name="Version" provider="java:RPC">
- <parameter name="allowedMethods" value="getVersion"/>
- <parameter name="className" value="org.apache.axis.Version"/>
- </service>
- <transport name="http">
- <requestFlow>
- <handler type="URLMapper"/>
- <handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/>
- </requestFlow>
- <parameter name="qs:list"
value="org.apache.axis.transport.http.QSListHandler"/>
- <parameter name="qs:wsdl"
value="org.apache.axis.transport.http.QSWSDLHandler"/>
- <parameter name="qs:method"
value="org.apache.axis.transport.http.QSMethodHandler"/>
- </transport>
- <transport name="local">
- <responseFlow>
- <handler type="LocalResponder"/>
- </responseFlow>
- </transport>
-</deployment>
-
+<?xml version="1.0" encoding="UTF-8"?>
+<deployment xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
+ <globalConfiguration>
+ <parameter name="adminPassword" value="admin"/>
+ <parameter name="disablePrettyXML" value="true"/>
+ <parameter name="attachments.implementation"
value="org.apache.axis.attachments.AttachmentsImpl"/>
+ <parameter name="sendXsiTypes" value="true"/>
+ <!--<parameter name="sendMultiRefs" value="true"/>-->
+ <parameter name="sendXMLDeclaration" value="true"/>
+ <requestFlow>
+ <handler
type="java:org.apache.beehive.wsm.axis.AnnotatedWebServiceDeploymentHandler">
+ <parameter name="scope" value="session"/>
+ </handler>
+ <handler
type="java:org.apache.beehive.wsm.axis.DropInDeploymentHandler">
+ <parameter name="scope" value="session"/>
+ </handler>
+ <handler type="java:org.apache.axis.handlers.JWSHandler">
+ <parameter name="scope" value="session"/>
+ </handler>
+ <!--<handler type="java:org.apache.axis.handlers.JWSHandler">
+ <parameter name="scope" value="request"/>
+ <parameter name="extension" value=".jwr"/>
+ </handler>-->
+ </requestFlow>
+ </globalConfiguration>
+ <handler name="LocalResponder"
type="java:org.apache.axis.transport.local.LocalResponder"/>
+ <handler name="URLMapper"
type="java:org.apache.axis.handlers.http.URLMapper"/>
+ <handler name="Authenticate"
type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/>
+ <service name="AdminService" provider="java:MSG">
+ <parameter name="allowedMethods" value="AdminService"/>
+ <parameter name="enableRemoteAdmin" value="false"/>
+ <parameter name="className" value="org.apache.axis.utils.Admin"/>
+ <namespace>http://xml.apache.org/axis/wsdd/</namespace>
+ </service>
+ <service name="Version" provider="java:RPC">
+ <parameter name="allowedMethods" value="getVersion"/>
+ <parameter name="className" value="org.apache.axis.Version"/>
+ </service>
+ <transport name="http">
+ <requestFlow>
+ <handler type="URLMapper"/>
+ <handler
type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/>
+ </requestFlow>
+ <parameter name="qs:list"
value="org.apache.axis.transport.http.QSListHandler"/>
+ <parameter name="qs:wsdl"
value="org.apache.axis.transport.http.QSWSDLHandler"/>
+ <parameter name="qs:method"
value="org.apache.axis.transport.http.QSMethodHandler"/>
+ </transport>
+ <transport name="local">
+ <responseFlow>
+ <handler type="LocalResponder"/>
+ </responseFlow>
+ </transport>
+</deployment>
+
Copied:
incubator/beehive/trunk/samples/petstoreWeb/WEB-INF/src/PetstoreInventoryManager.jws
(from rev 56250, incubator/beehive/trunk/samples/petstoreWeb/petstore.jws)
==============================================================================
--- incubator/beehive/trunk/samples/petstoreWeb/petstore.jws (original)
+++
incubator/beehive/trunk/samples/petstoreWeb/WEB-INF/src/PetstoreInventoryManager.jws
Mon Nov 1 10:38:07 2004
@@ -37,11 +37,7 @@
import javax.servlet.ServletContext;
import javax.xml.rpc.server.ServletEndpointContext;
-
-import org.apache.axis.AxisFault;
-import org.apache.axis.Constants;
-import org.apache.axis.MessageContext;
-import org.apache.axis.attachments.ImageDataSource;
+import javax.xml.rpc.server.ServiceLifecycle;
import org.apache.beehive.controls.api.bean.Control;
@@ -60,13 +56,25 @@
@WebService(name = "PetStoreInventoryManager",
serviceName = "PetStoreInventoryManagementService",
targetNamespace =
- "http://beehive.apache.org/PetStoreInventoryManager")
+ "http://beehive.apache.org/PetstoreInventoryManager")
//@SOAPBinding(style = SOAPBinding.Style.RPC, use = SOAPBinding.Use.ENCODED)
-public class petstore {
+public class PetstoreInventoryManager implements ServiceLifecycle {
@Control
public CatalogControlBean catalogBean;
+ private ServletEndpointContext mSec;
+
+ public void init(Object sec)
+ {
+ mSec = (ServletEndpointContext)sec;
+ }
+
+ public void destroy()
+ {
+ mSec = null;
+ }
+
/*
* Made public to show that @WebMethod really controls which
* methods are exposed as opposed to all public methods in
@@ -96,15 +104,12 @@
private Image obtainImage(String imagePath)
{
- ServletEndpointContext sec = (ServletEndpointContext)
- MessageContext.getCurrentContext()
- .getProperty(Constants.MC_SERVLET_ENDPOINT_CONTEXT);
- if (null == sec) {
+ if (null == mSec) {
System.out.println("null ServletEndpointContext");
}
else {
try {
- ServletContext sc = sec.getServletContext();
+ ServletContext sc = mSec.getServletContext();
if (null == sc) {
System.out.println("null ServletContext");
}
Modified: incubator/beehive/trunk/test/ant/buildWebappCore.xml
==============================================================================
--- incubator/beehive/trunk/test/ant/buildWebappCore.xml (original)
+++ incubator/beehive/trunk/test/ant/buildWebappCore.xml Mon Nov 1
10:38:07 2004
@@ -98,7 +98,7 @@
gendir="${webapp.dir}/WEB-INF/${tmp.sourcegen.dir}"
classpathref="controls.build.classpath"
compileByExtension="true"
- srcExtensions="*.java,*.jcx,*.jcs"
+ srcExtensions="*.java,*.jcx,*.jcs,*.jws"
debug="true"/>
<echo>========== Compile Page Flows ==========</echo>
Modified:
incubator/beehive/trunk/wsm/src/runtime/org/apache/beehive/wsm/axis/AnnotatedWebServiceDeploymentHandler.java
==============================================================================
---
incubator/beehive/trunk/wsm/src/runtime/org/apache/beehive/wsm/axis/AnnotatedWebServiceDeploymentHandler.java
(original)
+++
incubator/beehive/trunk/wsm/src/runtime/org/apache/beehive/wsm/axis/AnnotatedWebServiceDeploymentHandler.java
Mon Nov 1 10:38:07 2004
@@ -69,13 +69,12 @@
createSOAPServiceFromAnnotatedClass(findWebServiceClass(mc));
if (null != ss) {
ss.setEngine(mc.getAxisEngine());
- ss.init();
mc.setService(ss);
/*
- * NOTE [EMAIL PROTECTED] 2004-Oct-22 -- not
sure why, but xsi
- * types were still being sent even with
literal Use. Forcing it
- * to not send the types unless encoded.
- */
+ * NOTE [EMAIL PROTECTED] 2004-Oct-22 -- not sure why, but xsi
+ * types were still being sent even with literal Use. Forcing
it
+ * to not send the types unless encoded.
+ */
mc.setProperty(Call.SEND_TYPE_ATTR,
new Boolean(Use.ENCODED
.equals(ss.getUse())));
@@ -128,6 +127,9 @@
if (null != wsm) {
HandlerHandler hh = new HandlerHandler(wsm);
hh.init();
+ // NOTE [EMAIL PROTECTED] 2004-Nov-01 --
+ // not calling rpc.init() since ControlProvider won't do anything
+ // with it and I don't want the HandlerHandler initialized twice.
rpc = new SOAPService(hh, new ControlProvider(), hh);
rpc.setName(wsm.getWsName());
rpc.setOption(RPCProvider.OPTION_CLASSNAME, cls.getName());
Modified:
incubator/beehive/trunk/wsm/src/runtime/org/apache/beehive/wsm/axis/DropInDeploymentHandler.java
==============================================================================
---
incubator/beehive/trunk/wsm/src/runtime/org/apache/beehive/wsm/axis/DropInDeploymentHandler.java
(original)
+++
incubator/beehive/trunk/wsm/src/runtime/org/apache/beehive/wsm/axis/DropInDeploymentHandler.java
Mon Nov 1 10:38:07 2004
@@ -85,7 +85,6 @@
createSOAPServiceFromAnnotatedClass(compileDroppedInSource(mc));
if (null != ss) {
ss.setEngine(mc.getAxisEngine());
- ss.init();
mc.setService(ss);
/*
* NOTE [EMAIL PROTECTED] 2004-Oct-22 --
@@ -144,6 +143,9 @@
if (null != wsm) {
HandlerHandler hh = new HandlerHandler(wsm);
hh.init();
+ // NOTE [EMAIL PROTECTED] 2004-Nov-01 --
+ // not calling rpc.init() since ControlProvider won't do anything
+ // with it and I don't want the HandlerHandler initialized twice.
rpc = new SOAPService(hh, new ControlProvider(), hh);
rpc.setName(wsm.getWsName());
rpc.setOption(RPCProvider.OPTION_CLASSNAME, cls.getName());