You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by pr...@apache.org on 2007/01/25 07:33:06 UTC
svn commit: r499679 - in /geronimo/server/branches/2.0-M2: ./
assemblies/geronimo-jetty6-jee5/src/main/var/config/
assemblies/geronimo-tomcat6-jee5/src/main/var/config/
configs/client-deployer/src/plan/ configs/cxf/
configs/j2ee-deployer/src/plan/ conf...
Author: prasad
Date: Wed Jan 24 22:33:05 2007
New Revision: 499679
URL: http://svn.apache.org/viewvc?view=rev&rev=499679
Log:
* Merging changes from trunk to M2. Second batch
Modified:
geronimo/server/branches/2.0-M2/assemblies/geronimo-jetty6-jee5/src/main/var/config/config.xml
geronimo/server/branches/2.0-M2/assemblies/geronimo-tomcat6-jee5/src/main/var/config/config.xml
geronimo/server/branches/2.0-M2/configs/client-deployer/src/plan/plan.xml
geronimo/server/branches/2.0-M2/configs/cxf/pom.xml
geronimo/server/branches/2.0-M2/configs/j2ee-deployer/src/plan/plan.xml
geronimo/server/branches/2.0-M2/configs/openejb-deployer/src/plan/plan.xml
geronimo/server/branches/2.0-M2/modules/geronimo-axis/src/main/java/org/apache/geronimo/axis/server/AxisWebServiceContainer.java
geronimo/server/branches/2.0-M2/modules/geronimo-axis2/src/main/java/org/apache/geronimo/axis2/Axis2WebServiceContainer.java
geronimo/server/branches/2.0-M2/modules/geronimo-cxf-builder/src/main/java/org/apache/geronimo/cxf/builder/CXFBuilder.java
geronimo/server/branches/2.0-M2/modules/geronimo-cxf/pom.xml
geronimo/server/branches/2.0-M2/modules/geronimo-cxf/src/main/java/org/apache/geronimo/cxf/CXFWebServiceContainer.java
geronimo/server/branches/2.0-M2/modules/geronimo-cxf/src/main/java/org/apache/geronimo/cxf/CXFWebServiceContainerFactoryGBean.java
geronimo/server/branches/2.0-M2/modules/geronimo-cxf/src/main/java/org/apache/geronimo/cxf/GeronimoDestination.java
geronimo/server/branches/2.0-M2/modules/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/EARContext.java
geronimo/server/branches/2.0-M2/modules/geronimo-jetty6/pom.xml
geronimo/server/branches/2.0-M2/modules/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/JettyEJBWebServiceContext.java
geronimo/server/branches/2.0-M2/modules/geronimo-jetty6/src/test/java/org/apache/geronimo/jetty6/app/MockWebServiceContainer.java
geronimo/server/branches/2.0-M2/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/util/ClassLoaderRegistry.java
geronimo/server/branches/2.0-M2/modules/geronimo-openejb-builder/geronimo-openejb.xml
geronimo/server/branches/2.0-M2/modules/geronimo-openejb-builder/src/test/java/org/apache/geronimo/openejb/deployment/EjbModuleBuilderTest.java
geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/GeronimoStandardContext.java
geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/TomcatEJBWebServiceContext.java
geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/main/resources/META-INF/geronimo-dependency.xml
geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/test/java/org/apache/geronimo/tomcat/app/MockWebServiceContainer.java
geronimo/server/branches/2.0-M2/modules/geronimo-webservices/src/main/java/org/apache/geronimo/webservices/WebServiceContainer.java
geronimo/server/branches/2.0-M2/modules/geronimo-webservices/src/main/java/org/apache/geronimo/webservices/WebServiceContainerInvoker.java
geronimo/server/branches/2.0-M2/pom.xml
geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/pom.xml
geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/java/org/apache/hello_world_soap_http/GreeterImpl.java
geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/geronimo-web.xml
geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/web.xml
geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/webservices.xml
geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/wsdl/greeter_control.wsdl
geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/test/resources/request1.xml
Modified: geronimo/server/branches/2.0-M2/assemblies/geronimo-jetty6-jee5/src/main/var/config/config.xml
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/assemblies/geronimo-jetty6-jee5/src/main/var/config/config.xml?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/assemblies/geronimo-jetty6-jee5/src/main/var/config/config.xml (original)
+++ geronimo/server/branches/2.0-M2/assemblies/geronimo-jetty6-jee5/src/main/var/config/config.xml Wed Jan 24 22:33:05 2007
@@ -161,18 +161,13 @@
</pattern>
</reference>
</gbean>
- <gbean name="OpenEjbRemoteRefBuilder">
+ <gbean name="EjbRefBuilder">
<attribute name="eeNamespaces">http://java.sun.com/xml/ns/j2ee,http://java.sun.com/xml/ns/javaee</attribute>
</gbean>
- <gbean name="OpenEjbClientRemoteRefBuilder">
+ <gbean name="ClientEjbRefBuilder">
<attribute name="eeNamespaces">http://java.sun.com/xml/ns/j2ee,http://java.sun.com/xml/ns/javaee</attribute>
</gbean>
-
- <gbean name="OpenEjbLocalRefBuilder">
- <attribute name="eeNamespaces">http://java.sun.com/xml/ns/j2ee,http://java.sun.com/xml/ns/javaee</attribute>
- </gbean>
-
</module>
<module name="org.apache.geronimo.configs/client-deployer/${version}/car">
Modified: geronimo/server/branches/2.0-M2/assemblies/geronimo-tomcat6-jee5/src/main/var/config/config.xml
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/assemblies/geronimo-tomcat6-jee5/src/main/var/config/config.xml?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/assemblies/geronimo-tomcat6-jee5/src/main/var/config/config.xml (original)
+++ geronimo/server/branches/2.0-M2/assemblies/geronimo-tomcat6-jee5/src/main/var/config/config.xml Wed Jan 24 22:33:05 2007
@@ -168,18 +168,13 @@
</pattern>
</reference>
</gbean>
- <gbean name="OpenEjbRemoteRefBuilder">
+ <gbean name="EjbRefBuilder">
<attribute name="eeNamespaces">http://java.sun.com/xml/ns/j2ee,http://java.sun.com/xml/ns/javaee</attribute>
</gbean>
- <gbean name="OpenEjbClientRemoteRefBuilder">
+ <gbean name="ClientEjbRefBuilder">
<attribute name="eeNamespaces">http://java.sun.com/xml/ns/j2ee,http://java.sun.com/xml/ns/javaee</attribute>
</gbean>
-
- <gbean name="OpenEjbLocalRefBuilder">
- <attribute name="eeNamespaces">http://java.sun.com/xml/ns/j2ee,http://java.sun.com/xml/ns/javaee</attribute>
- </gbean>
-
</module>
<module name="org.apache.geronimo.configs/client-deployer/${version}/car">
Modified: geronimo/server/branches/2.0-M2/configs/client-deployer/src/plan/plan.xml
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/configs/client-deployer/src/plan/plan.xml?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/configs/client-deployer/src/plan/plan.xml (original)
+++ geronimo/server/branches/2.0-M2/configs/client-deployer/src/plan/plan.xml Wed Jan 24 22:33:05 2007
@@ -51,7 +51,7 @@
<name>AxisClientServiceRefBuilder</name>
</pattern>
<pattern>
- <name>OpenEjbClientRemoteRefBuilder</name>
+ <name>ClientEjbRefBuilder</name>
</pattern>
<pattern>
<name>OpenEjbClientCorbaRefBuilder</name>
Modified: geronimo/server/branches/2.0-M2/configs/cxf/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/configs/cxf/pom.xml?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/configs/cxf/pom.xml (original)
+++ geronimo/server/branches/2.0-M2/configs/cxf/pom.xml Wed Jan 24 22:33:05 2007
@@ -49,6 +49,13 @@
<version>${version}</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.configs</groupId>
+ <artifactId>transaction-jta11</artifactId>
+ <version>${version}</version>
+ <type>car</type>
+ </dependency>
+
<dependency>
<groupId>org.apache.geronimo.modules</groupId>
<artifactId>geronimo-cxf</artifactId>
Modified: geronimo/server/branches/2.0-M2/configs/j2ee-deployer/src/plan/plan.xml
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/configs/j2ee-deployer/src/plan/plan.xml?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/configs/j2ee-deployer/src/plan/plan.xml (original)
+++ geronimo/server/branches/2.0-M2/configs/j2ee-deployer/src/plan/plan.xml Wed Jan 24 22:33:05 2007
@@ -120,10 +120,7 @@
<name>AxisServiceRefBuilder</name>
</pattern>
<pattern>
- <name>OpenEjbRemoteRefBuilder</name>
- </pattern>
- <pattern>
- <name>OpenEjbLocalRefBuilder</name>
+ <name>EjbRefBuilder</name>
</pattern>
<pattern>
<name>OpenEjbCorbaRefBuilder</name>
Modified: geronimo/server/branches/2.0-M2/configs/openejb-deployer/src/plan/plan.xml
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/configs/openejb-deployer/src/plan/plan.xml?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/configs/openejb-deployer/src/plan/plan.xml (original)
+++ geronimo/server/branches/2.0-M2/configs/openejb-deployer/src/plan/plan.xml Wed Jan 24 22:33:05 2007
@@ -63,7 +63,7 @@
</gbean>
- <gbean name="OpenEjbRemoteRefBuilder" class="org.apache.geronimo.openejb.deployment.ejbref.RemoteEjbRefBuilder">
+ <gbean name="EjbRefBuilder" class="org.apache.geronimo.openejb.deployment.EjbRefBuilder">
<attribute name="eeNamespaces">http://java.sun.com/xml/ns/j2ee</attribute>
<xml-attribute name="defaultEnvironment">
<environment xmlns="http://geronimo.apache.org/xml/ns/deployment-${geronimoSchemaVersion}">
@@ -78,7 +78,7 @@
</xml-attribute>
</gbean>
- <gbean name="OpenEjbClientRemoteRefBuilder" class="org.apache.geronimo.openejb.deployment.ejbref.ClientEjbRefBuilder">
+ <gbean name="ClientEjbRefBuilder" class="org.apache.geronimo.openejb.deployment.EjbRefBuilder">
<attribute name="eeNamespaces">http://java.sun.com/xml/ns/j2ee</attribute>
<attribute name="host">${PlanClientAddresses}</attribute>
<attribute name="port">${PlanOpenEJBPort}</attribute>
@@ -94,9 +94,4 @@
</environment>
</xml-attribute>
</gbean>
-
- <gbean name="OpenEjbLocalRefBuilder" class="org.apache.geronimo.openejb.deployment.ejbref.LocalEjbRefBuilder">
- <attribute name="eeNamespaces">http://java.sun.com/xml/ns/j2ee</attribute>
- </gbean>
-
</module>
Modified: geronimo/server/branches/2.0-M2/modules/geronimo-axis/src/main/java/org/apache/geronimo/axis/server/AxisWebServiceContainer.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/modules/geronimo-axis/src/main/java/org/apache/geronimo/axis/server/AxisWebServiceContainer.java?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/modules/geronimo-axis/src/main/java/org/apache/geronimo/axis/server/AxisWebServiceContainer.java (original)
+++ geronimo/server/branches/2.0-M2/modules/geronimo-axis/src/main/java/org/apache/geronimo/axis/server/AxisWebServiceContainer.java Wed Jan 24 22:33:05 2007
@@ -262,6 +262,9 @@
response.getOutputStream().flush();
}
+ public void destroy() {
+ }
+
public URI getLocation() {
return location;
}
Modified: geronimo/server/branches/2.0-M2/modules/geronimo-axis2/src/main/java/org/apache/geronimo/axis2/Axis2WebServiceContainer.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/modules/geronimo-axis2/src/main/java/org/apache/geronimo/axis2/Axis2WebServiceContainer.java?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/modules/geronimo-axis2/src/main/java/org/apache/geronimo/axis2/Axis2WebServiceContainer.java (original)
+++ geronimo/server/branches/2.0-M2/modules/geronimo-axis2/src/main/java/org/apache/geronimo/axis2/Axis2WebServiceContainer.java Wed Jan 24 22:33:05 2007
@@ -343,6 +343,9 @@
}
}
+ public void destroy() {
+ }
+
public class Axis2TransportInfo implements OutTransportInfo {
private Response response;
Modified: geronimo/server/branches/2.0-M2/modules/geronimo-cxf-builder/src/main/java/org/apache/geronimo/cxf/builder/CXFBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/modules/geronimo-cxf-builder/src/main/java/org/apache/geronimo/cxf/builder/CXFBuilder.java?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/modules/geronimo-cxf-builder/src/main/java/org/apache/geronimo/cxf/builder/CXFBuilder.java (original)
+++ geronimo/server/branches/2.0-M2/modules/geronimo-cxf-builder/src/main/java/org/apache/geronimo/cxf/builder/CXFBuilder.java Wed Jan 24 22:33:05 2007
@@ -49,6 +49,7 @@
import org.apache.geronimo.j2ee.deployment.WebServiceBuilder;
import org.apache.geronimo.j2ee.deployment.WebModule;
import org.apache.geronimo.j2ee.deployment.Module;
+import org.apache.geronimo.j2ee.deployment.EARContext;
import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
import org.apache.geronimo.cxf.PortInfo;
import org.apache.geronimo.cxf.CXFWebServiceContainerFactoryGBean;
@@ -186,6 +187,12 @@
targetGBean.setReferencePattern("WebServiceContainerFactory", containerFactoryName);
targetGBean.setAttribute("pojoClassName", seiClassName);
+
+ if (context instanceof EARContext) {
+ containerFactoryData.setReferencePattern("TransactionManager",
+ ((EARContext)context).getTransactionManagerName());
+ }
+
return true;
}
Modified: geronimo/server/branches/2.0-M2/modules/geronimo-cxf/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/modules/geronimo-cxf/pom.xml?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/modules/geronimo-cxf/pom.xml (original)
+++ geronimo/server/branches/2.0-M2/modules/geronimo-cxf/pom.xml Wed Jan 24 22:33:05 2007
@@ -47,6 +47,12 @@
</dependency>
<dependency>
+ <groupId>org.apache.geronimo.modules</groupId>
+ <artifactId>geronimo-transaction</artifactId>
+ <version>${version}</version>
+ </dependency>
+
+ <dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
</dependency>
Modified: geronimo/server/branches/2.0-M2/modules/geronimo-cxf/src/main/java/org/apache/geronimo/cxf/CXFWebServiceContainer.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/modules/geronimo-cxf/src/main/java/org/apache/geronimo/cxf/CXFWebServiceContainer.java?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/modules/geronimo-cxf/src/main/java/org/apache/geronimo/cxf/CXFWebServiceContainer.java (original)
+++ geronimo/server/branches/2.0-M2/modules/geronimo-cxf/src/main/java/org/apache/geronimo/cxf/CXFWebServiceContainer.java Wed Jan 24 22:33:05 2007
@@ -99,6 +99,9 @@
wsdlWriter.writeWSDL(def, response.getOutputStream());
}
+ public void destroy() {
+ }
+
private EndpointImpl publishEndpoint(Object target) {
assert target != null : "null target received";
Modified: geronimo/server/branches/2.0-M2/modules/geronimo-cxf/src/main/java/org/apache/geronimo/cxf/CXFWebServiceContainerFactoryGBean.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/modules/geronimo-cxf/src/main/java/org/apache/geronimo/cxf/CXFWebServiceContainerFactoryGBean.java?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/modules/geronimo-cxf/src/main/java/org/apache/geronimo/cxf/CXFWebServiceContainerFactoryGBean.java (original)
+++ geronimo/server/branches/2.0-M2/modules/geronimo-cxf/src/main/java/org/apache/geronimo/cxf/CXFWebServiceContainerFactoryGBean.java Wed Jan 24 22:33:05 2007
@@ -20,8 +20,10 @@
import java.util.Map;
import java.util.logging.Logger;
import java.util.logging.Level;
+
import javax.naming.Context;
import javax.naming.NamingException;
+import javax.transaction.TransactionManager;
import org.apache.cxf.Bus;
import org.apache.cxf.bus.cxf.CXFBusFactory;
@@ -30,6 +32,7 @@
import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
import org.apache.geronimo.kernel.Kernel;
import org.apache.geronimo.naming.enc.EnterpriseNamingContext;
+import org.apache.geronimo.transaction.GeronimoUserTransaction;
import org.apache.geronimo.webservices.WebServiceContainer;
import org.apache.geronimo.webservices.WebServiceContainerFactory;
@@ -38,32 +41,36 @@
*/
public class CXFWebServiceContainerFactoryGBean implements WebServiceContainerFactory {
- private static final Logger LOG =
- Logger.getLogger(CXFWebServiceContainerFactoryGBean.class.getName());
+ private static final Logger LOG =
+ Logger.getLogger(CXFWebServiceContainerFactoryGBean.class.getName());
private final PortInfo portInfo;
private final Bus bus;
private final Object endpointInstance;
private Context context;
-
- public CXFWebServiceContainerFactoryGBean(PortInfo portInfo,
- String endpointClassName,
- ClassLoader classLoader,
- Map componentContext,
- Kernel kernel)
- throws ClassNotFoundException, IllegalAccessException, InstantiationException {
-
- // TODO: get access to the transaction manager
+
+ public CXFWebServiceContainerFactoryGBean(PortInfo portInfo,
+ String endpointClassName,
+ ClassLoader classLoader,
+ Map componentContext,
+ Kernel kernel,
+ TransactionManager transactionManager)
+ throws ClassNotFoundException, IllegalAccessException, InstantiationException {
+
+ GeronimoUserTransaction userTransaction = new GeronimoUserTransaction(transactionManager);
if (componentContext != null) {
try {
- this.context = EnterpriseNamingContext.createEnterpriseNamingContext(componentContext, null, kernel, classLoader);
+ this.context = EnterpriseNamingContext.createEnterpriseNamingContext(componentContext,
+ userTransaction,
+ kernel,
+ classLoader);
} catch (NamingException e) {
LOG.log(Level.WARNING, "Failed to create naming context", e);
}
}
this.portInfo = portInfo;
- this.bus = new CXFBusFactory().getDefaultBus();
+ this.bus = (new CXFBusFactory()).createBus();
Class endpointClass = classLoader.loadClass(endpointClassName);
endpointInstance = endpointClass.newInstance();
}
@@ -81,9 +88,10 @@
infoBuilder.addAttribute("classLoader", ClassLoader.class, false);
infoBuilder.addAttribute("componentContext", Map.class, true, true);
infoBuilder.addAttribute("kernel", Kernel.class, false);
+ infoBuilder.addReference("TransactionManager", TransactionManager.class, NameFactory.TRANSACTION_MANAGER);
- infoBuilder.setConstructor(new String[] {"portInfo", "endpointClassName", "classLoader",
- "componentContext", "kernel"});
+ infoBuilder.setConstructor(new String[]{"portInfo", "endpointClassName", "classLoader",
+ "componentContext", "kernel", "TransactionManager"});
GBEAN_INFO = infoBuilder.getBeanInfo();
}
Modified: geronimo/server/branches/2.0-M2/modules/geronimo-cxf/src/main/java/org/apache/geronimo/cxf/GeronimoDestination.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/modules/geronimo-cxf/src/main/java/org/apache/geronimo/cxf/GeronimoDestination.java?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/modules/geronimo-cxf/src/main/java/org/apache/geronimo/cxf/GeronimoDestination.java (original)
+++ geronimo/server/branches/2.0-M2/modules/geronimo-cxf/src/main/java/org/apache/geronimo/cxf/GeronimoDestination.java Wed Jan 24 22:33:05 2007
@@ -19,11 +19,19 @@
import java.io.IOException;
import java.io.OutputStream;
import java.io.Serializable;
-import java.lang.reflect.Field;
+import java.io.InputStream;
+import java.net.HttpURLConnection;
+import java.util.Iterator;
+import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
+import java.util.Enumeration;
import java.util.StringTokenizer;
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.xml.ws.handler.MessageContext;
import org.apache.cxf.Bus;
import org.apache.cxf.message.Exchange;
@@ -37,6 +45,7 @@
import org.apache.cxf.transport.http.AbstractHTTPDestination;
import org.apache.cxf.ws.addressing.EndpointReferenceType;
import org.apache.cxf.wsdl.EndpointReferenceUtils;
+import org.apache.geronimo.webservices.WebServiceContainer;
import org.apache.geronimo.webservices.WebServiceContainer.Request;
import org.apache.geronimo.webservices.WebServiceContainer.Response;
@@ -45,7 +54,9 @@
private MessageObserver messageObserver;
- public GeronimoDestination(Bus bus, ConduitInitiator conduitInitiator, EndpointInfo endpointInfo) throws IOException {
+ public GeronimoDestination(Bus bus,
+ ConduitInitiator conduitInitiator,
+ EndpointInfo endpointInfo) throws IOException {
super(bus, conduitInitiator, endpointInfo);
}
@@ -55,75 +66,92 @@
public void invoke(Request request, Response response) throws Exception {
MessageImpl message = new MessageImpl();
- message.setContent(java.io.InputStream.class, request.getInputStream());
+ message.setContent(InputStream.class, request.getInputStream());
message.setDestination(this);
message.put(Request.class, request);
message.put(Response.class, response);
+ HttpServletRequest servletRequest =
+ (HttpServletRequest)request.getAttribute(WebServiceContainer.SERVLET_REQUEST);
+ message.put(MessageContext.SERVLET_REQUEST, servletRequest);
+
+ HttpServletResponse servletResponse =
+ (HttpServletResponse)request.getAttribute(WebServiceContainer.SERVLET_RESPONSE);
+ message.put(MessageContext.SERVLET_RESPONSE, servletResponse);
+
+ ServletContext servletContext =
+ (ServletContext)request.getAttribute(WebServiceContainer.SERVLET_CONTEXT);
+ message.put(MessageContext.SERVLET_CONTEXT, servletContext);
+
+ // this calls copyRequestHeaders()
+ setHeaders(message);
+
+ message.put(Message.HTTP_REQUEST_METHOD, servletRequest.getMethod());
+ message.put(Message.PATH_INFO, servletRequest.getPathInfo());
+ message.put(Message.QUERY_STRING, servletRequest.getQueryString());
+ message.put(Message.CONTENT_TYPE, servletRequest.getContentType());
+ message.put(Message.ENCODING, servletRequest.getCharacterEncoding());
+
messageObserver.onMessage(message);
}
- public Conduit getBackChannel(Message inMessage, Message partialResponse, EndpointReferenceType address) throws IOException {
- Response response = inMessage.get(Response.class);
- Conduit backChannel;
- Exchange ex = inMessage.getExchange();
- EndpointReferenceType target = address != null
- ? address
- : ex.get(EndpointReferenceType.class);
- if (target == null) {
- backChannel = new BackChannelConduit(response);
- } else {
- throw new IllegalArgumentException("RM not yet implemented");
- }
- return backChannel;
- }
-
- public void shutdown() {
- }
-
- @Override
protected void copyRequestHeaders(Message message, Map<String, List<String>> headers) {
- Request req = message.get(Request.class);
-
- // no map of headers so just find all static field constants that begin with HEADER_, get
- // its value and get the corresponding header.
- for (Field field : Request.class.getFields()) {
- if (field.getName().startsWith("HEADER_")) {
- try {
- assert field.getType().equals(String.class) : "unexpected field type";
- String headerName = (String) field.get(null);
- String headerValue = req.getHeader(headerName);
- if (headerValue != null) {
- List<String> values = headers.get(headerName);
- if (values == null) {
- values = new LinkedList<String>();
- headers.put(headerName, values);
- }
- values.addAll(splitMultipleHeaderValues(headerValue));
- }
- } catch (IllegalAccessException ex) {
- // ignore
+ HttpServletRequest servletRequest = (HttpServletRequest)message.get(MessageContext.SERVLET_REQUEST);
+ if (servletRequest != null) {
+ Enumeration names = servletRequest.getHeaderNames();
+ while(names.hasMoreElements()) {
+ String name = (String)names.nextElement();
+
+ List<String> headerValues = headers.get(name);
+ if (headerValues == null) {
+ headerValues = new ArrayList<String>();
+ headers.put(name, headerValues);
+ }
+
+ Enumeration values = servletRequest.getHeaders(name);
+ while(values.hasMoreElements()) {
+ String value = (String)values.nextElement();
+ headerValues.add(value);
}
}
}
}
- private List<String> splitMultipleHeaderValues(String value) {
-
- List<String> allValues = new LinkedList<String>();
- if (value.contains(",")) {
- StringTokenizer st = new StringTokenizer(value, ",");
- while (st.hasMoreTokens()) {
- allValues.add(st.nextToken().trim());
- }
-
+ public Conduit getBackChannel(Message inMessage,
+ Message partialResponse,
+ EndpointReferenceType address) throws IOException {
+ Conduit backChannel = null;
+ if (address == null) {
+ backChannel = new BackChannelConduit(address, inMessage);
} else {
- allValues.add(value);
+ if (partialResponse != null) {
+ // setup the outbound message to for 202 Accepted
+ partialResponse.put(Message.RESPONSE_CODE,
+ HttpURLConnection.HTTP_ACCEPTED);
+ backChannel = new BackChannelConduit(address, inMessage);
+ } else {
+ backChannel = conduitInitiator.getConduit(endpointInfo, address);
+ // ensure decoupled back channel input stream is closed
+ backChannel.setMessageObserver(new MessageObserver() {
+ public void onMessage(Message m) {
+ if (m.getContentFormats().contains(InputStream.class)) {
+ InputStream is = m.getContent(InputStream.class);
+ try {
+ is.close();
+ } catch (Exception e) {
+ // ignore
+ }
+ }
+ }
+ });
+ }
}
- return allValues;
+ return backChannel;
}
+ public void shutdown() {
+ }
public void setMessageObserver(MessageObserver messageObserver) {
this.messageObserver = messageObserver;
@@ -131,15 +159,12 @@
protected class BackChannelConduit implements Conduit {
- //TODO this will soon be publically available from somewhere in CXF
- private static final String ANONYMOUS_ADDRESS =
- "http://www.w3.org/2005/08/addressing/anonymous";
- protected Response response;
+ protected Message request;
protected EndpointReferenceType target;
- BackChannelConduit(Response resp) {
- response = resp;
- target = EndpointReferenceUtils.getEndpointReference(ANONYMOUS_ADDRESS);
+ BackChannelConduit(EndpointReferenceType target, Message request) {
+ this.target = target;
+ this.request = request;
}
public void close(Message msg) throws IOException {
@@ -162,12 +187,46 @@
* @param message the message to be sent.
*/
public void send(Message message) throws IOException {
- message.put(Response.class, response);
+ Response response = (Response)request.get(Response.class);
+
+ // 1. handle response code
+ Integer i = (Integer)message.get(Message.RESPONSE_CODE);
+ if (i != null) {
+ response.setStatusCode(i.intValue());
+ }
+
+ // 2. handle response headers
+ updateResponseHeaders(message);
+
+ Map<String, List<String>> protocolHeaders =
+ (Map<String, List<String>>)message.get(Message.PROTOCOL_HEADERS);
+
+ // set headers of the HTTP response object
+ Iterator headers = protocolHeaders.entrySet().iterator();
+ while(headers.hasNext()) {
+ Map.Entry entry = (Map.Entry)headers.next();
+ String headerName = (String)entry.getKey();
+ String headerValue = getHeaderValue((List)entry.getValue());
+ response.setHeader(headerName, headerValue);
+ }
+
//TODO gregw says this should work: current cxf-jetty code wraps output stream.
//if this doesn't work, we'd see an error from jetty saying you cant write headers to the output stream.
message.setContent(OutputStream.class, response.getOutputStream());
}
+ private String getHeaderValue(List<String> values) {
+ Iterator iter = values.iterator();
+ StringBuffer buf = new StringBuffer();
+ while(iter.hasNext()) {
+ buf.append(iter.next());
+ if (iter.hasNext()) {
+ buf.append(", ");
+ }
+ }
+ return buf.toString();
+ }
+
/**
* @return the reference associated with the target Destination
*/
Modified: geronimo/server/branches/2.0-M2/modules/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/EARContext.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/modules/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/EARContext.java?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/modules/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/EARContext.java (original)
+++ geronimo/server/branches/2.0-M2/modules/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/EARContext.java Wed Jan 24 22:33:05 2007
@@ -48,7 +48,7 @@
private final Map messageDestinations = new HashMap();
- private final Map generalData = new HashMap();
+ private final Map<Object,Object> generalData = new HashMap<Object,Object>();
public EARContext(File baseDir,
File inPlaceConfigurationDir,
@@ -172,7 +172,7 @@
return messageDestinations;
}
- public Map getGeneralData() {
+ public Map<Object,Object> getGeneralData() {
return generalData;
}
}
Modified: geronimo/server/branches/2.0-M2/modules/geronimo-jetty6/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/modules/geronimo-jetty6/pom.xml?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/modules/geronimo-jetty6/pom.xml (original)
+++ geronimo/server/branches/2.0-M2/modules/geronimo-jetty6/pom.xml Wed Jan 24 22:33:05 2007
@@ -73,7 +73,12 @@
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty</artifactId>
</dependency>
-
+
+ <!--<dependency>-->
+ <!--<groupId>org.mortbay.jetty</groupId>-->
+ <!--<artifactId>jetty-plus</artifactId>-->
+ <!--</dependency>-->
+
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>jasper</artifactId>
Modified: geronimo/server/branches/2.0-M2/modules/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/JettyEJBWebServiceContext.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/modules/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/JettyEJBWebServiceContext.java?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/modules/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/JettyEJBWebServiceContext.java (original)
+++ geronimo/server/branches/2.0-M2/modules/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/JettyEJBWebServiceContext.java Wed Jan 24 22:33:05 2007
@@ -137,6 +137,11 @@
RequestAdapter request = new RequestAdapter(jettyRequest);
ResponseAdapter response = new ResponseAdapter(jettyResponse);
+ request.setAttribute(WebServiceContainer.SERVLET_REQUEST, req);
+ request.setAttribute(WebServiceContainer.SERVLET_RESPONSE, res);
+ // TODO: add support for context
+ request.setAttribute(WebServiceContainer.SERVLET_CONTEXT, null);
+
if (req.getParameter("wsdl") != null) {
try {
webServiceContainer.getWsdl(request, response);
@@ -325,5 +330,5 @@
response.setStatus(response.getStatus(), responseString);
}
}
-
+
}
Modified: geronimo/server/branches/2.0-M2/modules/geronimo-jetty6/src/test/java/org/apache/geronimo/jetty6/app/MockWebServiceContainer.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/modules/geronimo-jetty6/src/test/java/org/apache/geronimo/jetty6/app/MockWebServiceContainer.java?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/modules/geronimo-jetty6/src/test/java/org/apache/geronimo/jetty6/app/MockWebServiceContainer.java (original)
+++ geronimo/server/branches/2.0-M2/modules/geronimo-jetty6/src/test/java/org/apache/geronimo/jetty6/app/MockWebServiceContainer.java Wed Jan 24 22:33:05 2007
@@ -30,4 +30,7 @@
}
+ public void destroy() {
+ }
+
}
Modified: geronimo/server/branches/2.0-M2/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/util/ClassLoaderRegistry.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/util/ClassLoaderRegistry.java?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/util/ClassLoaderRegistry.java (original)
+++ geronimo/server/branches/2.0-M2/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/util/ClassLoaderRegistry.java Wed Jan 24 22:33:05 2007
@@ -22,30 +22,40 @@
public class ClassLoaderRegistry {
- private static List<WeakReference> list = new ArrayList<WeakReference>();
- public static List getList(){
+ private final static List<WeakReference> list = new ArrayList<WeakReference>();
+
+ public synchronized static List getList(){
List<ClassLoader> ret = new ArrayList<ClassLoader>();
for(int i=0;i<list.size();i++)
- if(list.get(i) != null)ret.add((ClassLoader)list.get(i).get());
- else
+ if(list.get(i) != null) {
+ ret.add((ClassLoader)list.get(i).get());
+ }
+ else {
list.remove(i);
+ }
return ret;
}
- public static boolean add(ClassLoader cloader){
- if(contains(cloader))
+
+ public synchronized static boolean add(ClassLoader cloader){
+ if(contains(cloader)) {
return false;
+ }
return list.add(new WeakReference<ClassLoader>(cloader));
}
- public static boolean contains(ClassLoader cloader){
- for(int i=0;i<list.size();i++){
+
+ public synchronized static boolean contains(ClassLoader cloader){
+ for(int i=0;i<list.size();i++) {
WeakReference wk = list.get(i);
- if(wk.get() == null)list.remove(i);
+ if(wk.get() == null) {
+ list.remove(i);
+ }
else if(wk.get().equals(cloader))
return true;
}
return false;
}
- public static boolean remove(ClassLoader cloader){
+
+ public synchronized static boolean remove(ClassLoader cloader){
boolean result = false;
for(int i=0;i<list.size();i++){
WeakReference wk = list.get(i);
Modified: geronimo/server/branches/2.0-M2/modules/geronimo-openejb-builder/geronimo-openejb.xml
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/modules/geronimo-openejb-builder/geronimo-openejb.xml?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/modules/geronimo-openejb-builder/geronimo-openejb.xml (original)
+++ geronimo/server/branches/2.0-M2/modules/geronimo-openejb-builder/geronimo-openejb.xml Wed Jan 24 22:33:05 2007
@@ -77,6 +77,22 @@
<n:name>SystemDatasource</n:name>
</n:pattern>
</n:resource-ref>
+ <n:resource-ref>
+ <n:ref-name>org.apache.openejb.test.stateless.AnnotatedFieldInjectionStatelessBean/daataSource</n:ref-name>
+ <n:pattern>
+ <n:groupId>org.apache.geronimo.configs</n:groupId>
+ <n:artifactId>system-database</n:artifactId>
+ <n:name>SystemDatasource</n:name>
+ </n:pattern>
+ </n:resource-ref>
+ <n:resource-ref>
+ <n:ref-name>org.apache.openejb.test.stateful.AnnotatedFieldInjectionStatefulBean/daataSource</n:ref-name>
+ <n:pattern>
+ <n:groupId>org.apache.geronimo.configs</n:groupId>
+ <n:artifactId>system-database</n:artifactId>
+ <n:name>SystemDatasource</n:name>
+ </n:pattern>
+ </n:resource-ref>
<n:persistence-context-ref>
<n:persistence-context-ref-name>persistence/TestContext</n:persistence-context-ref-name>
<n:persistence-unit-name>openjpa-test-unit</n:persistence-unit-name>
Modified: geronimo/server/branches/2.0-M2/modules/geronimo-openejb-builder/src/test/java/org/apache/geronimo/openejb/deployment/EjbModuleBuilderTest.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/modules/geronimo-openejb-builder/src/test/java/org/apache/geronimo/openejb/deployment/EjbModuleBuilderTest.java?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/modules/geronimo-openejb-builder/src/test/java/org/apache/geronimo/openejb/deployment/EjbModuleBuilderTest.java (original)
+++ geronimo/server/branches/2.0-M2/modules/geronimo-openejb-builder/src/test/java/org/apache/geronimo/openejb/deployment/EjbModuleBuilderTest.java Wed Jan 24 22:33:05 2007
@@ -47,11 +47,11 @@
TransactionManager transactionManager = new GeronimoTransactionManager();
OpenEjbSystem openEjbSystem = new OpenEjbSystemGBean(transactionManager);
- addEjbContainer(openEjbSystem, "Default Stateless Container");
- addEjbContainer(openEjbSystem, "Default Stateful Container");
- addEjbContainer(openEjbSystem, "Default BMP Container");
- addEjbContainer(openEjbSystem, "Default CMP Container");
- addEjbContainer(openEjbSystem, "Default MDB Container");
+ addEjbContainer(openEjbSystem, "Default Stateless Container", "STATELESS");
+ addEjbContainer(openEjbSystem, "Default Stateful Container", "STATEFUL");
+ addEjbContainer(openEjbSystem, "Default BMP Container", "BMP_ENTITY");
+ addEjbContainer(openEjbSystem, "Default CMP Container", "CMP_ENTITY");
+ addEjbContainer(openEjbSystem, "Default MDB Container", "MESSAGE");
// load ejb-jar.xml
String ejbJarXml = XmlUtil.loadEjbJarXml(null, moduleFile);
@@ -70,10 +70,11 @@
openEjbSystem.createEjbJar(ejbJarInfo, classLoader);
}
- private void addEjbContainer(OpenEjbSystem openEjbSystem, String id) throws Exception {
+ private void addEjbContainer(OpenEjbSystem openEjbSystem, String id, String type) throws Exception {
EjbContainer ejbContainer = new EjbContainer();
ejbContainer.setOpenEjbSystem(openEjbSystem);
ejbContainer.setId(id);
+ ejbContainer.setType(type);
ejbContainer.doStart();
}
}
Modified: geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/GeronimoStandardContext.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/GeronimoStandardContext.java?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/GeronimoStandardContext.java (original)
+++ geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/GeronimoStandardContext.java Wed Jan 24 22:33:05 2007
@@ -23,6 +23,7 @@
import java.util.Map;
import javax.naming.NamingException;
+import javax.naming.Context;
import javax.security.auth.Subject;
import javax.security.jacc.PolicyContext;
import javax.servlet.Servlet;
@@ -34,6 +35,7 @@
import org.apache.catalina.Manager;
import org.apache.catalina.Valve;
import org.apache.catalina.Wrapper;
+import org.apache.catalina.util.DefaultAnnotationProcessor;
import org.apache.catalina.connector.Request;
import org.apache.catalina.connector.Response;
import org.apache.catalina.core.StandardContext;
@@ -93,6 +95,13 @@
}
} catch (NamingException ne) {
log.error(ne);
+ }
+ try {
+ Context env = (Context) enc.lookup("env");
+ setAnnotationProcessor(new DefaultAnnotationProcessor(env));
+ } catch (NamingException e) {
+ // ignored
+ log.warn("Could not find env in enterprise naming context", e);
}
int index = 0;
Modified: geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/TomcatEJBWebServiceContext.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/TomcatEJBWebServiceContext.java?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/TomcatEJBWebServiceContext.java (original)
+++ geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/TomcatEJBWebServiceContext.java Wed Jan 24 22:33:05 2007
@@ -24,7 +24,10 @@
import java.util.HashMap;
import java.util.Map;
+import javax.servlet.ServletContext;
import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
import org.apache.catalina.authenticator.BasicAuthenticator;
import org.apache.catalina.authenticator.DigestAuthenticator;
@@ -130,6 +133,12 @@
req.setContentType("text/xml");
RequestAdapter request = new RequestAdapter(req);
ResponseAdapter response = new ResponseAdapter(res);
+
+ request.setAttribute(WebServiceContainer.SERVLET_REQUEST, (HttpServletRequest)req);
+ request.setAttribute(WebServiceContainer.SERVLET_RESPONSE, (HttpServletResponse)res);
+ // TODO: add support for context
+ request.setAttribute(WebServiceContainer.SERVLET_CONTEXT, null);
+
req.finishRequest();
if (req.getParameter("wsdl") != null) {
try {
Modified: geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/main/resources/META-INF/geronimo-dependency.xml
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/main/resources/META-INF/geronimo-dependency.xml?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/main/resources/META-INF/geronimo-dependency.xml (original)
+++ geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/main/resources/META-INF/geronimo-dependency.xml Wed Jan 24 22:33:05 2007
@@ -22,7 +22,12 @@
<dep:groupId>org.apache.tomcat</dep:groupId>
<dep:artifactId>catalina</dep:artifactId>
</dep:dependency>
-
+
+ <dep:dependency>
+ <dep:groupId>org.apache.tomcat</dep:groupId>
+ <dep:artifactId>annotations-api</dep:artifactId>
+ </dep:dependency>
+
<dep:dependency>
<dep:groupId>org.apache.tomcat</dep:groupId>
<dep:artifactId>jasper</dep:artifactId>
Modified: geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/test/java/org/apache/geronimo/tomcat/app/MockWebServiceContainer.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/test/java/org/apache/geronimo/tomcat/app/MockWebServiceContainer.java?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/test/java/org/apache/geronimo/tomcat/app/MockWebServiceContainer.java (original)
+++ geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/test/java/org/apache/geronimo/tomcat/app/MockWebServiceContainer.java Wed Jan 24 22:33:05 2007
@@ -30,4 +30,7 @@
}
+ public void destroy() {
+ }
+
}
Modified: geronimo/server/branches/2.0-M2/modules/geronimo-webservices/src/main/java/org/apache/geronimo/webservices/WebServiceContainer.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/modules/geronimo-webservices/src/main/java/org/apache/geronimo/webservices/WebServiceContainer.java?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/modules/geronimo-webservices/src/main/java/org/apache/geronimo/webservices/WebServiceContainer.java (original)
+++ geronimo/server/branches/2.0-M2/modules/geronimo-webservices/src/main/java/org/apache/geronimo/webservices/WebServiceContainer.java Wed Jan 24 22:33:05 2007
@@ -43,6 +43,24 @@
public static final String MESSAGE_CONTEXT = WebServiceContainer.class.getName()+"@MessageContext";
/**
+ * Used for JAX-WS MessageContext. MessageContext must expose HttpServletRequest.
+ */
+ public static final String SERVLET_REQUEST =
+ WebServiceContainer.class.getName()+"@ServletRequest";
+
+ /**
+ * Used for JAX-WS MessageContext. MessageContext must expose HttpServletResponse.
+ */
+ public static final String SERVLET_RESPONSE =
+ WebServiceContainer.class.getName()+"@ServletResponse";
+
+ /**
+ * Used for JAX-WS MessageContext. MessageContext must expose ServletContext.
+ */
+ public static final String SERVLET_CONTEXT =
+ WebServiceContainer.class.getName()+"@ServletContext";
+
+ /**
* Token inserted into wsdl where location should be replaced with the real location
*/
public String LOCATION_REPLACEMENT_TOKEN = "LOCATIONREPLACEMENTTOKEN";
@@ -50,6 +68,8 @@
void invoke(Request request, Response response) throws Exception;
void getWsdl(Request req, Response res) throws Exception;
+
+ void destroy();
public interface Request {
/** the HTTP OPTIONS type */
Modified: geronimo/server/branches/2.0-M2/modules/geronimo-webservices/src/main/java/org/apache/geronimo/webservices/WebServiceContainerInvoker.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/modules/geronimo-webservices/src/main/java/org/apache/geronimo/webservices/WebServiceContainerInvoker.java?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/modules/geronimo-webservices/src/main/java/org/apache/geronimo/webservices/WebServiceContainerInvoker.java (original)
+++ geronimo/server/branches/2.0-M2/modules/geronimo-webservices/src/main/java/org/apache/geronimo/webservices/WebServiceContainerInvoker.java Wed Jan 24 22:33:05 2007
@@ -40,19 +40,21 @@
private final Object pojo;
private WebServiceContainer service;
+ private ServletConfig config;
public WebServiceContainerInvoker(Object pojo) {
this.pojo = pojo;
}
public void init(ServletConfig config) throws ServletException {
+ this.config = config;
ServletContext context = config.getServletContext();
String webServiceContainerID = config.getInitParameter(WEBSERVICE_CONTAINER);
service = (WebServiceContainer) context.getAttribute(webServiceContainerID);
}
public ServletConfig getServletConfig() {
- return null;
+ return config;
}
public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
@@ -63,6 +65,10 @@
// This is the guy the WebServiceContainer should invoke
req.setAttribute(WebServiceContainer.POJO_INSTANCE, pojo);
+ req.setAttribute(WebServiceContainer.SERVLET_REQUEST, (HttpServletRequest) req);
+ req.setAttribute(WebServiceContainer.SERVLET_RESPONSE, (HttpServletResponse) res);
+ req.setAttribute(WebServiceContainer.SERVLET_CONTEXT, config.getServletContext());
+
if (req.getParameter("wsdl") != null || req.getParameter("WSDL") != null) {
try {
service.getWsdl(request, response);
@@ -91,6 +97,7 @@
}
public void destroy() {
+ service.destroy();
}
private static class RequestAdapter implements WebServiceContainer.Request {
@@ -141,7 +148,6 @@
return request.getParameterMap();
}
-
private static final Map methods = new HashMap();
static {
@@ -175,7 +181,7 @@
public ResponseAdapter(HttpServletResponse response) {
this.response = response;
}
-
+
public void setHeader(String name, String value) {
response.setHeader(name, value);
}
Modified: geronimo/server/branches/2.0-M2/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/pom.xml?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/pom.xml (original)
+++ geronimo/server/branches/2.0-M2/pom.xml Wed Jan 24 22:33:05 2007
@@ -818,6 +818,12 @@
<dependency>
<groupId>org.apache.tomcat</groupId>
+ <artifactId>annotations-api</artifactId>
+ <version>${tomcatVersion}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tomcat</groupId>
<artifactId>jasper</artifactId>
<version>${tomcatVersion}</version>
</dependency>
Modified: geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/pom.xml?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/pom.xml (original)
+++ geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/pom.xml Wed Jan 24 22:33:05 2007
@@ -137,7 +137,7 @@
<goal>undeploy-module</goal>
</goals>
<configuration>
- <moduleId>CXF/cxfPojoServlet/1.1/car</moduleId>
+ <moduleId>JEE5/JAXWSServlet/1.1/car</moduleId>
</configuration>
</execution>
</executions>
Modified: geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/java/org/apache/hello_world_soap_http/GreeterImpl.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/java/org/apache/hello_world_soap_http/GreeterImpl.java?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/java/org/apache/hello_world_soap_http/GreeterImpl.java (original)
+++ geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/java/org/apache/hello_world_soap_http/GreeterImpl.java Wed Jan 24 22:33:05 2007
@@ -37,12 +37,14 @@
targetNamespace = "http://apache.org/hello_world_soap_http")
public class GreeterImpl implements Greeter {
- private static final Logger LOG = Logger.getLogger(GreeterImpl.class.getName());
+ private static final Logger LOG =
+ Logger.getLogger(GreeterImpl.class.getName());
@Resource
private WebServiceContext context;
- private int invocationCount;
+ @Resource(name="greeting")
+ private String greeting;
public WebServiceContext getContext() {
return context;
@@ -50,7 +52,10 @@
public String greetMe(String me) {
LOG.info("Invoking greetMe " + me);
- invocationCount++;
- return "Hello " + me;
+
+ LOG.info("Principal: " + context.getUserPrincipal());
+ LOG.info("Context: " + context.getMessageContext());
+
+ return greeting + " " + me;
}
}
Modified: geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/geronimo-web.xml
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/geronimo-web.xml?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/geronimo-web.xml (original)
+++ geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/geronimo-web.xml Wed Jan 24 22:33:05 2007
@@ -18,8 +18,8 @@
<web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-1.1" xmlns:dep="http://geronimo.apache.org/xml/ns/deployment-1.1" xmlns:naming="http://geronimo.apache.org/xml/ns/naming-1.1">
<dep:environment>
<dep:moduleId>
- <dep:groupId>CXF</dep:groupId>
- <dep:artifactId>cxfPojoServlet</dep:artifactId>
+ <dep:groupId>JEE5</dep:groupId>
+ <dep:artifactId>JAXWSServlet</dep:artifactId>
<dep:version>1.1</dep:version>
<dep:type>car</dep:type>
</dep:moduleId>
Modified: geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/web.xml?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/web.xml (original)
+++ geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/web.xml Wed Jan 24 22:33:05 2007
@@ -22,18 +22,25 @@
version="2.5"
>
- <display-name>Geronimo CXF POJO WS War</display-name>
+ <display-name>Geronimo POJO WS War</display-name>
<servlet>
- <display-name>Geronimo CXF POJO WS</display-name>
- <servlet-name>cxfPojoServlet</servlet-name>
+ <display-name>Geronimo POJO WS</display-name>
+ <servlet-name>POJOServlet</servlet-name>
<servlet-class>org.apache.hello_world_soap_http.GreeterImpl</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
- <servlet-name>cxfPojoServlet</servlet-name>
+ <servlet-name>POJOServlet</servlet-name>
<url-pattern>/servlet</url-pattern>
</servlet-mapping>
+
+ <env-entry>
+ <description>Welcome message</description>
+ <env-entry-name>greeting</env-entry-name>
+ <env-entry-type>java.lang.String</env-entry-type>
+ <env-entry-value>Hello</env-entry-value>
+ </env-entry>
</web-app>
Modified: geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/webservices.xml
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/webservices.xml?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/webservices.xml (original)
+++ geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/webservices.xml Wed Jan 24 22:33:05 2007
@@ -26,15 +26,15 @@
http://java.sun.com/xml/ns/javaee/javaee_web_services_1_2.xsd"
version="1.2">
<webservice-description>
- <webservice-description-name>cxfPojo</webservice-description-name>
+ <webservice-description-name>POJO WS</webservice-description-name>
<wsdl-file>WEB-INF/wsdl/greeter_control.wsdl</wsdl-file>
<port-component>
- <port-component-name>cxfPojoName</port-component-name>
+ <port-component-name>POJOPort</port-component-name>
<wsdl-service></wsdl-service>
<enable-mtom>false</enable-mtom>
<service-endpoint-interface>org.apache.hello_world_soap_http.Greeter</service-endpoint-interface>
<service-impl-bean>
- <servlet-link>cxfPojoServlet</servlet-link>
+ <servlet-link>POJOServlet</servlet-link>
</service-impl-bean>
</port-component>
</webservice-description>
Modified: geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/wsdl/greeter_control.wsdl
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/wsdl/greeter_control.wsdl?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/wsdl/greeter_control.wsdl (original)
+++ geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/wsdl/greeter_control.wsdl Wed Jan 24 22:33:05 2007
@@ -19,13 +19,13 @@
-->
<wsdl:definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
- xmlns:tns="http://cxf.apache.org/greeter_control"
- xmlns:x1="http://cxf.apache.org/greeter_control/types"
+ xmlns:tns="http://apache.org/greeter_control"
+ xmlns:x1="http://apache.org/greeter_control/types"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://cxf.apache.org/greeter_control" name="HelloWorld">
+ targetNamespace="http://apache.org/greeter_control" name="HelloWorld">
<wsdl:types>
- <schema targetNamespace="http://cxf.apache.org/greeter_control/types"
+ <schema targetNamespace="http://apache.org/greeter_control/types"
xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<element name="sayHi">
<complexType/>
@@ -73,31 +73,6 @@
</complexType>
</element>
- <element name="startGreeter">
- <complexType>
- <sequence>
- <element name="requestType" type="xsd:string"/>
- </sequence>
- </complexType>
- </element>
- <element name="startGreeterResponse">
- <complexType>
- <sequence>
- <element name="responseType" type="xsd:boolean"/>
- </sequence>
- </complexType>
- </element>
- <element name="stopGreeter">
- <complexType/>
- </element>
- <element name="stopGreeterResponse">
- <complexType>
- <sequence>
- <element name="responseType" type="xsd:boolean"/>
- </sequence>
- </complexType>
- </element>
-
</schema>
</wsdl:types>
@@ -126,20 +101,7 @@
<wsdl:message name="pingMeFault">
<wsdl:part name="faultDetail" element="x1:faultDetail"/>
</wsdl:message>
-
- <wsdl:message name="startGreeterRequest">
- <wsdl:part element="x1:startGreeter" name="in"/>
- </wsdl:message>
- <wsdl:message name="startGreeterResponse">
- <wsdl:part element="x1:startGreeterResponse" name="out"/>
- </wsdl:message>
- <wsdl:message name="stopGreeterRequest">
- <wsdl:part element="x1:stopGreeter" name="in"/>
- </wsdl:message>
- <wsdl:message name="stopGreeterResponse">
- <wsdl:part element="x1:stopGreeterResponse" name="out"/>
- </wsdl:message>
-
+
<wsdl:portType name="Greeter">
<wsdl:operation name="sayHi">
<wsdl:input message="tns:sayHiRequest" name="sayHiRequest"/>
@@ -162,17 +124,6 @@
</wsdl:operation>
</wsdl:portType>
- <wsdl:portType name="Control">
- <wsdl:operation name="startGreeter">
- <wsdl:input message="tns:startGreeterRequest" name="startGreeterRequest"/>
- <wsdl:output message="tns:startGreeterResponse" name="startGreeterResponse"/>
- </wsdl:operation>
-
- <wsdl:operation name="stopGreeter">
- <wsdl:input message="tns:stopGreeterRequest" name="stopGreeterRequest"/>
- <wsdl:output message="tns:stopGreeterResponse" name="stopGreeterResponse"/>
- </wsdl:operation>
- </wsdl:portType>
<wsdl:binding name="GreeterSOAPBinding" type="tns:Greeter">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
@@ -219,37 +170,9 @@
</wsdl:binding>
- <wsdl:binding name="ControlSOAPBinding" type="tns:Control">
- <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
- <wsdl:operation name="startGreeter">
- <soap:operation soapAction="" style="document"/>
- <wsdl:input name="startGreeterRequest">
- <soap:body use="literal"/>
- </wsdl:input>
- <wsdl:output name="startGreeterResponse">
- <soap:body use="literal"/>
- </wsdl:output>
- </wsdl:operation>
- <wsdl:operation name="stopGreeter">
- <soap:operation soapAction="" style="document"/>
- <wsdl:input name="stopGreeterRequest">
- <soap:body use="literal"/>
- </wsdl:input>
- <wsdl:output name="stopGreeterResponse">
- <soap:body use="literal"/>
- </wsdl:output>
- </wsdl:operation>
- </wsdl:binding>
-
- <wsdl:service name="ControlService">
- <wsdl:port binding="tns:ControlSOAPBinding" name="ControlPort">
- <soap:address location="http://localhost:9001/SoapContext/ControlPort"/>
- </wsdl:port>
- </wsdl:service>
-
<wsdl:service name="GreeterService">
<wsdl:port binding="tns:GreeterSOAPBinding" name="GreeterPort">
- <soap:address location="http://localhost:9020/SoapContext/GreeterPort"/>
+ <soap:address location="http://localhost:8080/SoapContext/GreeterPort"/>
<wswa:UsingAddressing xmlns:wswa="http://www.w3.org/2005/08/addressing/wsdl"/>
</wsdl:port>
</wsdl:service>
Modified: geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/test/resources/request1.xml
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/test/resources/request1.xml?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/test/resources/request1.xml (original)
+++ geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/test/resources/request1.xml Wed Jan 24 22:33:05 2007
@@ -19,7 +19,7 @@
-->
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
- <greetMe xmlns="http://apache.org/hello_world_soap_http">
+ <greetMe xmlns="http://apache.org/greeter_control/types">
<requestType>foo bar</requestType>
</greetMe>
</soap:Body>
Re: svn commit: r499679 - in /geronimo/server/branches/2.0-M2: ./ assemblies/geronimo-jetty6-jee5/src/main/var/config/ assemblies/geronimo-tomcat6-jee5/src/main/var/config/ configs/client-deployer/src/plan/ configs/cxf/ configs/j2ee-deployer/src/plan/ conf...
Posted by Matt Hogstrom <ma...@hogstrom.org>.
Thanks for doing this Prasad. It would probbly be useful to include
the rev number you are merging from in the comments.
On Jan 25, 2007, at 1:33 AM, prasad@apache.org wrote:
> Author: prasad
> Date: Wed Jan 24 22:33:05 2007
> New Revision: 499679
>
> URL: http://svn.apache.org/viewvc?view=rev&rev=499679
> Log:
> * Merging changes from trunk to M2. Second batch
>
> Modified:
> geronimo/server/branches/2.0-M2/assemblies/geronimo-jetty6-jee5/
> src/main/var/config/config.xml
> geronimo/server/branches/2.0-M2/assemblies/geronimo-tomcat6-
> jee5/src/main/var/config/config.xml
> geronimo/server/branches/2.0-M2/configs/client-deployer/src/
> plan/plan.xml
> geronimo/server/branches/2.0-M2/configs/cxf/pom.xml
> geronimo/server/branches/2.0-M2/configs/j2ee-deployer/src/plan/
> plan.xml
> geronimo/server/branches/2.0-M2/configs/openejb-deployer/src/
> plan/plan.xml
> geronimo/server/branches/2.0-M2/modules/geronimo-axis/src/main/
> java/org/apache/geronimo/axis/server/AxisWebServiceContainer.java
> geronimo/server/branches/2.0-M2/modules/geronimo-axis2/src/main/
> java/org/apache/geronimo/axis2/Axis2WebServiceContainer.java
> geronimo/server/branches/2.0-M2/modules/geronimo-cxf-builder/
> src/main/java/org/apache/geronimo/cxf/builder/CXFBuilder.java
> geronimo/server/branches/2.0-M2/modules/geronimo-cxf/pom.xml
> geronimo/server/branches/2.0-M2/modules/geronimo-cxf/src/main/
> java/org/apache/geronimo/cxf/CXFWebServiceContainer.java
> geronimo/server/branches/2.0-M2/modules/geronimo-cxf/src/main/
> java/org/apache/geronimo/cxf/CXFWebServiceContainerFactoryGBean.java
> geronimo/server/branches/2.0-M2/modules/geronimo-cxf/src/main/
> java/org/apache/geronimo/cxf/GeronimoDestination.java
> geronimo/server/branches/2.0-M2/modules/geronimo-j2ee-builder/
> src/main/java/org/apache/geronimo/j2ee/deployment/EARContext.java
> geronimo/server/branches/2.0-M2/modules/geronimo-jetty6/pom.xml
> geronimo/server/branches/2.0-M2/modules/geronimo-jetty6/src/
> main/java/org/apache/geronimo/jetty6/JettyEJBWebServiceContext.java
> geronimo/server/branches/2.0-M2/modules/geronimo-jetty6/src/
> test/java/org/apache/geronimo/jetty6/app/MockWebServiceContainer.java
> geronimo/server/branches/2.0-M2/modules/geronimo-kernel/src/
> main/java/org/apache/geronimo/kernel/util/ClassLoaderRegistry.java
> geronimo/server/branches/2.0-M2/modules/geronimo-openejb-
> builder/geronimo-openejb.xml
> geronimo/server/branches/2.0-M2/modules/geronimo-openejb-
> builder/src/test/java/org/apache/geronimo/openejb/deployment/
> EjbModuleBuilderTest.java
> geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/
> main/java/org/apache/geronimo/tomcat/GeronimoStandardContext.java
> geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/
> main/java/org/apache/geronimo/tomcat/TomcatEJBWebServiceContext.java
> geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/
> main/resources/META-INF/geronimo-dependency.xml
> geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/
> test/java/org/apache/geronimo/tomcat/app/MockWebServiceContainer.java
> geronimo/server/branches/2.0-M2/modules/geronimo-webservices/
> src/main/java/org/apache/geronimo/webservices/WebServiceContainer.java
> geronimo/server/branches/2.0-M2/modules/geronimo-webservices/
> src/main/java/org/apache/geronimo/webservices/
> WebServiceContainerInvoker.java
> geronimo/server/branches/2.0-M2/pom.xml
> geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/
> jaxws-tests/jaxws-war/pom.xml
> geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/
> jaxws-tests/jaxws-war/src/main/java/org/apache/
> hello_world_soap_http/GreeterImpl.java
> geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/
> jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/geronimo-web.xml
> geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/
> jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/web.xml
> geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/
> jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/webservices.xml
> geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/
> jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/wsdl/
> greeter_control.wsdl
> geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/
> jaxws-tests/jaxws-war/src/test/resources/request1.xml
>
> Modified: geronimo/server/branches/2.0-M2/assemblies/geronimo-
> jetty6-jee5/src/main/var/config/config.xml
> URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/
> assemblies/geronimo-jetty6-jee5/src/main/var/config/config.xml?
> view=diff&rev=499679&r1=499678&r2=499679
> ======================================================================
> ========
> --- geronimo/server/branches/2.0-M2/assemblies/geronimo-jetty6-jee5/
> src/main/var/config/config.xml (original)
> +++ geronimo/server/branches/2.0-M2/assemblies/geronimo-jetty6-jee5/
> src/main/var/config/config.xml Wed Jan 24 22:33:05 2007
> @@ -161,18 +161,13 @@
> </pattern>
> </reference>
> </gbean>
> - <gbean name="OpenEjbRemoteRefBuilder">
> + <gbean name="EjbRefBuilder">
> <attribute name="eeNamespaces">http://java.sun.com/xml/
> ns/j2ee,http://java.sun.com/xml/ns/javaee</attribute>
> </gbean>
>
> - <gbean name="OpenEjbClientRemoteRefBuilder">
> + <gbean name="ClientEjbRefBuilder">
> <attribute name="eeNamespaces">http://java.sun.com/xml/
> ns/j2ee,http://java.sun.com/xml/ns/javaee</attribute>
> </gbean>
> -
> - <gbean name="OpenEjbLocalRefBuilder">
> - <attribute name="eeNamespaces">http://java.sun.com/xml/
> ns/j2ee,http://java.sun.com/xml/ns/javaee</attribute>
> - </gbean>
> -
> </module>
>
> <module name="org.apache.geronimo.configs/client-deployer/$
> {version}/car">
>
> Modified: geronimo/server/branches/2.0-M2/assemblies/geronimo-
> tomcat6-jee5/src/main/var/config/config.xml
> URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/
> assemblies/geronimo-tomcat6-jee5/src/main/var/config/config.xml?
> view=diff&rev=499679&r1=499678&r2=499679
> ======================================================================
> ========
> --- geronimo/server/branches/2.0-M2/assemblies/geronimo-tomcat6-
> jee5/src/main/var/config/config.xml (original)
> +++ geronimo/server/branches/2.0-M2/assemblies/geronimo-tomcat6-
> jee5/src/main/var/config/config.xml Wed Jan 24 22:33:05 2007
> @@ -168,18 +168,13 @@
> </pattern>
> </reference>
> </gbean>
> - <gbean name="OpenEjbRemoteRefBuilder">
> + <gbean name="EjbRefBuilder">
> <attribute name="eeNamespaces">http://java.sun.com/xml/
> ns/j2ee,http://java.sun.com/xml/ns/javaee</attribute>
> </gbean>
>
> - <gbean name="OpenEjbClientRemoteRefBuilder">
> + <gbean name="ClientEjbRefBuilder">
> <attribute name="eeNamespaces">http://java.sun.com/xml/
> ns/j2ee,http://java.sun.com/xml/ns/javaee</attribute>
> </gbean>
> -
> - <gbean name="OpenEjbLocalRefBuilder">
> - <attribute name="eeNamespaces">http://java.sun.com/xml/
> ns/j2ee,http://java.sun.com/xml/ns/javaee</attribute>
> - </gbean>
> -
> </module>
>
> <module name="org.apache.geronimo.configs/client-deployer/$
> {version}/car">
>
> Modified: geronimo/server/branches/2.0-M2/configs/client-deployer/
> src/plan/plan.xml
> URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/
> configs/client-deployer/src/plan/plan.xml?
> view=diff&rev=499679&r1=499678&r2=499679
> ======================================================================
> ========
> --- geronimo/server/branches/2.0-M2/configs/client-deployer/src/
> plan/plan.xml (original)
> +++ geronimo/server/branches/2.0-M2/configs/client-deployer/src/
> plan/plan.xml Wed Jan 24 22:33:05 2007
> @@ -51,7 +51,7 @@
> <name>AxisClientServiceRefBuilder</name>
> </pattern>
> <pattern>
> - <name>OpenEjbClientRemoteRefBuilder</name>
> + <name>ClientEjbRefBuilder</name>
> </pattern>
> <pattern>
> <name>OpenEjbClientCorbaRefBuilder</name>
>
> Modified: geronimo/server/branches/2.0-M2/configs/cxf/pom.xml
> URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/
> configs/cxf/pom.xml?view=diff&rev=499679&r1=499678&r2=499679
> ======================================================================
> ========
> --- geronimo/server/branches/2.0-M2/configs/cxf/pom.xml (original)
> +++ geronimo/server/branches/2.0-M2/configs/cxf/pom.xml Wed Jan 24
> 22:33:05 2007
> @@ -49,6 +49,13 @@
> <version>${version}</version>
> </dependency>
>
> + <dependency>
> + <groupId>org.apache.geronimo.configs</groupId>
> + <artifactId>transaction-jta11</artifactId>
> + <version>${version}</version>
> + <type>car</type>
> + </dependency>
> +
> <dependency>
> <groupId>org.apache.geronimo.modules</groupId>
> <artifactId>geronimo-cxf</artifactId>
>
> Modified: geronimo/server/branches/2.0-M2/configs/j2ee-deployer/src/
> plan/plan.xml
> URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/
> configs/j2ee-deployer/src/plan/plan.xml?
> view=diff&rev=499679&r1=499678&r2=499679
> ======================================================================
> ========
> --- geronimo/server/branches/2.0-M2/configs/j2ee-deployer/src/plan/
> plan.xml (original)
> +++ geronimo/server/branches/2.0-M2/configs/j2ee-deployer/src/plan/
> plan.xml Wed Jan 24 22:33:05 2007
> @@ -120,10 +120,7 @@
> <name>AxisServiceRefBuilder</name>
> </pattern>
> <pattern>
> - <name>OpenEjbRemoteRefBuilder</name>
> - </pattern>
> - <pattern>
> - <name>OpenEjbLocalRefBuilder</name>
> + <name>EjbRefBuilder</name>
> </pattern>
> <pattern>
> <name>OpenEjbCorbaRefBuilder</name>
>
> Modified: geronimo/server/branches/2.0-M2/configs/openejb-deployer/
> src/plan/plan.xml
> URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/
> configs/openejb-deployer/src/plan/plan.xml?
> view=diff&rev=499679&r1=499678&r2=499679
> ======================================================================
> ========
> --- geronimo/server/branches/2.0-M2/configs/openejb-deployer/src/
> plan/plan.xml (original)
> +++ geronimo/server/branches/2.0-M2/configs/openejb-deployer/src/
> plan/plan.xml Wed Jan 24 22:33:05 2007
> @@ -63,7 +63,7 @@
> </gbean>
>
>
> - <gbean name="OpenEjbRemoteRefBuilder"
> class="org.apache.geronimo.openejb.deployment.ejbref.RemoteEjbRefBuild
> er">
> + <gbean name="EjbRefBuilder"
> class="org.apache.geronimo.openejb.deployment.EjbRefBuilder">
> <attribute name="eeNamespaces">http://java.sun.com/xml/ns/
> j2ee</attribute>
> <xml-attribute name="defaultEnvironment">
> <environment xmlns="http://geronimo.apache.org/xml/ns/
> deployment-${geronimoSchemaVersion}">
> @@ -78,7 +78,7 @@
> </xml-attribute>
> </gbean>
>
> - <gbean name="OpenEjbClientRemoteRefBuilder"
> class="org.apache.geronimo.openejb.deployment.ejbref.ClientEjbRefBuild
> er">
> + <gbean name="ClientEjbRefBuilder"
> class="org.apache.geronimo.openejb.deployment.EjbRefBuilder">
> <attribute name="eeNamespaces">http://java.sun.com/xml/ns/
> j2ee</attribute>
> <attribute name="host">${PlanClientAddresses}</attribute>
> <attribute name="port">${PlanOpenEJBPort}</attribute>
> @@ -94,9 +94,4 @@
> </environment>
> </xml-attribute>
> </gbean>
> -
> - <gbean name="OpenEjbLocalRefBuilder"
> class="org.apache.geronimo.openejb.deployment.ejbref.LocalEjbRefBuilde
> r">
> - <attribute name="eeNamespaces">http://java.sun.com/xml/ns/
> j2ee</attribute>
> - </gbean>
> -
> </module>
>
> Modified: geronimo/server/branches/2.0-M2/modules/geronimo-axis/src/
> main/java/org/apache/geronimo/axis/server/AxisWebServiceContainer.java
> URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/
> modules/geronimo-axis/src/main/java/org/apache/geronimo/axis/server/
> AxisWebServiceContainer.java?view=diff&rev=499679&r1=499678&r2=499679
> ======================================================================
> ========
> --- geronimo/server/branches/2.0-M2/modules/geronimo-axis/src/main/
> java/org/apache/geronimo/axis/server/AxisWebServiceContainer.java
> (original)
> +++ geronimo/server/branches/2.0-M2/modules/geronimo-axis/src/main/
> java/org/apache/geronimo/axis/server/AxisWebServiceContainer.java
> Wed Jan 24 22:33:05 2007
> @@ -262,6 +262,9 @@
> response.getOutputStream().flush();
> }
>
> + public void destroy() {
> + }
> +
> public URI getLocation() {
> return location;
> }
>
> Modified: geronimo/server/branches/2.0-M2/modules/geronimo-axis2/
> src/main/java/org/apache/geronimo/axis2/Axis2WebServiceContainer.java
> URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/
> modules/geronimo-axis2/src/main/java/org/apache/geronimo/axis2/
> Axis2WebServiceContainer.java?view=diff&rev=499679&r1=499678&r2=499679
> ======================================================================
> ========
> --- geronimo/server/branches/2.0-M2/modules/geronimo-axis2/src/main/
> java/org/apache/geronimo/axis2/Axis2WebServiceContainer.java
> (original)
> +++ geronimo/server/branches/2.0-M2/modules/geronimo-axis2/src/main/
> java/org/apache/geronimo/axis2/Axis2WebServiceContainer.java Wed
> Jan 24 22:33:05 2007
> @@ -343,6 +343,9 @@
> }
> }
>
> + public void destroy() {
> + }
> +
> public class Axis2TransportInfo implements OutTransportInfo {
> private Response response;
>
>
> Modified: geronimo/server/branches/2.0-M2/modules/geronimo-cxf-
> builder/src/main/java/org/apache/geronimo/cxf/builder/CXFBuilder.java
> URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/
> modules/geronimo-cxf-builder/src/main/java/org/apache/geronimo/cxf/
> builder/CXFBuilder.java?view=diff&rev=499679&r1=499678&r2=499679
> ======================================================================
> ========
> --- geronimo/server/branches/2.0-M2/modules/geronimo-cxf-builder/
> src/main/java/org/apache/geronimo/cxf/builder/CXFBuilder.java
> (original)
> +++ geronimo/server/branches/2.0-M2/modules/geronimo-cxf-builder/
> src/main/java/org/apache/geronimo/cxf/builder/CXFBuilder.java Wed
> Jan 24 22:33:05 2007
> @@ -49,6 +49,7 @@
> import org.apache.geronimo.j2ee.deployment.WebServiceBuilder;
> import org.apache.geronimo.j2ee.deployment.WebModule;
> import org.apache.geronimo.j2ee.deployment.Module;
> +import org.apache.geronimo.j2ee.deployment.EARContext;
> import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
> import org.apache.geronimo.cxf.PortInfo;
> import org.apache.geronimo.cxf.CXFWebServiceContainerFactoryGBean;
> @@ -186,6 +187,12 @@
>
> targetGBean.setReferencePattern
> ("WebServiceContainerFactory", containerFactoryName);
> targetGBean.setAttribute("pojoClassName", seiClassName);
> +
> + if (context instanceof EARContext) {
> + containerFactoryData.setReferencePattern
> ("TransactionManager",
> + ((EARContext)
> context).getTransactionManagerName());
> + }
> +
> return true;
> }
>
>
> Modified: geronimo/server/branches/2.0-M2/modules/geronimo-cxf/pom.xml
> URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/
> modules/geronimo-cxf/pom.xml?view=diff&rev=499679&r1=499678&r2=499679
> ======================================================================
> ========
> --- geronimo/server/branches/2.0-M2/modules/geronimo-cxf/pom.xml
> (original)
> +++ geronimo/server/branches/2.0-M2/modules/geronimo-cxf/pom.xml
> Wed Jan 24 22:33:05 2007
> @@ -47,6 +47,12 @@
> </dependency>
>
> <dependency>
> + <groupId>org.apache.geronimo.modules</groupId>
> + <artifactId>geronimo-transaction</artifactId>
> + <version>${version}</version>
> + </dependency>
> +
> + <dependency>
> <groupId>org.apache.cxf</groupId>
> <artifactId>cxf-rt-frontend-jaxws</artifactId>
> </dependency>
>
> Modified: geronimo/server/branches/2.0-M2/modules/geronimo-cxf/src/
> main/java/org/apache/geronimo/cxf/CXFWebServiceContainer.java
> URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/
> modules/geronimo-cxf/src/main/java/org/apache/geronimo/cxf/
> CXFWebServiceContainer.java?view=diff&rev=499679&r1=499678&r2=499679
> ======================================================================
> ========
> --- geronimo/server/branches/2.0-M2/modules/geronimo-cxf/src/main/
> java/org/apache/geronimo/cxf/CXFWebServiceContainer.java (original)
> +++ geronimo/server/branches/2.0-M2/modules/geronimo-cxf/src/main/
> java/org/apache/geronimo/cxf/CXFWebServiceContainer.java Wed Jan 24
> 22:33:05 2007
> @@ -99,6 +99,9 @@
> wsdlWriter.writeWSDL(def, response.getOutputStream());
> }
>
> + public void destroy() {
> + }
> +
> private EndpointImpl publishEndpoint(Object target) {
>
> assert target != null : "null target received";
>
> Modified: geronimo/server/branches/2.0-M2/modules/geronimo-cxf/src/
> main/java/org/apache/geronimo/cxf/
> CXFWebServiceContainerFactoryGBean.java
> URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/
> modules/geronimo-cxf/src/main/java/org/apache/geronimo/cxf/
> CXFWebServiceContainerFactoryGBean.java?
> view=diff&rev=499679&r1=499678&r2=499679
> ======================================================================
> ========
> --- geronimo/server/branches/2.0-M2/modules/geronimo-cxf/src/main/
> java/org/apache/geronimo/cxf/
> CXFWebServiceContainerFactoryGBean.java (original)
> +++ geronimo/server/branches/2.0-M2/modules/geronimo-cxf/src/main/
> java/org/apache/geronimo/cxf/
> CXFWebServiceContainerFactoryGBean.java Wed Jan 24 22:33:05 2007
> @@ -20,8 +20,10 @@
> import java.util.Map;
> import java.util.logging.Logger;
> import java.util.logging.Level;
> +
> import javax.naming.Context;
> import javax.naming.NamingException;
> +import javax.transaction.TransactionManager;
>
> import org.apache.cxf.Bus;
> import org.apache.cxf.bus.cxf.CXFBusFactory;
> @@ -30,6 +32,7 @@
> import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
> import org.apache.geronimo.kernel.Kernel;
> import org.apache.geronimo.naming.enc.EnterpriseNamingContext;
> +import org.apache.geronimo.transaction.GeronimoUserTransaction;
> import org.apache.geronimo.webservices.WebServiceContainer;
> import org.apache.geronimo.webservices.WebServiceContainerFactory;
>
> @@ -38,32 +41,36 @@
> */
> public class CXFWebServiceContainerFactoryGBean implements
> WebServiceContainerFactory {
>
> - private static final Logger LOG =
> - Logger.getLogger
> (CXFWebServiceContainerFactoryGBean.class.getName());
> + private static final Logger LOG =
> + Logger.getLogger
> (CXFWebServiceContainerFactoryGBean.class.getName());
>
> private final PortInfo portInfo;
> private final Bus bus;
> private final Object endpointInstance;
> private Context context;
> -
> - public CXFWebServiceContainerFactoryGBean(PortInfo portInfo,
> - String
> endpointClassName,
> - ClassLoader
> classLoader,
> - Map componentContext,
> - Kernel kernel)
> - throws ClassNotFoundException, IllegalAccessException,
> InstantiationException {
> -
> - // TODO: get access to the transaction manager
> +
> + public CXFWebServiceContainerFactoryGBean(PortInfo portInfo,
> + String endpointClassName,
> + ClassLoader classLoader,
> + Map componentContext,
> + Kernel kernel,
> + TransactionManager transactionManager)
> + throws ClassNotFoundException, IllegalAccessException,
> InstantiationException {
> +
> + GeronimoUserTransaction userTransaction = new
> GeronimoUserTransaction(transactionManager);
> if (componentContext != null) {
> try {
> - this.context =
> EnterpriseNamingContext.createEnterpriseNamingContext
> (componentContext, null, kernel, classLoader);
> + this.context =
> EnterpriseNamingContext.createEnterpriseNamingContext
> (componentContext,
> + userTransaction,
> + kernel,
> + classLoader);
> } catch (NamingException e) {
> LOG.log(Level.WARNING, "Failed to create naming
> context", e);
> }
> }
>
> this.portInfo = portInfo;
> - this.bus = new CXFBusFactory().getDefaultBus();
> + this.bus = (new CXFBusFactory()).createBus();
> Class endpointClass = classLoader.loadClass
> (endpointClassName);
> endpointInstance = endpointClass.newInstance();
> }
> @@ -81,9 +88,10 @@
> infoBuilder.addAttribute("classLoader", ClassLoader.class,
> false);
> infoBuilder.addAttribute("componentContext", Map.class,
> true, true);
> infoBuilder.addAttribute("kernel", Kernel.class, false);
> + infoBuilder.addReference("TransactionManager",
> TransactionManager.class, NameFactory.TRANSACTION_MANAGER);
>
> - infoBuilder.setConstructor(new String[] {"portInfo",
> "endpointClassName", "classLoader",
> -
> "componentContext", "kernel"});
> + infoBuilder.setConstructor(new String[]{"portInfo",
> "endpointClassName", "classLoader",
> + "componentContext", "kernel", "TransactionManager"});
> GBEAN_INFO = infoBuilder.getBeanInfo();
> }
>
>
> Modified: geronimo/server/branches/2.0-M2/modules/geronimo-cxf/src/
> main/java/org/apache/geronimo/cxf/GeronimoDestination.java
> URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/
> modules/geronimo-cxf/src/main/java/org/apache/geronimo/cxf/
> GeronimoDestination.java?view=diff&rev=499679&r1=499678&r2=499679
> ======================================================================
> ========
> --- geronimo/server/branches/2.0-M2/modules/geronimo-cxf/src/main/
> java/org/apache/geronimo/cxf/GeronimoDestination.java (original)
> +++ geronimo/server/branches/2.0-M2/modules/geronimo-cxf/src/main/
> java/org/apache/geronimo/cxf/GeronimoDestination.java Wed Jan 24
> 22:33:05 2007
> @@ -19,11 +19,19 @@
> import java.io.IOException;
> import java.io.OutputStream;
> import java.io.Serializable;
> -import java.lang.reflect.Field;
> +import java.io.InputStream;
> +import java.net.HttpURLConnection;
> +import java.util.Iterator;
> +import java.util.ArrayList;
> import java.util.LinkedList;
> import java.util.List;
> import java.util.Map;
> +import java.util.Enumeration;
> import java.util.StringTokenizer;
> +import javax.servlet.ServletContext;
> +import javax.servlet.http.HttpServletRequest;
> +import javax.servlet.http.HttpServletResponse;
> +import javax.xml.ws.handler.MessageContext;
>
> import org.apache.cxf.Bus;
> import org.apache.cxf.message.Exchange;
> @@ -37,6 +45,7 @@
> import org.apache.cxf.transport.http.AbstractHTTPDestination;
> import org.apache.cxf.ws.addressing.EndpointReferenceType;
> import org.apache.cxf.wsdl.EndpointReferenceUtils;
> +import org.apache.geronimo.webservices.WebServiceContainer;
> import org.apache.geronimo.webservices.WebServiceContainer.Request;
> import org.apache.geronimo.webservices.WebServiceContainer.Response;
>
> @@ -45,7 +54,9 @@
>
> private MessageObserver messageObserver;
>
> - public GeronimoDestination(Bus bus, ConduitInitiator
> conduitInitiator, EndpointInfo endpointInfo) throws IOException {
> + public GeronimoDestination(Bus bus,
> + ConduitInitiator conduitInitiator,
> + EndpointInfo endpointInfo) throws
> IOException {
> super(bus, conduitInitiator, endpointInfo);
> }
>
> @@ -55,75 +66,92 @@
>
> public void invoke(Request request, Response response) throws
> Exception {
> MessageImpl message = new MessageImpl();
> - message.setContent(java.io.InputStream.class,
> request.getInputStream());
> + message.setContent(InputStream.class,
> request.getInputStream());
> message.setDestination(this);
>
> message.put(Request.class, request);
> message.put(Response.class, response);
>
> + HttpServletRequest servletRequest =
> + (HttpServletRequest)request.getAttribute
> (WebServiceContainer.SERVLET_REQUEST);
> + message.put(MessageContext.SERVLET_REQUEST, servletRequest);
> +
> + HttpServletResponse servletResponse =
> + (HttpServletResponse)request.getAttribute
> (WebServiceContainer.SERVLET_RESPONSE);
> + message.put(MessageContext.SERVLET_RESPONSE,
> servletResponse);
> +
> + ServletContext servletContext =
> + (ServletContext)request.getAttribute
> (WebServiceContainer.SERVLET_CONTEXT);
> + message.put(MessageContext.SERVLET_CONTEXT, servletContext);
> +
> + // this calls copyRequestHeaders()
> + setHeaders(message);
> +
> + message.put(Message.HTTP_REQUEST_METHOD,
> servletRequest.getMethod());
> + message.put(Message.PATH_INFO, servletRequest.getPathInfo());
> + message.put(Message.QUERY_STRING,
> servletRequest.getQueryString());
> + message.put(Message.CONTENT_TYPE,
> servletRequest.getContentType());
> + message.put(Message.ENCODING,
> servletRequest.getCharacterEncoding());
> +
> messageObserver.onMessage(message);
> }
>
> - public Conduit getBackChannel(Message inMessage, Message
> partialResponse, EndpointReferenceType address) throws IOException {
> - Response response = inMessage.get(Response.class);
> - Conduit backChannel;
> - Exchange ex = inMessage.getExchange();
> - EndpointReferenceType target = address != null
> - ? address
> - : ex.get(EndpointReferenceType.class);
> - if (target == null) {
> - backChannel = new BackChannelConduit(response);
> - } else {
> - throw new IllegalArgumentException("RM not yet
> implemented");
> - }
> - return backChannel;
> - }
> -
> - public void shutdown() {
> - }
> -
> - @Override
> protected void copyRequestHeaders(Message message, Map<String,
> List<String>> headers) {
> - Request req = message.get(Request.class);
> -
> - // no map of headers so just find all static field
> constants that begin with HEADER_, get
> - // its value and get the corresponding header.
> - for (Field field : Request.class.getFields()) {
> - if (field.getName().startsWith("HEADER_")) {
> - try {
> - assert field.getType().equals(String.class) :
> "unexpected field type";
> - String headerName = (String) field.get(null);
> - String headerValue = req.getHeader(headerName);
> - if (headerValue != null) {
> - List<String> values = headers.get
> (headerName);
> - if (values == null) {
> - values = new LinkedList<String>();
> - headers.put(headerName, values);
> - }
> - values.addAll(splitMultipleHeaderValues
> (headerValue));
> - }
> - } catch (IllegalAccessException ex) {
> - // ignore
> + HttpServletRequest servletRequest = (HttpServletRequest)
> message.get(MessageContext.SERVLET_REQUEST);
> + if (servletRequest != null) {
> + Enumeration names = servletRequest.getHeaderNames();
> + while(names.hasMoreElements()) {
> + String name = (String)names.nextElement();
> +
> + List<String> headerValues = headers.get(name);
> + if (headerValues == null) {
> + headerValues = new ArrayList<String>();
> + headers.put(name, headerValues);
> + }
> +
> + Enumeration values = servletRequest.getHeaders(name);
> + while(values.hasMoreElements()) {
> + String value = (String)values.nextElement();
> + headerValues.add(value);
> }
> }
> }
> }
>
> - private List<String> splitMultipleHeaderValues(String value) {
> -
> - List<String> allValues = new LinkedList<String>();
> - if (value.contains(",")) {
> - StringTokenizer st = new StringTokenizer(value, ",");
> - while (st.hasMoreTokens()) {
> - allValues.add(st.nextToken().trim());
> - }
> -
> + public Conduit getBackChannel(Message inMessage,
> + Message partialResponse,
> + EndpointReferenceType address)
> throws IOException {
> + Conduit backChannel = null;
> + if (address == null) {
> + backChannel = new BackChannelConduit(address, inMessage);
> } else {
> - allValues.add(value);
> + if (partialResponse != null) {
> + // setup the outbound message to for 202 Accepted
> + partialResponse.put(Message.RESPONSE_CODE,
> + HttpURLConnection.HTTP_ACCEPTED);
> + backChannel = new BackChannelConduit(address,
> inMessage);
> + } else {
> + backChannel = conduitInitiator.getConduit
> (endpointInfo, address);
> + // ensure decoupled back channel input stream is
> closed
> + backChannel.setMessageObserver(new MessageObserver
> () {
> + public void onMessage(Message m) {
> + if (m.getContentFormats().contains
> (InputStream.class)) {
> + InputStream is = m.getContent
> (InputStream.class);
> + try {
> + is.close();
> + } catch (Exception e) {
> + // ignore
> + }
> + }
> + }
> + });
> + }
> }
> - return allValues;
> + return backChannel;
> }
>
> + public void shutdown() {
> + }
>
> public void setMessageObserver(MessageObserver messageObserver) {
> this.messageObserver = messageObserver;
> @@ -131,15 +159,12 @@
>
> protected class BackChannelConduit implements Conduit {
>
> - //TODO this will soon be publically available from
> somewhere in CXF
> - private static final String ANONYMOUS_ADDRESS =
> - "http://www.w3.org/2005/08/addressing/anonymous";
> - protected Response response;
> + protected Message request;
> protected EndpointReferenceType target;
>
> - BackChannelConduit(Response resp) {
> - response = resp;
> - target = EndpointReferenceUtils.getEndpointReference
> (ANONYMOUS_ADDRESS);
> + BackChannelConduit(EndpointReferenceType target, Message
> request) {
> + this.target = target;
> + this.request = request;
> }
>
> public void close(Message msg) throws IOException {
> @@ -162,12 +187,46 @@
> * @param message the message to be sent.
> */
> public void send(Message message) throws IOException {
> - message.put(Response.class, response);
> + Response response = (Response)request.get
> (Response.class);
> +
> + // 1. handle response code
> + Integer i = (Integer)message.get(Message.RESPONSE_CODE);
> + if (i != null) {
> + response.setStatusCode(i.intValue());
> + }
> +
> + // 2. handle response headers
> + updateResponseHeaders(message);
> +
> + Map<String, List<String>> protocolHeaders =
> + (Map<String, List<String>>)message.get
> (Message.PROTOCOL_HEADERS);
> +
> + // set headers of the HTTP response object
> + Iterator headers = protocolHeaders.entrySet().iterator();
> + while(headers.hasNext()) {
> + Map.Entry entry = (Map.Entry)headers.next();
> + String headerName = (String)entry.getKey();
> + String headerValue = getHeaderValue((List)
> entry.getValue());
> + response.setHeader(headerName, headerValue);
> + }
> +
> //TODO gregw says this should work: current cxf-jetty
> code wraps output stream.
> //if this doesn't work, we'd see an error from jetty
> saying you cant write headers to the output stream.
> message.setContent(OutputStream.class,
> response.getOutputStream());
> }
>
> + private String getHeaderValue(List<String> values) {
> + Iterator iter = values.iterator();
> + StringBuffer buf = new StringBuffer();
> + while(iter.hasNext()) {
> + buf.append(iter.next());
> + if (iter.hasNext()) {
> + buf.append(", ");
> + }
> + }
> + return buf.toString();
> + }
> +
> /**
> * @return the reference associated with the target
> Destination
> */
>
> Modified: geronimo/server/branches/2.0-M2/modules/geronimo-j2ee-
> builder/src/main/java/org/apache/geronimo/j2ee/deployment/
> EARContext.java
> URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/
> modules/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/
> j2ee/deployment/EARContext.java?
> view=diff&rev=499679&r1=499678&r2=499679
> ======================================================================
> ========
> --- geronimo/server/branches/2.0-M2/modules/geronimo-j2ee-builder/
> src/main/java/org/apache/geronimo/j2ee/deployment/EARContext.java
> (original)
> +++ geronimo/server/branches/2.0-M2/modules/geronimo-j2ee-builder/
> src/main/java/org/apache/geronimo/j2ee/deployment/EARContext.java
> Wed Jan 24 22:33:05 2007
> @@ -48,7 +48,7 @@
>
> private final Map messageDestinations = new HashMap();
>
> - private final Map generalData = new HashMap();
> + private final Map<Object,Object> generalData = new
> HashMap<Object,Object>();
>
> public EARContext(File baseDir,
> File inPlaceConfigurationDir,
> @@ -172,7 +172,7 @@
> return messageDestinations;
> }
>
> - public Map getGeneralData() {
> + public Map<Object,Object> getGeneralData() {
> return generalData;
> }
> }
>
> Modified: geronimo/server/branches/2.0-M2/modules/geronimo-jetty6/
> pom.xml
> URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/
> modules/geronimo-jetty6/pom.xml?
> view=diff&rev=499679&r1=499678&r2=499679
> ======================================================================
> ========
> --- geronimo/server/branches/2.0-M2/modules/geronimo-jetty6/pom.xml
> (original)
> +++ geronimo/server/branches/2.0-M2/modules/geronimo-jetty6/pom.xml
> Wed Jan 24 22:33:05 2007
> @@ -73,7 +73,12 @@
> <groupId>org.mortbay.jetty</groupId>
> <artifactId>jetty</artifactId>
> </dependency>
> -
> +
> + <!--<dependency>-->
> + <!--<groupId>org.mortbay.jetty</groupId>-->
> + <!--<artifactId>jetty-plus</artifactId>-->
> + <!--</dependency>-->
> +
> <dependency>
> <groupId>org.apache.tomcat</groupId>
> <artifactId>jasper</artifactId>
>
> Modified: geronimo/server/branches/2.0-M2/modules/geronimo-jetty6/
> src/main/java/org/apache/geronimo/jetty6/
> JettyEJBWebServiceContext.java
> URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/
> modules/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/
> JettyEJBWebServiceContext.java?
> view=diff&rev=499679&r1=499678&r2=499679
> ======================================================================
> ========
> --- geronimo/server/branches/2.0-M2/modules/geronimo-jetty6/src/
> main/java/org/apache/geronimo/jetty6/JettyEJBWebServiceContext.java
> (original)
> +++ geronimo/server/branches/2.0-M2/modules/geronimo-jetty6/src/
> main/java/org/apache/geronimo/jetty6/JettyEJBWebServiceContext.java
> Wed Jan 24 22:33:05 2007
> @@ -137,6 +137,11 @@
> RequestAdapter request = new RequestAdapter(jettyRequest);
> ResponseAdapter response = new ResponseAdapter
> (jettyResponse);
>
> + request.setAttribute(WebServiceContainer.SERVLET_REQUEST,
> req);
> + request.setAttribute(WebServiceContainer.SERVLET_RESPONSE,
> res);
> + // TODO: add support for context
> + request.setAttribute(WebServiceContainer.SERVLET_CONTEXT,
> null);
> +
> if (req.getParameter("wsdl") != null) {
> try {
> webServiceContainer.getWsdl(request, response);
> @@ -325,5 +330,5 @@
> response.setStatus(response.getStatus(), responseString);
> }
> }
> -
> +
> }
>
> Modified: geronimo/server/branches/2.0-M2/modules/geronimo-jetty6/
> src/test/java/org/apache/geronimo/jetty6/app/
> MockWebServiceContainer.java
> URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/
> modules/geronimo-jetty6/src/test/java/org/apache/geronimo/jetty6/
> app/MockWebServiceContainer.java?
> view=diff&rev=499679&r1=499678&r2=499679
> ======================================================================
> ========
> --- geronimo/server/branches/2.0-M2/modules/geronimo-jetty6/src/
> test/java/org/apache/geronimo/jetty6/app/
> MockWebServiceContainer.java (original)
> +++ geronimo/server/branches/2.0-M2/modules/geronimo-jetty6/src/
> test/java/org/apache/geronimo/jetty6/app/
> MockWebServiceContainer.java Wed Jan 24 22:33:05 2007
> @@ -30,4 +30,7 @@
>
> }
>
> + public void destroy() {
> + }
> +
> }
>
> Modified: geronimo/server/branches/2.0-M2/modules/geronimo-kernel/
> src/main/java/org/apache/geronimo/kernel/util/ClassLoaderRegistry.java
> URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/
> modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/
> util/ClassLoaderRegistry.java?view=diff&rev=499679&r1=499678&r2=499679
> ======================================================================
> ========
> --- geronimo/server/branches/2.0-M2/modules/geronimo-kernel/src/
> main/java/org/apache/geronimo/kernel/util/ClassLoaderRegistry.java
> (original)
> +++ geronimo/server/branches/2.0-M2/modules/geronimo-kernel/src/
> main/java/org/apache/geronimo/kernel/util/ClassLoaderRegistry.java
> Wed Jan 24 22:33:05 2007
> @@ -22,30 +22,40 @@
>
>
> public class ClassLoaderRegistry {
> - private static List<WeakReference> list = new
> ArrayList<WeakReference>();
> - public static List getList(){
> + private final static List<WeakReference> list = new
> ArrayList<WeakReference>();
> +
> + public synchronized static List getList(){
> List<ClassLoader> ret = new ArrayList<ClassLoader>();
> for(int i=0;i<list.size();i++)
> - if(list.get(i) != null)ret.add((ClassLoader)list.get
> (i).get());
> - else
> + if(list.get(i) != null) {
> + ret.add((ClassLoader)list.get(i).get());
> + }
> + else {
> list.remove(i);
> + }
> return ret;
> }
> - public static boolean add(ClassLoader cloader){
> - if(contains(cloader))
> +
> + public synchronized static boolean add(ClassLoader cloader){
> + if(contains(cloader)) {
> return false;
> + }
> return list.add(new WeakReference<ClassLoader>(cloader));
> }
> - public static boolean contains(ClassLoader cloader){
> - for(int i=0;i<list.size();i++){
> +
> + public synchronized static boolean contains(ClassLoader cloader){
> + for(int i=0;i<list.size();i++) {
> WeakReference wk = list.get(i);
> - if(wk.get() == null)list.remove(i);
> + if(wk.get() == null) {
> + list.remove(i);
> + }
> else if(wk.get().equals(cloader))
> return true;
> }
> return false;
> }
> - public static boolean remove(ClassLoader cloader){
> +
> + public synchronized static boolean remove(ClassLoader cloader){
> boolean result = false;
> for(int i=0;i<list.size();i++){
> WeakReference wk = list.get(i);
>
> Modified: geronimo/server/branches/2.0-M2/modules/geronimo-openejb-
> builder/geronimo-openejb.xml
> URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/
> modules/geronimo-openejb-builder/geronimo-openejb.xml?
> view=diff&rev=499679&r1=499678&r2=499679
> ======================================================================
> ========
> --- geronimo/server/branches/2.0-M2/modules/geronimo-openejb-
> builder/geronimo-openejb.xml (original)
> +++ geronimo/server/branches/2.0-M2/modules/geronimo-openejb-
> builder/geronimo-openejb.xml Wed Jan 24 22:33:05 2007
> @@ -77,6 +77,22 @@
> <n:name>SystemDatasource</n:name>
> </n:pattern>
> </n:resource-ref>
> + <n:resource-ref>
> + <n:ref-
> name>org.apache.openejb.test.stateless.AnnotatedFieldInjectionStateles
> sBean/daataSource</n:ref-name>
> + <n:pattern>
> + <n:groupId>org.apache.geronimo.configs</n:groupId>
> + <n:artifactId>system-database</n:artifactId>
> + <n:name>SystemDatasource</n:name>
> + </n:pattern>
> + </n:resource-ref>
> + <n:resource-ref>
> + <n:ref-
> name>org.apache.openejb.test.stateful.AnnotatedFieldInjectionStatefulB
> ean/daataSource</n:ref-name>
> + <n:pattern>
> + <n:groupId>org.apache.geronimo.configs</n:groupId>
> + <n:artifactId>system-database</n:artifactId>
> + <n:name>SystemDatasource</n:name>
> + </n:pattern>
> + </n:resource-ref>
> <n:persistence-context-ref>
> <n:persistence-context-ref-name>persistence/TestContext</
> n:persistence-context-ref-name>
> <n:persistence-unit-name>openjpa-test-unit</n:persistence-
> unit-name>
>
> Modified: geronimo/server/branches/2.0-M2/modules/geronimo-openejb-
> builder/src/test/java/org/apache/geronimo/openejb/deployment/
> EjbModuleBuilderTest.java
> URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/
> modules/geronimo-openejb-builder/src/test/java/org/apache/geronimo/
> openejb/deployment/EjbModuleBuilderTest.java?
> view=diff&rev=499679&r1=499678&r2=499679
> ======================================================================
> ========
> --- geronimo/server/branches/2.0-M2/modules/geronimo-openejb-
> builder/src/test/java/org/apache/geronimo/openejb/deployment/
> EjbModuleBuilderTest.java (original)
> +++ geronimo/server/branches/2.0-M2/modules/geronimo-openejb-
> builder/src/test/java/org/apache/geronimo/openejb/deployment/
> EjbModuleBuilderTest.java Wed Jan 24 22:33:05 2007
> @@ -47,11 +47,11 @@
> TransactionManager transactionManager = new
> GeronimoTransactionManager();
> OpenEjbSystem openEjbSystem = new OpenEjbSystemGBean
> (transactionManager);
>
> - addEjbContainer(openEjbSystem, "Default Stateless
> Container");
> - addEjbContainer(openEjbSystem, "Default Stateful Container");
> - addEjbContainer(openEjbSystem, "Default BMP Container");
> - addEjbContainer(openEjbSystem, "Default CMP Container");
> - addEjbContainer(openEjbSystem, "Default MDB Container");
> + addEjbContainer(openEjbSystem, "Default Stateless
> Container", "STATELESS");
> + addEjbContainer(openEjbSystem, "Default Stateful
> Container", "STATEFUL");
> + addEjbContainer(openEjbSystem, "Default BMP Container",
> "BMP_ENTITY");
> + addEjbContainer(openEjbSystem, "Default CMP Container",
> "CMP_ENTITY");
> + addEjbContainer(openEjbSystem, "Default MDB Container",
> "MESSAGE");
>
> // load ejb-jar.xml
> String ejbJarXml = XmlUtil.loadEjbJarXml(null, moduleFile);
> @@ -70,10 +70,11 @@
> openEjbSystem.createEjbJar(ejbJarInfo, classLoader);
> }
>
> - private void addEjbContainer(OpenEjbSystem openEjbSystem,
> String id) throws Exception {
> + private void addEjbContainer(OpenEjbSystem openEjbSystem,
> String id, String type) throws Exception {
> EjbContainer ejbContainer = new EjbContainer();
> ejbContainer.setOpenEjbSystem(openEjbSystem);
> ejbContainer.setId(id);
> + ejbContainer.setType(type);
> ejbContainer.doStart();
> }
> }
>
> Modified: geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/
> src/main/java/org/apache/geronimo/tomcat/GeronimoStandardContext.java
> URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/
> modules/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/
> GeronimoStandardContext.java?view=diff&rev=499679&r1=499678&r2=499679
> ======================================================================
> ========
> --- geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/
> main/java/org/apache/geronimo/tomcat/GeronimoStandardContext.java
> (original)
> +++ geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/
> main/java/org/apache/geronimo/tomcat/GeronimoStandardContext.java
> Wed Jan 24 22:33:05 2007
> @@ -23,6 +23,7 @@
> import java.util.Map;
>
> import javax.naming.NamingException;
> +import javax.naming.Context;
> import javax.security.auth.Subject;
> import javax.security.jacc.PolicyContext;
> import javax.servlet.Servlet;
> @@ -34,6 +35,7 @@
> import org.apache.catalina.Manager;
> import org.apache.catalina.Valve;
> import org.apache.catalina.Wrapper;
> +import org.apache.catalina.util.DefaultAnnotationProcessor;
> import org.apache.catalina.connector.Request;
> import org.apache.catalina.connector.Response;
> import org.apache.catalina.core.StandardContext;
> @@ -93,6 +95,13 @@
> }
> } catch (NamingException ne) {
> log.error(ne);
> + }
> + try {
> + Context env = (Context) enc.lookup("env");
> + setAnnotationProcessor(new DefaultAnnotationProcessor
> (env));
> + } catch (NamingException e) {
> + // ignored
> + log.warn("Could not find env in enterprise naming
> context", e);
> }
>
> int index = 0;
>
> Modified: geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/
> src/main/java/org/apache/geronimo/tomcat/
> TomcatEJBWebServiceContext.java
> URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/
> modules/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/
> TomcatEJBWebServiceContext.java?
> view=diff&rev=499679&r1=499678&r2=499679
> ======================================================================
> ========
> --- geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/
> main/java/org/apache/geronimo/tomcat/
> TomcatEJBWebServiceContext.java (original)
> +++ geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/
> main/java/org/apache/geronimo/tomcat/
> TomcatEJBWebServiceContext.java Wed Jan 24 22:33:05 2007
> @@ -24,7 +24,10 @@
> import java.util.HashMap;
> import java.util.Map;
>
> +import javax.servlet.ServletContext;
> import javax.servlet.ServletException;
> +import javax.servlet.http.HttpServletRequest;
> +import javax.servlet.http.HttpServletResponse;
>
> import org.apache.catalina.authenticator.BasicAuthenticator;
> import org.apache.catalina.authenticator.DigestAuthenticator;
> @@ -130,6 +133,12 @@
> req.setContentType("text/xml");
> RequestAdapter request = new RequestAdapter(req);
> ResponseAdapter response = new ResponseAdapter(res);
> +
> + request.setAttribute
> (WebServiceContainer.SERVLET_REQUEST, (HttpServletRequest)req);
> + request.setAttribute
> (WebServiceContainer.SERVLET_RESPONSE, (HttpServletResponse)res);
> + // TODO: add support for context
> + request.setAttribute
> (WebServiceContainer.SERVLET_CONTEXT, null);
> +
> req.finishRequest();
> if (req.getParameter("wsdl") != null) {
> try {
>
> Modified: geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/
> src/main/resources/META-INF/geronimo-dependency.xml
> URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/
> modules/geronimo-tomcat6/src/main/resources/META-INF/geronimo-
> dependency.xml?view=diff&rev=499679&r1=499678&r2=499679
> ======================================================================
> ========
> --- geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/
> main/resources/META-INF/geronimo-dependency.xml (original)
> +++ geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/
> main/resources/META-INF/geronimo-dependency.xml Wed Jan 24 22:33:05
> 2007
> @@ -22,7 +22,12 @@
> <dep:groupId>org.apache.tomcat</dep:groupId>
> <dep:artifactId>catalina</dep:artifactId>
> </dep:dependency>
> -
> +
> + <dep:dependency>
> + <dep:groupId>org.apache.tomcat</dep:groupId>
> + <dep:artifactId>annotations-api</dep:artifactId>
> + </dep:dependency>
> +
> <dep:dependency>
> <dep:groupId>org.apache.tomcat</dep:groupId>
> <dep:artifactId>jasper</dep:artifactId>
>
> Modified: geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/
> src/test/java/org/apache/geronimo/tomcat/app/
> MockWebServiceContainer.java
> URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/
> modules/geronimo-tomcat6/src/test/java/org/apache/geronimo/tomcat/
> app/MockWebServiceContainer.java?
> view=diff&rev=499679&r1=499678&r2=499679
> ======================================================================
> ========
> --- geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/
> test/java/org/apache/geronimo/tomcat/app/
> MockWebServiceContainer.java (original)
> +++ geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/
> test/java/org/apache/geronimo/tomcat/app/
> MockWebServiceContainer.java Wed Jan 24 22:33:05 2007
> @@ -30,4 +30,7 @@
>
> }
>
> + public void destroy() {
> + }
> +
> }
>
> Modified: geronimo/server/branches/2.0-M2/modules/geronimo-
> webservices/src/main/java/org/apache/geronimo/webservices/
> WebServiceContainer.java
> URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/
> modules/geronimo-webservices/src/main/java/org/apache/geronimo/
> webservices/WebServiceContainer.java?
> view=diff&rev=499679&r1=499678&r2=499679
> ======================================================================
> ========
> --- geronimo/server/branches/2.0-M2/modules/geronimo-webservices/
> src/main/java/org/apache/geronimo/webservices/
> WebServiceContainer.java (original)
> +++ geronimo/server/branches/2.0-M2/modules/geronimo-webservices/
> src/main/java/org/apache/geronimo/webservices/
> WebServiceContainer.java Wed Jan 24 22:33:05 2007
> @@ -43,6 +43,24 @@
> public static final String MESSAGE_CONTEXT =
> WebServiceContainer.class.getName()+"@MessageContext";
>
> /**
> + * Used for JAX-WS MessageContext. MessageContext must expose
> HttpServletRequest.
> + */
> + public static final String SERVLET_REQUEST =
> + WebServiceContainer.class.getName()+"@ServletRequest";
> +
> + /**
> + * Used for JAX-WS MessageContext. MessageContext must expose
> HttpServletResponse.
> + */
> + public static final String SERVLET_RESPONSE =
> + WebServiceContainer.class.getName()+"@ServletResponse";
> +
> + /**
> + * Used for JAX-WS MessageContext. MessageContext must expose
> ServletContext.
> + */
> + public static final String SERVLET_CONTEXT =
> + WebServiceContainer.class.getName()+"@ServletContext";
> +
> + /**
> * Token inserted into wsdl where location should be replaced
> with the real location
> */
> public String LOCATION_REPLACEMENT_TOKEN =
> "LOCATIONREPLACEMENTTOKEN";
> @@ -50,6 +68,8 @@
> void invoke(Request request, Response response) throws Exception;
>
> void getWsdl(Request req, Response res) throws Exception;
> +
> + void destroy();
>
> public interface Request {
> /** the HTTP OPTIONS type */
>
> Modified: geronimo/server/branches/2.0-M2/modules/geronimo-
> webservices/src/main/java/org/apache/geronimo/webservices/
> WebServiceContainerInvoker.java
> URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/
> modules/geronimo-webservices/src/main/java/org/apache/geronimo/
> webservices/WebServiceContainerInvoker.java?
> view=diff&rev=499679&r1=499678&r2=499679
> ======================================================================
> ========
> --- geronimo/server/branches/2.0-M2/modules/geronimo-webservices/
> src/main/java/org/apache/geronimo/webservices/
> WebServiceContainerInvoker.java (original)
> +++ geronimo/server/branches/2.0-M2/modules/geronimo-webservices/
> src/main/java/org/apache/geronimo/webservices/
> WebServiceContainerInvoker.java Wed Jan 24 22:33:05 2007
> @@ -40,19 +40,21 @@
>
> private final Object pojo;
> private WebServiceContainer service;
> + private ServletConfig config;
>
> public WebServiceContainerInvoker(Object pojo) {
> this.pojo = pojo;
> }
>
> public void init(ServletConfig config) throws ServletException {
> + this.config = config;
> ServletContext context = config.getServletContext();
> String webServiceContainerID = config.getInitParameter
> (WEBSERVICE_CONTAINER);
> service = (WebServiceContainer) context.getAttribute
> (webServiceContainerID);
> }
>
> public ServletConfig getServletConfig() {
> - return null;
> + return config;
> }
>
> public void service(ServletRequest req, ServletResponse res)
> throws ServletException, IOException {
> @@ -63,6 +65,10 @@
> // This is the guy the WebServiceContainer should invoke
> req.setAttribute(WebServiceContainer.POJO_INSTANCE, pojo);
>
> + req.setAttribute(WebServiceContainer.SERVLET_REQUEST,
> (HttpServletRequest) req);
> + req.setAttribute(WebServiceContainer.SERVLET_RESPONSE,
> (HttpServletResponse) res);
> + req.setAttribute(WebServiceContainer.SERVLET_CONTEXT,
> config.getServletContext());
> +
> if (req.getParameter("wsdl") != null || req.getParameter
> ("WSDL") != null) {
> try {
> service.getWsdl(request, response);
> @@ -91,6 +97,7 @@
> }
>
> public void destroy() {
> + service.destroy();
> }
>
> private static class RequestAdapter implements
> WebServiceContainer.Request {
> @@ -141,7 +148,6 @@
> return request.getParameterMap();
> }
>
> -
> private static final Map methods = new HashMap();
>
> static {
> @@ -175,7 +181,7 @@
> public ResponseAdapter(HttpServletResponse response) {
> this.response = response;
> }
> -
> +
> public void setHeader(String name, String value) {
> response.setHeader(name, value);
> }
>
> Modified: geronimo/server/branches/2.0-M2/pom.xml
> URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/
> pom.xml?view=diff&rev=499679&r1=499678&r2=499679
> ======================================================================
> ========
> --- geronimo/server/branches/2.0-M2/pom.xml (original)
> +++ geronimo/server/branches/2.0-M2/pom.xml Wed Jan 24 22:33:05 2007
> @@ -818,6 +818,12 @@
>
> <dependency>
> <groupId>org.apache.tomcat</groupId>
> + <artifactId>annotations-api</artifactId>
> + <version>${tomcatVersion}</version>
> + </dependency>
> +
> + <dependency>
> + <groupId>org.apache.tomcat</groupId>
> <artifactId>jasper</artifactId>
> <version>${tomcatVersion}</version>
> </dependency>
>
> Modified: geronimo/server/branches/2.0-M2/testsuite/webservices-
> testsuite/jaxws-tests/jaxws-war/pom.xml
> URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/
> testsuite/webservices-testsuite/jaxws-tests/jaxws-war/pom.xml?
> view=diff&rev=499679&r1=499678&r2=499679
> ======================================================================
> ========
> --- geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/
> jaxws-tests/jaxws-war/pom.xml (original)
> +++ geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/
> jaxws-tests/jaxws-war/pom.xml Wed Jan 24 22:33:05 2007
> @@ -137,7 +137,7 @@
> <goal>undeploy-module</goal>
> </goals>
> <configuration>
> - <moduleId>CXF/cxfPojoServlet/1.1/car</
> moduleId>
> + <moduleId>JEE5/JAXWSServlet/1.1/car</
> moduleId>
> </configuration>
> </execution>
> </executions>
>
> Modified: geronimo/server/branches/2.0-M2/testsuite/webservices-
> testsuite/jaxws-tests/jaxws-war/src/main/java/org/apache/
> hello_world_soap_http/GreeterImpl.java
> URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/
> testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/java/
> org/apache/hello_world_soap_http/GreeterImpl.java?
> view=diff&rev=499679&r1=499678&r2=499679
> ======================================================================
> ========
> --- geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/
> jaxws-tests/jaxws-war/src/main/java/org/apache/
> hello_world_soap_http/GreeterImpl.java (original)
> +++ geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/
> jaxws-tests/jaxws-war/src/main/java/org/apache/
> hello_world_soap_http/GreeterImpl.java Wed Jan 24 22:33:05 2007
> @@ -37,12 +37,14 @@
> targetNamespace = "http://apache.org/
> hello_world_soap_http")
> public class GreeterImpl implements Greeter {
>
> - private static final Logger LOG = Logger.getLogger
> (GreeterImpl.class.getName());
> + private static final Logger LOG =
> + Logger.getLogger(GreeterImpl.class.getName());
>
> @Resource
> private WebServiceContext context;
>
> - private int invocationCount;
> + @Resource(name="greeting")
> + private String greeting;
>
> public WebServiceContext getContext() {
> return context;
> @@ -50,7 +52,10 @@
>
> public String greetMe(String me) {
> LOG.info("Invoking greetMe " + me);
> - invocationCount++;
> - return "Hello " + me;
> +
> + LOG.info("Principal: " + context.getUserPrincipal());
> + LOG.info("Context: " + context.getMessageContext());
> +
> + return greeting + " " + me;
> }
> }
>
> Modified: geronimo/server/branches/2.0-M2/testsuite/webservices-
> testsuite/jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/geronimo-
> web.xml
> URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/
> testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/
> webapp/WEB-INF/geronimo-web.xml?
> view=diff&rev=499679&r1=499678&r2=499679
> ======================================================================
> ========
> --- geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/
> jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/geronimo-web.xml
> (original)
> +++ geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/
> jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/geronimo-web.xml Wed
> Jan 24 22:33:05 2007
> @@ -18,8 +18,8 @@
> <web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-1.1"
> xmlns:dep="http://geronimo.apache.org/xml/ns/deployment-1.1"
> xmlns:naming="http://geronimo.apache.org/xml/ns/naming-1.1">
> <dep:environment>
> <dep:moduleId>
> - <dep:groupId>CXF</dep:groupId>
> - <dep:artifactId>cxfPojoServlet</dep:artifactId>
> + <dep:groupId>JEE5</dep:groupId>
> + <dep:artifactId>JAXWSServlet</dep:artifactId>
> <dep:version>1.1</dep:version>
> <dep:type>car</dep:type>
> </dep:moduleId>
>
> Modified: geronimo/server/branches/2.0-M2/testsuite/webservices-
> testsuite/jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/web.xml
> URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/
> testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/
> webapp/WEB-INF/web.xml?view=diff&rev=499679&r1=499678&r2=499679
> ======================================================================
> ========
> --- geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/
> jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/web.xml (original)
> +++ geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/
> jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/web.xml Wed Jan 24
> 22:33:05 2007
> @@ -22,18 +22,25 @@
> version="2.5"
>>
>
> - <display-name>Geronimo CXF POJO WS War</display-name>
> + <display-name>Geronimo POJO WS War</display-name>
>
> <servlet>
> - <display-name>Geronimo CXF POJO WS</display-name>
> - <servlet-name>cxfPojoServlet</servlet-name>
> + <display-name>Geronimo POJO WS</display-name>
> + <servlet-name>POJOServlet</servlet-name>
> <servlet-
> class>org.apache.hello_world_soap_http.GreeterImpl</servlet-class>
> <load-on-startup>0</load-on-startup>
> </servlet>
>
> <servlet-mapping>
> - <servlet-name>cxfPojoServlet</servlet-name>
> + <servlet-name>POJOServlet</servlet-name>
> <url-pattern>/servlet</url-pattern>
> </servlet-mapping>
> +
> + <env-entry>
> + <description>Welcome message</description>
> + <env-entry-name>greeting</env-entry-name>
> + <env-entry-type>java.lang.String</env-entry-type>
> + <env-entry-value>Hello</env-entry-value>
> + </env-entry>
>
> </web-app>
>
> Modified: geronimo/server/branches/2.0-M2/testsuite/webservices-
> testsuite/jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/
> webservices.xml
> URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/
> testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/
> webapp/WEB-INF/webservices.xml?
> view=diff&rev=499679&r1=499678&r2=499679
> ======================================================================
> ========
> --- geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/
> jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/webservices.xml
> (original)
> +++ geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/
> jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/webservices.xml Wed
> Jan 24 22:33:05 2007
> @@ -26,15 +26,15 @@
> http://java.sun.com/xml/ns/javaee/javaee_web_services_1_2.xsd"
> version="1.2">
> <webservice-description>
> - <webservice-description-name>cxfPojo</webservice-
> description-name>
> + <webservice-description-name>POJO WS</webservice-
> description-name>
> <wsdl-file>WEB-INF/wsdl/greeter_control.wsdl</wsdl-file>
> <port-component>
> - <port-component-name>cxfPojoName</port-component-name>
> + <port-component-name>POJOPort</port-component-name>
> <wsdl-service></wsdl-service>
> <enable-mtom>false</enable-mtom>
> <service-endpoint-
> interface>org.apache.hello_world_soap_http.Greeter</service-
> endpoint-interface>
> <service-impl-bean>
> - <servlet-link>cxfPojoServlet</servlet-link>
> + <servlet-link>POJOServlet</servlet-link>
> </service-impl-bean>
> </port-component>
> </webservice-description>
>
> Modified: geronimo/server/branches/2.0-M2/testsuite/webservices-
> testsuite/jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/wsdl/
> greeter_control.wsdl
> URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/
> testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/
> webapp/WEB-INF/wsdl/greeter_control.wsdl?
> view=diff&rev=499679&r1=499678&r2=499679
> ======================================================================
> ========
> --- geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/
> jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/wsdl/
> greeter_control.wsdl (original)
> +++ geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/
> jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/wsdl/
> greeter_control.wsdl Wed Jan 24 22:33:05 2007
> @@ -19,13 +19,13 @@
> -->
> <wsdl:definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
> - xmlns:tns="http://cxf.apache.org/greeter_control"
> - xmlns:x1="http://cxf.apache.org/greeter_control/types"
> + xmlns:tns="http://apache.org/greeter_control"
> + xmlns:x1="http://apache.org/greeter_control/types"
> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> - targetNamespace="http://cxf.apache.org/greeter_control"
> name="HelloWorld">
> + targetNamespace="http://apache.org/greeter_control"
> name="HelloWorld">
> <wsdl:types>
> - <schema targetNamespace="http://cxf.apache.org/
> greeter_control/types"
> + <schema targetNamespace="http://apache.org/greeter_control/
> types"
> xmlns="http://www.w3.org/2001/XMLSchema"
> elementFormDefault="qualified">
> <element name="sayHi">
> <complexType/>
> @@ -73,31 +73,6 @@
> </complexType>
> </element>
>
> - <element name="startGreeter">
> - <complexType>
> - <sequence>
> - <element name="requestType"
> type="xsd:string"/>
> - </sequence>
> - </complexType>
> - </element>
> - <element name="startGreeterResponse">
> - <complexType>
> - <sequence>
> - <element name="responseType"
> type="xsd:boolean"/>
> - </sequence>
> - </complexType>
> - </element>
> - <element name="stopGreeter">
> - <complexType/>
> - </element>
> - <element name="stopGreeterResponse">
> - <complexType>
> - <sequence>
> - <element name="responseType"
> type="xsd:boolean"/>
> - </sequence>
> - </complexType>
> - </element>
> -
> </schema>
> </wsdl:types>
>
> @@ -126,20 +101,7 @@
> <wsdl:message name="pingMeFault">
> <wsdl:part name="faultDetail" element="x1:faultDetail"/>
> </wsdl:message>
> -
> - <wsdl:message name="startGreeterRequest">
> - <wsdl:part element="x1:startGreeter" name="in"/>
> - </wsdl:message>
> - <wsdl:message name="startGreeterResponse">
> - <wsdl:part element="x1:startGreeterResponse" name="out"/>
> - </wsdl:message>
> - <wsdl:message name="stopGreeterRequest">
> - <wsdl:part element="x1:stopGreeter" name="in"/>
> - </wsdl:message>
> - <wsdl:message name="stopGreeterResponse">
> - <wsdl:part element="x1:stopGreeterResponse" name="out"/>
> - </wsdl:message>
> -
> +
> <wsdl:portType name="Greeter">
> <wsdl:operation name="sayHi">
> <wsdl:input message="tns:sayHiRequest"
> name="sayHiRequest"/>
> @@ -162,17 +124,6 @@
> </wsdl:operation>
> </wsdl:portType>
>
> - <wsdl:portType name="Control">
> - <wsdl:operation name="startGreeter">
> - <wsdl:input message="tns:startGreeterRequest"
> name="startGreeterRequest"/>
> - <wsdl:output message="tns:startGreeterResponse"
> name="startGreeterResponse"/>
> - </wsdl:operation>
> -
> - <wsdl:operation name="stopGreeter">
> - <wsdl:input message="tns:stopGreeterRequest"
> name="stopGreeterRequest"/>
> - <wsdl:output message="tns:stopGreeterResponse"
> name="stopGreeterResponse"/>
> - </wsdl:operation>
> - </wsdl:portType>
>
> <wsdl:binding name="GreeterSOAPBinding" type="tns:Greeter">
> <soap:binding style="document" transport="http://
> schemas.xmlsoap.org/soap/http"/>
> @@ -219,37 +170,9 @@
>
> </wsdl:binding>
>
> - <wsdl:binding name="ControlSOAPBinding" type="tns:Control">
> - <soap:binding style="document" transport="http://
> schemas.xmlsoap.org/soap/http"/>
> - <wsdl:operation name="startGreeter">
> - <soap:operation soapAction="" style="document"/>
> - <wsdl:input name="startGreeterRequest">
> - <soap:body use="literal"/>
> - </wsdl:input>
> - <wsdl:output name="startGreeterResponse">
> - <soap:body use="literal"/>
> - </wsdl:output>
> - </wsdl:operation>
> - <wsdl:operation name="stopGreeter">
> - <soap:operation soapAction="" style="document"/>
> - <wsdl:input name="stopGreeterRequest">
> - <soap:body use="literal"/>
> - </wsdl:input>
> - <wsdl:output name="stopGreeterResponse">
> - <soap:body use="literal"/>
> - </wsdl:output>
> - </wsdl:operation>
> - </wsdl:binding>
> -
> - <wsdl:service name="ControlService">
> - <wsdl:port binding="tns:ControlSOAPBinding"
> name="ControlPort">
> - <soap:address location="http://localhost:9001/
> SoapContext/ControlPort"/>
> - </wsdl:port>
> - </wsdl:service>
> -
> <wsdl:service name="GreeterService">
> <wsdl:port binding="tns:GreeterSOAPBinding"
> name="GreeterPort">
> - <soap:address location="http://localhost:9020/
> SoapContext/GreeterPort"/>
> + <soap:address location="http://localhost:8080/
> SoapContext/GreeterPort"/>
> <wswa:UsingAddressing xmlns:wswa="http://www.w3.org/
> 2005/08/addressing/wsdl"/>
> </wsdl:port>
> </wsdl:service>
>
> Modified: geronimo/server/branches/2.0-M2/testsuite/webservices-
> testsuite/jaxws-tests/jaxws-war/src/test/resources/request1.xml
> URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/
> testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/test/
> resources/request1.xml?view=diff&rev=499679&r1=499678&r2=499679
> ======================================================================
> ========
> --- geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/
> jaxws-tests/jaxws-war/src/test/resources/request1.xml (original)
> +++ geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/
> jaxws-tests/jaxws-war/src/test/resources/request1.xml Wed Jan 24
> 22:33:05 2007
> @@ -19,7 +19,7 @@
> -->
> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/
> envelope/">
> <soap:Body>
> - <greetMe xmlns="http://apache.org/hello_world_soap_http">
> + <greetMe xmlns="http://apache.org/greeter_control/types">
> <requestType>foo bar</requestType>
> </greetMe>
> </soap:Body>
>
>
>
Matt Hogstrom
matt@hogstrom.org