You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beehive.apache.org by mm...@apache.org on 2004/11/01 19:38:07 UTC

svn commit: rev 56267 - in incubator/beehive/trunk: samples/petstoreWeb samples/petstoreWeb/WEB-INF samples/petstoreWeb/WEB-INF/src test/ant wsm/src/runtime/org/apache/beehive/wsm/axis

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 jcolwell@bea.com 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 jcolwell@bea.com 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 jcolwell@bea.com 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 jcolwell@bea.com 2004-Oct-22 -- 
@@ -144,6 +143,9 @@
         if (null != wsm) {
             HandlerHandler hh = new HandlerHandler(wsm);
             hh.init();
+            // NOTE jcolwell@bea.com 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());