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());

Reply via email to