[jbossws-commits] JBossWS SVN: r3162 - in branches/tdiesler/trunk: integration/spi/src/main/java/org/jboss/wsf/spi/deployment and 10 other directories.
jbossws-commits at lists.jboss.org
jbossws-commits at lists.jboss.org
Mon May 21 06:53:58 EDT 2007
Author: thomas.diesler at jboss.com
Date: 2007-05-21 06:53:58 -0400 (Mon, 21 May 2007)
New Revision: 3162
Added:
branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointAssociation.java
branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/EndpointServlet.java
branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/XFireConfigurableServletJBWS.java
branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/XFireServicesDeployer.java
branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/metadata/sunjaxws/DDBeans.java
branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/metadata/sunjaxws/DDService.java
Removed:
branches/tdiesler/trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/EndpointAssociation.java
branches/tdiesler/trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/WSEndpointServletJBWS.java
branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/DeploymentDescriptorParserExt.java
branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/DeploymentDescriptorParserJBWS.java
branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/EndpointAssociation.java
branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/InvokerEJB3.java
branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/InvokerJSE.java
branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/ServletResourceLoader.java
branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/SunJaxwsDeployer.java
branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/VirtualFileResourceLoader.java
branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/WSEndpointServletJBWS.java
branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/WSServletContextListenerExt.java
branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/WSServletContextListenerJBWS.java
branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/metadata/sunjaxws/DDEndpoint.java
branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/metadata/sunjaxws/DDEndpoints.java
branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/metadata/sunjaxws/DDHandler.java
branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/metadata/sunjaxws/DDHandlerChain.java
Modified:
branches/tdiesler/trunk/build/ant-import/build-setup.xml
branches/tdiesler/trunk/integration/sunri/build.xml
branches/tdiesler/trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/InvokerEJB3.java
branches/tdiesler/trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/InvokerJSE.java
branches/tdiesler/trunk/integration/sunri/src/main/resources/jbossws-jboss50.sar/META-INF/jbossws-beans.xml
branches/tdiesler/trunk/integration/xfire/
branches/tdiesler/trunk/integration/xfire/.classpath
branches/tdiesler/trunk/integration/xfire/ant-import/build-testsuite.xml
branches/tdiesler/trunk/integration/xfire/ant-import/build-thirdparty.xml
branches/tdiesler/trunk/integration/xfire/build.xml
branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/ModifyWebMetaDataDeployer.java
branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/RequestHandlerImpl.java
branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/WebAppDesciptorModifierImpl.java
branches/tdiesler/trunk/integration/xfire/src/main/resources/jbossws-jboss50.sar/META-INF/jbossws-beans.xml
branches/tdiesler/trunk/integration/xfire/version.properties
branches/tdiesler/trunk/testsuite/src/java/org/jboss/test/ws/jaxws/eardeployment/EarTestCase.java
branches/tdiesler/trunk/testsuite/src/java/org/jboss/test/ws/jaxws/eardeployment/TestEndpointService.java
Log:
xfire
Modified: branches/tdiesler/trunk/build/ant-import/build-setup.xml
===================================================================
--- branches/tdiesler/trunk/build/ant-import/build-setup.xml 2007-05-21 09:47:16 UTC (rev 3161)
+++ branches/tdiesler/trunk/build/ant-import/build-setup.xml 2007-05-21 10:53:58 UTC (rev 3162)
@@ -25,6 +25,7 @@
<property name="int.jboss42.dir" value="${basedir}/integration/jboss42"/>
<property name="int.jbws.dir" value="${basedir}/integration/jbws"/>
<property name="int.sunri.dir" value="${basedir}/integration/sunri"/>
+ <property name="int.xfire.dir" value="${basedir}/integration/xfire"/>
<property file="${build.dir}/ant.properties"/>
<property file="${build.dir}/version.properties"/>
Copied: branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointAssociation.java (from rev 3156, branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/EndpointAssociation.java)
===================================================================
--- branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointAssociation.java (rev 0)
+++ branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointAssociation.java 2007-05-21 10:53:58 UTC (rev 3162)
@@ -0,0 +1,51 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.spi.deployment;
+
+// $Id$
+
+
+/**
+ * Associates the endpoint meta data with the current thead.
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 10-May-2007
+ */
+public final class EndpointAssociation
+{
+ private static final ThreadLocal<Endpoint> endpoint = new ThreadLocal<Endpoint>();
+
+ public static void setEndpoint(Endpoint ep)
+ {
+ endpoint.set(ep);
+ }
+
+ public static Endpoint getEndpoint()
+ {
+ return endpoint.get();
+ }
+
+ public static void removeEndpoint()
+ {
+ endpoint.remove();
+ }
+}
Added: branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/EndpointServlet.java
===================================================================
--- branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/EndpointServlet.java (rev 0)
+++ branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/EndpointServlet.java 2007-05-21 10:53:58 UTC (rev 3162)
@@ -0,0 +1,106 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.spi.invocation;
+
+// $Id$
+
+import java.io.IOException;
+
+import javax.management.ObjectName;
+import javax.servlet.ServletConfig;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.xml.ws.WebServiceException;
+
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.spi.deployment.EndpointAssociation;
+import org.jboss.wsf.spi.management.EndpointRegistry;
+import org.jboss.wsf.spi.management.EndpointRegistryFactory;
+import org.jboss.wsf.spi.utils.ObjectNameFactory;
+
+/**
+ * The JAX-WS dispatcher servlet.
+ *
+ * @author WS Development Team
+ * @author Thomas.Diesler at jboss.org
+ * @since 10-May-2007
+ */
+public class EndpointServlet extends HttpServlet
+{
+ protected Endpoint endpoint;
+ protected EndpointRegistry epRegistry;
+
+ public void init(ServletConfig servletConfig) throws ServletException
+ {
+ super.init(servletConfig);
+ epRegistry = EndpointRegistryFactory.getEndpointRegistry();
+ }
+
+ public void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException
+ {
+ if (endpoint == null)
+ {
+ String contextPath = req.getContextPath();
+ initServiceEndpoint(contextPath);
+ }
+
+ try
+ {
+ EndpointAssociation.setEndpoint(endpoint);
+ RequestHandler requestHandler = (RequestHandler)endpoint.getRequestHandler();
+ requestHandler.handleHttpRequest(endpoint, req, res, getServletContext());
+ }
+ finally
+ {
+ EndpointAssociation.removeEndpoint();
+ }
+ }
+
+ /** Initialize the service endpoint
+ */
+ protected void initServiceEndpoint(String contextPath)
+ {
+ if (contextPath.startsWith("/"))
+ contextPath = contextPath.substring(1);
+
+ String servletName = getServletName();
+ for (ObjectName sepId : epRegistry.getEndpoints())
+ {
+ String propContext = sepId.getKeyProperty(Endpoint.SEPID_PROPERTY_CONTEXT);
+ String propEndpoint = sepId.getKeyProperty(Endpoint.SEPID_PROPERTY_ENDPOINT);
+ if (servletName.equals(propEndpoint) && contextPath.equals(propContext))
+ {
+ endpoint = epRegistry.getEndpoint(sepId);
+ break;
+ }
+ }
+
+ if (endpoint == null)
+ {
+ ObjectName oname = ObjectNameFactory.create(Endpoint.SEPID_DOMAIN + ":" + Endpoint.SEPID_PROPERTY_CONTEXT + "=" + contextPath + ","
+ + Endpoint.SEPID_PROPERTY_ENDPOINT + "=" + servletName);
+ throw new WebServiceException("Cannot obtain endpoint for: " + oname);
+ }
+ }
+}
Property changes on: branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/EndpointServlet.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: branches/tdiesler/trunk/integration/sunri/build.xml
===================================================================
--- branches/tdiesler/trunk/integration/sunri/build.xml 2007-05-21 09:47:16 UTC (rev 3161)
+++ branches/tdiesler/trunk/integration/sunri/build.xml 2007-05-21 10:53:58 UTC (rev 3162)
@@ -153,7 +153,7 @@
</metainf>
</jar>
- <!-- Build jbosswsri-deployer -->
+ <!-- Build jbossws-sunri50-deployer -->
<zip zipfile="${sunri.output.lib.dir}/jbossws-sunri50-deployer.zip">
<fileset dir="${int.jboss50.dir}/output/lib">
<include name="jbossws-jboss50.jar"/>
@@ -166,7 +166,7 @@
</fileset>
</zip>
- <!-- Build jbosswsri50-src.zip -->
+ <!-- Build jbossws-sunri50-src.zip -->
<zip zipfile="${sunri.output.lib.dir}/jbossws-sunri50-src.zip" >
<fileset dir="${sunri.java.dir}"/>
</zip>
Deleted: branches/tdiesler/trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/EndpointAssociation.java
===================================================================
--- branches/tdiesler/trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/EndpointAssociation.java 2007-05-21 09:47:16 UTC (rev 3161)
+++ branches/tdiesler/trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/EndpointAssociation.java 2007-05-21 10:53:58 UTC (rev 3162)
@@ -1,52 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.wsf.stack.sunri;
-
-// $Id$
-
-import org.jboss.wsf.spi.deployment.Endpoint;
-
-/**
- * Associates the endpoint meta data with the current thead.
- *
- * @author Thomas.Diesler at jboss.org
- * @since 10-May-2007
- */
-public final class EndpointAssociation
-{
- private static final ThreadLocal<Endpoint> endpoint = new ThreadLocal<Endpoint>();
-
- public static void setEndpoint(Endpoint ep)
- {
- endpoint.set(ep);
- }
-
- public static Endpoint getEndpoint()
- {
- return endpoint.get();
- }
-
- public static void removeEndpoint()
- {
- endpoint.remove();
- }
-}
Modified: branches/tdiesler/trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/InvokerEJB3.java
===================================================================
--- branches/tdiesler/trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/InvokerEJB3.java 2007-05-21 09:47:16 UTC (rev 3161)
+++ branches/tdiesler/trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/InvokerEJB3.java 2007-05-21 10:53:58 UTC (rev 3162)
@@ -30,6 +30,7 @@
import javax.xml.ws.WebServiceException;
import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.spi.deployment.EndpointAssociation;
import org.jboss.wsf.spi.invocation.EndpointInvocation;
import org.jboss.wsf.spi.invocation.InvocationHandler;
Modified: branches/tdiesler/trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/InvokerJSE.java
===================================================================
--- branches/tdiesler/trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/InvokerJSE.java 2007-05-21 09:47:16 UTC (rev 3161)
+++ branches/tdiesler/trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/InvokerJSE.java 2007-05-21 10:53:58 UTC (rev 3162)
@@ -30,6 +30,7 @@
import javax.xml.ws.WebServiceException;
import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.spi.deployment.EndpointAssociation;
import org.jboss.wsf.spi.invocation.EndpointInvocation;
import org.jboss.wsf.spi.invocation.InvocationHandler;
Deleted: branches/tdiesler/trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/WSEndpointServletJBWS.java
===================================================================
--- branches/tdiesler/trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/WSEndpointServletJBWS.java 2007-05-21 09:47:16 UTC (rev 3161)
+++ branches/tdiesler/trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/WSEndpointServletJBWS.java 2007-05-21 10:53:58 UTC (rev 3162)
@@ -1,106 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.wsf.stack.sunri;
-
-// $Id$
-
-import java.io.IOException;
-
-import javax.management.ObjectName;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.xml.ws.WebServiceException;
-
-import org.jboss.wsf.spi.deployment.Endpoint;
-import org.jboss.wsf.spi.invocation.RequestHandler;
-import org.jboss.wsf.spi.management.EndpointRegistry;
-import org.jboss.wsf.spi.management.EndpointRegistryFactory;
-import org.jboss.wsf.spi.utils.ObjectNameFactory;
-
-/**
- * The JAX-WS dispatcher servlet.
- *
- * @author WS Development Team
- * @author Thomas.Diesler at jboss.org
- * @since 10-May-2007
- */
-public class WSEndpointServletJBWS extends HttpServlet
-{
- protected Endpoint endpoint;
- protected EndpointRegistry epRegistry;
-
- public void init(ServletConfig servletConfig) throws ServletException
- {
- super.init(servletConfig);
- epRegistry = EndpointRegistryFactory.getEndpointRegistry();
- }
-
- public void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException
- {
- if (endpoint == null)
- {
- String contextPath = req.getContextPath();
- initServiceEndpoint(contextPath);
- }
-
- try
- {
- EndpointAssociation.setEndpoint(endpoint);
- RequestHandler requestHandler = (RequestHandler)endpoint.getRequestHandler();
- requestHandler.handleHttpRequest(endpoint, req, res, getServletContext());
- }
- finally
- {
- EndpointAssociation.removeEndpoint();
- }
- }
-
- /** Initialize the service endpoint
- */
- protected void initServiceEndpoint(String contextPath)
- {
- if (contextPath.startsWith("/"))
- contextPath = contextPath.substring(1);
-
- String servletName = getServletName();
- for (ObjectName sepId : epRegistry.getEndpoints())
- {
- String propContext = sepId.getKeyProperty(Endpoint.SEPID_PROPERTY_CONTEXT);
- String propEndpoint = sepId.getKeyProperty(Endpoint.SEPID_PROPERTY_ENDPOINT);
- if (servletName.equals(propEndpoint) && contextPath.equals(propContext))
- {
- endpoint = epRegistry.getEndpoint(sepId);
- break;
- }
- }
-
- if (endpoint == null)
- {
- ObjectName oname = ObjectNameFactory.create(Endpoint.SEPID_DOMAIN + ":" + Endpoint.SEPID_PROPERTY_CONTEXT + "=" + contextPath + ","
- + Endpoint.SEPID_PROPERTY_ENDPOINT + "=" + servletName);
- throw new WebServiceException("Cannot obtain endpoint for: " + oname);
- }
- }
-}
Modified: branches/tdiesler/trunk/integration/sunri/src/main/resources/jbossws-jboss50.sar/META-INF/jbossws-beans.xml
===================================================================
--- branches/tdiesler/trunk/integration/sunri/src/main/resources/jbossws-jboss50.sar/META-INF/jbossws-beans.xml 2007-05-21 09:47:16 UTC (rev 3161)
+++ branches/tdiesler/trunk/integration/sunri/src/main/resources/jbossws-jboss50.sar/META-INF/jbossws-beans.xml 2007-05-21 10:53:58 UTC (rev 3162)
@@ -157,7 +157,7 @@
<bean name="WSSecurityRolesHandlerEJB3" class="org.jboss.wsf.container.jboss50.SecurityRolesHandlerEJB3"/>
<bean name="WSWebAppDesciptorModifier" class="org.jboss.wsf.stack.sunri.WebAppDesciptorModifierImpl">
<property name="listenerClass">org.jboss.wsf.stack.sunri.WSServletContextListenerJBWS</property>
- <property name="servletClass">org.jboss.wsf.stack.sunri.WSEndpointServletJBWS</property>
+ <property name="servletClass">org.jboss.wsf.spi.invocation.EndpointServlet</property>
</bean>
<bean name="WSWebXMLRewriter" class="org.jboss.wsf.spi.deployment.WebXMLRewriter">
<property name="desciptorModifier"><inject bean="WSWebAppDesciptorModifier"/></property>
Property changes on: branches/tdiesler/trunk/integration/xfire
___________________________________________________________________
Name: svn:ignore
+ thirdparty
output*
version.properties.md5
Modified: branches/tdiesler/trunk/integration/xfire/.classpath
===================================================================
--- branches/tdiesler/trunk/integration/xfire/.classpath 2007-05-21 09:47:16 UTC (rev 3161)
+++ branches/tdiesler/trunk/integration/xfire/.classpath 2007-05-21 10:53:58 UTC (rev 3162)
@@ -3,24 +3,12 @@
<classpathentry kind="src" path="src/main/java"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/jboss-5.0.x"/>
- <classpathentry kind="lib" path="thirdparty/jaxws-api.jar"/>
- <classpathentry kind="lib" path="thirdparty/jsr181-api.jar"/>
- <classpathentry kind="lib" path="thirdparty/FastInfoset.jar"/>
- <classpathentry kind="lib" path="thirdparty/http.jar"/>
<classpathentry kind="lib" path="thirdparty/jaxb-api.jar"/>
<classpathentry kind="lib" path="thirdparty/jaxb-impl.jar"/>
<classpathentry kind="lib" path="thirdparty/jaxb-xjc.jar"/>
- <classpathentry kind="lib" path="thirdparty/jaxws-rt.jar" sourcepath="thirdparty/jaxws-ri-src.jar"/>
- <classpathentry kind="lib" path="thirdparty/jaxws-tools.jar"/>
- <classpathentry kind="lib" path="thirdparty/jsr173_api.jar"/>
- <classpathentry kind="lib" path="thirdparty/jsr250-api.jar"/>
- <classpathentry kind="lib" path="thirdparty/saaj-api.jar"/>
- <classpathentry kind="lib" path="thirdparty/saaj-impl.jar"/>
- <classpathentry kind="lib" path="thirdparty/sjsxp.jar"/>
- <classpathentry kind="lib" path="thirdparty/stax-ex.jar"/>
- <classpathentry kind="lib" path="thirdparty/streambuffer.jar"/>
<classpathentry kind="lib" path="thirdparty/servlet-api.jar"/>
<classpathentry combineaccessrules="false" kind="src" path="/integration-spi"/>
<classpathentry kind="lib" path="/integration-spi/thirdparty/dom4j.jar"/>
+ <classpathentry kind="lib" path="thirdparty/xfire-all.jar" sourcepath="thirdparty/xfire-distribution-sources.jar"/>
<classpathentry kind="output" path="output-eclipse"/>
</classpath>
Modified: branches/tdiesler/trunk/integration/xfire/ant-import/build-testsuite.xml
===================================================================
--- branches/tdiesler/trunk/integration/xfire/ant-import/build-testsuite.xml 2007-05-21 09:47:16 UTC (rev 3161)
+++ branches/tdiesler/trunk/integration/xfire/ant-import/build-testsuite.xml 2007-05-21 10:53:58 UTC (rev 3162)
@@ -42,26 +42,39 @@
-->
<target name="tests-init" depends="tests-prepare,thirdparty">
+ <path id="sunri.classpath">
+ <pathelement location="${int.sunri.dir}/thirdparty/FastInfoset.jar"/>
+ <pathelement location="${int.sunri.dir}/thirdparty/http.jar"/>
+ <pathelement location="${int.sunri.dir}/thirdparty/jaxws-api.jar"/>
+ <pathelement location="${int.sunri.dir}/thirdparty/jaxws-rt.jar"/>
+ <pathelement location="${int.sunri.dir}/thirdparty/jaxws-tools.jar"/>
+ <pathelement location="${int.sunri.dir}/thirdparty/jsr173_api.jar"/>
+ <pathelement location="${int.sunri.dir}/thirdparty/jsr181-api.jar"/>
+ <pathelement location="${int.sunri.dir}/thirdparty/jsr250-api.jar"/>
+ <pathelement location="${int.sunri.dir}/thirdparty/resolver.jar"/>
+ <pathelement location="${int.sunri.dir}/thirdparty/saaj-api.jar"/>
+ <pathelement location="${int.sunri.dir}/thirdparty/saaj-impl.jar"/>
+ <pathelement location="${int.sunri.dir}/thirdparty/sjsxp.jar"/>
+ <pathelement location="${int.sunri.dir}/thirdparty/stax-ex.jar"/>
+ <pathelement location="${int.sunri.dir}/thirdparty/streambuffer.jar"/>
+ </path>
+
+ <!--
+ [JBWS-1654] - ServiceDelegate requires non portable method getPortClassMap
+ -->
<path id="xfire.classpath">
- <pathelement location="${thirdparty.dir}/FastInfoset.jar"/>
- <pathelement location="${thirdparty.dir}/http.jar"/>
<pathelement location="${thirdparty.dir}/jaxws-api.jar"/>
- <pathelement location="${thirdparty.dir}/jaxws-rt.jar"/>
- <pathelement location="${thirdparty.dir}/jaxws-tools.jar"/>
- <pathelement location="${thirdparty.dir}/jsr173_api.jar"/>
- <pathelement location="${thirdparty.dir}/jsr181-api.jar"/>
- <pathelement location="${thirdparty.dir}/jsr250-api.jar"/>
- <pathelement location="${thirdparty.dir}/resolver.jar"/>
+ <pathelement location="${thirdparty.dir}/jdom.jar"/>
<pathelement location="${thirdparty.dir}/saaj-api.jar"/>
<pathelement location="${thirdparty.dir}/saaj-impl.jar"/>
- <pathelement location="${thirdparty.dir}/sjsxp.jar"/>
- <pathelement location="${thirdparty.dir}/stax-ex.jar"/>
- <pathelement location="${thirdparty.dir}/streambuffer.jar"/>
+ <pathelement location="${thirdparty.dir}/wsdl4j.jar"/>
+ <pathelement location="${thirdparty.dir}/xfire-all.jar"/>
+ <pathelement location="${thirdparty.dir}/xfire-jsr181-api.jar"/>
</path>
<!-- The combined compile classpath -->
<path id="javac.classpath">
- <path refid="xfire.classpath"/>
+ <path refid="sunri.classpath"/>
<pathelement location="${spi.dir}/output/lib/jbossws-spi.jar"/>
<pathelement location="${jboss.client}/jboss-common-core.jar"/>
<pathelement location="${jboss.client}/jboss-logging-spi.jar"/>
@@ -70,7 +83,7 @@
<!-- The test client classpath -->
<path id="tests.client.classpath">
- <path refid="xfire.classpath"/>
+ <path refid="sunri.classpath"/>
<pathelement location="${jboss.client}/activation.jar"/>
<pathelement location="${jboss.client}/jaxb-api.jar"/>
<pathelement location="${jboss.client}/jaxb-impl.jar"/>
Modified: branches/tdiesler/trunk/integration/xfire/ant-import/build-thirdparty.xml
===================================================================
--- branches/tdiesler/trunk/integration/xfire/ant-import/build-thirdparty.xml 2007-05-21 09:47:16 UTC (rev 3161)
+++ branches/tdiesler/trunk/integration/xfire/ant-import/build-thirdparty.xml 2007-05-21 10:53:58 UTC (rev 3162)
@@ -42,12 +42,23 @@
description="Gets the thirdparty libraries">
<mkdir dir="${thirdparty.dir}"/>
+ <get src="${jboss.repository}/ibm-wsdl4j/${ibm-wsdl4j}/lib/wsdl4j.jar" dest="${thirdparty.dir}/wsdl4j.jar" usetimestamp="true" verbose="true"/>
+ <get src="${jboss.repository}/ibm-wsdl4j/${ibm-wsdl4j}/lib/wsdl4j-src.jar" dest="${thirdparty.dir}/wsdl4j-src.jar" usetimestamp="true" verbose="true"/>
<get src="${jboss.repository}/jboss/jaxr/${jboss-jaxr}/lib/juddi-service.sar" dest="${thirdparty.dir}/juddi-service.sar" usetimestamp="true" verbose="true"/>
<get src="${jboss.repository}/sun-jaxb/${sun-jaxb}/lib/jaxb-api.jar" dest="${thirdparty.dir}/jaxb-api.jar" usetimestamp="true" verbose="true"/>
<get src="${jboss.repository}/sun-jaxb/${sun-jaxb}/lib/jaxb-impl.jar" dest="${thirdparty.dir}/jaxb-impl.jar" usetimestamp="true" verbose="true"/>
<get src="${jboss.repository}/sun-jaxb/${sun-jaxb}/lib/jaxb-xjc.jar" dest="${thirdparty.dir}/jaxb-xjc.jar" usetimestamp="true" verbose="true"/>
<get src="${jboss.repository}/sun-servlet/${sun-servlet}/lib/servlet-api.jar" dest="${thirdparty.dir}/servlet-api.jar" usetimestamp="true" verbose="true"/>
+ <get src="${jboss.repository}/xfire/${xfire}/lib/jaxws-api.jar" dest="${thirdparty.dir}/jaxws-api.jar" usetimestamp="true" verbose="true"/>
+ <get src="${jboss.repository}/xfire/${xfire}/lib/jdom.jar" dest="${thirdparty.dir}/jdom.jar" usetimestamp="true" verbose="true"/>
+ <get src="${jboss.repository}/xfire/${xfire}/lib/saaj-api.jar" dest="${thirdparty.dir}/saaj-api.jar" usetimestamp="true" verbose="true"/>
+ <get src="${jboss.repository}/xfire/${xfire}/lib/saaj-impl.jar" dest="${thirdparty.dir}/saaj-impl.jar" usetimestamp="true" verbose="true"/>
+ <get src="${jboss.repository}/xfire/${xfire}/lib/spring.jar" dest="${thirdparty.dir}/spring.jar" usetimestamp="true" verbose="true"/>
+ <get src="${jboss.repository}/xfire/${xfire}/lib/xbean.jar" dest="${thirdparty.dir}/xbean.jar" usetimestamp="true" verbose="true"/>
+ <get src="${jboss.repository}/xfire/${xfire}/lib/xbean-spring.jar" dest="${thirdparty.dir}/xbean-spring.jar" usetimestamp="true" verbose="true"/>
<get src="${jboss.repository}/xfire/${xfire}/lib/xfire-all.jar" dest="${thirdparty.dir}/xfire-all.jar" usetimestamp="true" verbose="true"/>
+ <get src="${jboss.repository}/xfire/${xfire}/lib/xfire-distribution-sources.jar" dest="${thirdparty.dir}/xfire-distribution-sources.jar" usetimestamp="true" verbose="true"/>
+ <get src="${jboss.repository}/xfire/${xfire}/lib/xfire-jsr181-api.jar" dest="${thirdparty.dir}/xfire-jsr181-api.jar" usetimestamp="true" verbose="true"/>
<checksum file="${int.xfire.dir}/version.properties" fileext=".md5"/>
</target>
@@ -77,11 +88,10 @@
<pathelement location="${jboss50.server.deployers}/ejb3.deployer/jboss-annotations-ejb3.jar"/>
<pathelement location="${jboss50.server.deployers}/ejb3.deployer/jboss-ejb3.jar"/>
<pathelement location="${jboss50.server.deployers}/ejb3.deployer/jboss-ejb3x.jar"/>
- <pathelement location="${thirdparty.dir}/jaxb-api.jar"/>
- <pathelement location="${thirdparty.dir}/jaxb-impl.jar"/>
- <pathelement location="${thirdparty.dir}/jaxb-xjc.jar"/>
+ <pathelement location="${thirdparty.dir}/jaxws-api.jar"/>
<pathelement location="${thirdparty.dir}/servlet-api.jar"/>
<pathelement location="${thirdparty.dir}/xfire-all.jar"/>
+ <pathelement location="${thirdparty.dir}/xfire-jsr181-api.jar"/>
</path>
</target>
Modified: branches/tdiesler/trunk/integration/xfire/build.xml
===================================================================
--- branches/tdiesler/trunk/integration/xfire/build.xml 2007-05-21 09:47:16 UTC (rev 3161)
+++ branches/tdiesler/trunk/integration/xfire/build.xml 2007-05-21 10:53:58 UTC (rev 3162)
@@ -133,27 +133,23 @@
<include name="jaxrpc-api.jar"/>
</fileset>
<fileset dir="${thirdparty.dir}">
- <include name="FastInfoset.jar"/>
- <include name="http.jar"/>
<include name="jaxws-api.jar"/>
- <include name="jaxws-rt.jar"/>
- <include name="jaxws-tools.jar"/>
- <include name="jsr173_api.jar"/>
- <include name="jsr181-api.jar"/>
- <include name="jsr250-api.jar"/>
- <include name="resolver.jar"/>
+ <include name="jdom.jar"/>
+ <include name="wsdl4j.jar"/>
<include name="saaj-api.jar"/>
<include name="saaj-impl.jar"/>
- <include name="sjsxp.jar"/>
- <include name="stax-ex.jar"/>
- <include name="streambuffer.jar"/>
+ <include name="spring.jar"/>
+ <include name="xbean.jar"/>
+ <include name="xbean-spring.jar"/>
+ <include name="xfire-all.jar"/>
+ <include name="xfire-jsr181-api.jar"/>
</fileset>
<metainf dir="${xfire.resources.dir}/jbossws-jboss50.sar/META-INF">
<include name="jbossws-beans.xml"/>
</metainf>
</jar>
- <!-- Build jbosswsri-deployer -->
+ <!-- Build jbossws-xfire50-deployer -->
<zip zipfile="${xfire.output.lib.dir}/jbossws-xfire50-deployer.zip">
<fileset dir="${int.jboss50.dir}/output/lib">
<include name="jbossws-jboss50.jar"/>
@@ -166,7 +162,7 @@
</fileset>
</zip>
- <!-- Build jbosswsri50-src.zip -->
+ <!-- Build jbossws-xfire50-src.zip -->
<zip zipfile="${xfire.output.lib.dir}/jbossws-xfire50-src.zip" >
<fileset dir="${xfire.java.dir}"/>
</zip>
Deleted: branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/DeploymentDescriptorParserExt.java
===================================================================
--- branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/DeploymentDescriptorParserExt.java 2007-05-21 09:47:16 UTC (rev 3161)
+++ branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/DeploymentDescriptorParserExt.java 2007-05-21 10:53:58 UTC (rev 3162)
@@ -1,602 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.wsf.stack.xfire;
-
-// $Id$
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamConstants;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.ws.WebServiceException;
-import javax.xml.ws.http.HTTPBinding;
-import javax.xml.ws.soap.MTOMFeature;
-import javax.xml.ws.soap.SOAPBinding;
-
-import org.xml.sax.EntityResolver;
-
-import com.sun.istack.NotNull;
-import com.sun.xml.ws.api.BindingID;
-import com.sun.xml.ws.api.WSBinding;
-import com.sun.xml.ws.api.server.Container;
-import com.sun.xml.ws.api.server.InstanceResolver;
-import com.sun.xml.ws.api.server.Invoker;
-import com.sun.xml.ws.api.server.SDDocumentSource;
-import com.sun.xml.ws.api.server.WSEndpoint;
-import com.sun.xml.ws.api.streaming.XMLStreamReaderFactory;
-import com.sun.xml.ws.binding.WebServiceFeatureList;
-import com.sun.xml.ws.handler.HandlerChainsModel;
-import com.sun.xml.ws.resources.ServerMessages;
-import com.sun.xml.ws.resources.WsservletMessages;
-import com.sun.xml.ws.server.EndpointFactory;
-import com.sun.xml.ws.server.ServerRtException;
-import com.sun.xml.ws.streaming.Attributes;
-import com.sun.xml.ws.streaming.TidyXMLStreamReader;
-import com.sun.xml.ws.streaming.XMLStreamReaderUtil;
-import com.sun.xml.ws.transport.http.HttpAdapter;
-import com.sun.xml.ws.transport.http.ResourceLoader;
-import com.sun.xml.ws.transport.http.DeploymentDescriptorParser.AdapterFactory;
-import com.sun.xml.ws.util.HandlerAnnotationInfo;
-import com.sun.xml.ws.util.exception.LocatableWebServiceException;
-import com.sun.xml.ws.util.xml.XmlUtil;
-
-/**
- * A copy of DeploymentDescriptorParser that externalizes
- *
- * {@link createInvoker(Class)}
- *
- *
- * @author WS Development Team
- * @author Kohsuke Kawaguchi
- * @author Thomas.Diesler at jboss.org
- * @since 10-May-2007
- */
-public class DeploymentDescriptorParserExt<A>
-{
- private final Container container;
- private final ClassLoader classLoader;
- private final ResourceLoader loader;
- private final AdapterFactory<A> adapterFactory;
-
- /**
- * Endpoint names that are declared.
- * Used to catch double definitions.
- */
- private final Set<String> names = new HashSet<String>();
-
- /**
- * WSDL/schema documents collected from /WEB-INF/wsdl. Keyed by the system ID.
- */
- private final Map<String, SDDocumentSource> docs = new HashMap<String, SDDocumentSource>();
-
- /**
- *
- * @param cl
- * Used to load service implementations.
- * @param loader
- * Used to locate resources, in particular WSDL.
- * @param container
- * Optional {@link Container} that {@link WSEndpoint}s receive.
- * @param adapterFactory
- * Creates {@link HttpAdapter} (or its derived class.)
- */
- public DeploymentDescriptorParserExt(ClassLoader cl, ResourceLoader loader, Container container, AdapterFactory<A> adapterFactory) throws MalformedURLException
- {
- classLoader = cl;
- this.loader = loader;
- this.container = container;
- this.adapterFactory = adapterFactory;
-
- collectDocs("/WEB-INF/wsdl/");
- logger.fine("war metadata=" + docs);
- }
-
- /**
- * Parses the {@code sun-jaxws.xml} file and configures
- * a set of {@link HttpAdapter}s.
- */
- public @NotNull
- List<A> parse(String systemId, InputStream is)
- {
- XMLStreamReader reader = null;
- try
- {
- reader = new TidyXMLStreamReader(XMLStreamReaderFactory.create(systemId, is, true), is);
- XMLStreamReaderUtil.nextElementContent(reader);
- return parseAdapters(reader);
- }
- finally
- {
- if (reader != null)
- {
- try
- {
- reader.close();
- }
- catch (XMLStreamException e)
- {
- throw new ServerRtException("runtime.parser.xmlReader", e);
- }
- }
- try
- {
- is.close();
- }
- catch (IOException e)
- {
- // ignore
- }
- }
- }
-
- /**
- * Parses the {@code sun-jaxws.xml} file and configures
- * a set of {@link HttpAdapter}s.
- */
- public @NotNull
- List<A> parse(File f) throws IOException
- {
- FileInputStream in = new FileInputStream(f);
- try
- {
- return parse(f.getPath(), in);
- }
- finally
- {
- in.close();
- }
- }
-
- /**
- * Get all the WSDL & schema documents recursively.
- */
- private void collectDocs(String dirPath) throws MalformedURLException
- {
- Set<String> paths = loader.getResourcePaths(dirPath);
- if (paths != null)
- {
- for (String path : paths)
- {
- if (path.endsWith("/"))
- {
- collectDocs(path);
- }
- else
- {
- URL res = loader.getResource(path);
- docs.put(res.toString(), SDDocumentSource.create(res));
- }
- }
- }
- }
-
- private List<A> parseAdapters(XMLStreamReader reader)
- {
- if (!reader.getName().equals(QNAME_ENDPOINTS))
- {
- failWithFullName("runtime.parser.invalidElement", reader);
- }
-
- List<A> adapters = new ArrayList<A>();
-
- Attributes attrs = XMLStreamReaderUtil.getAttributes(reader);
- String version = getMandatoryNonEmptyAttribute(reader, attrs, ATTR_VERSION);
- if (!version.equals(ATTRVALUE_VERSION_1_0))
- {
- failWithLocalName("runtime.parser.invalidVersionNumber", reader, version);
- }
-
- while (XMLStreamReaderUtil.nextElementContent(reader) != XMLStreamConstants.END_ELEMENT)
- if (reader.getName().equals(QNAME_ENDPOINT))
- {
-
- attrs = XMLStreamReaderUtil.getAttributes(reader);
- String name = getMandatoryNonEmptyAttribute(reader, attrs, ATTR_NAME);
- if (!names.add(name))
- {
- logger.warning(WsservletMessages.SERVLET_WARNING_DUPLICATE_ENDPOINT_NAME(/*name*/));
- }
-
- String implementationName = getMandatoryNonEmptyAttribute(reader, attrs, ATTR_IMPLEMENTATION);
- Class<?> implementorClass = getImplementorClass(implementationName, reader);
- EndpointFactory.verifyImplementorClass(implementorClass);
-
- SDDocumentSource primaryWSDL = getPrimaryWSDL(reader, attrs, implementorClass);
-
- QName serviceName = getQNameAttribute(attrs, ATTR_SERVICE);
- if (serviceName == null)
- serviceName = EndpointFactory.getDefaultServiceName(implementorClass);
-
- QName portName = getQNameAttribute(attrs, ATTR_PORT);
- if (portName == null)
- portName = EndpointFactory.getDefaultPortName(serviceName, implementorClass);
-
- //get enable-mtom attribute value
- String enable_mtom = getAttribute(attrs, ATTR_ENABLE_MTOM);
- String mtomThreshold = getAttribute(attrs, ATTR_MTOM_THRESHOLD_VALUE);
- String bindingId = getAttribute(attrs, ATTR_BINDING);
- if (bindingId != null)
- // Convert short-form tokens to API's binding ids
- bindingId = getBindingIdForToken(bindingId);
- WSBinding binding = createBinding(bindingId, implementorClass, enable_mtom, mtomThreshold);
- String urlPattern = getMandatoryNonEmptyAttribute(reader, attrs, ATTR_URL_PATTERN);
-
- // TODO use 'docs' as the metadata. If wsdl is non-null it's the primary.
-
- boolean handlersSetInDD = setHandlersAndRoles(binding, reader, serviceName, portName);
-
- ensureNoContent(reader);
- Invoker invoker = createInvoker(implementorClass);
- WSEndpoint<?> endpoint = WSEndpoint.create(implementorClass, !handlersSetInDD, invoker,
- serviceName, portName, container, binding, primaryWSDL, docs.values(), createEntityResolver(), false);
- adapters.add(adapterFactory.createAdapter(name, urlPattern, endpoint));
- }
- else
- {
- failWithLocalName("runtime.parser.invalidElement", reader);
- }
- return adapters;
- }
-
- protected Invoker createInvoker(Class<?> implementorClass)
- {
- Invoker invoker = InstanceResolver.createDefault(implementorClass).createInvoker();
- return invoker;
- }
-
- /**
- * @param ddBindingId
- * binding id explicitlyspecified in the DeploymentDescriptor or parameter
- * @param implClass
- * Endpoint Implementation class
- * @param mtomEnabled
- * represents mtom-enabled attribute in DD
- * @param mtomThreshold
- * threshold value specified in DD
- * @return
- * is returned with only MTOMFeature set resolving the various precendece rules
- */
- private static WSBinding createBinding(String ddBindingId, Class implClass, String mtomEnabled, String mtomThreshold)
- {
- // Features specified through DD
- WebServiceFeatureList features;
-
- MTOMFeature mtomfeature = null;
- if (mtomEnabled != null)
- {
- if (mtomThreshold != null)
- mtomfeature = new MTOMFeature(Boolean.valueOf(mtomEnabled), Integer.valueOf(mtomThreshold));
- else mtomfeature = new MTOMFeature(Boolean.valueOf(mtomEnabled));
- }
-
- BindingID bindingID;
- if (ddBindingId != null)
- {
- bindingID = BindingID.parse(ddBindingId);
- features = bindingID.createBuiltinFeatureList();
-
- if (checkMtomConflict(features.get(MTOMFeature.class), mtomfeature))
- {
- throw new ServerRtException(ServerMessages.DD_MTOM_CONFLICT(ddBindingId, mtomEnabled));
- }
- }
- else
- {
- bindingID = BindingID.parse(implClass);
- // Since bindingID is coming from implclass,
- // mtom through Feature annotation or DD takes precendece
-
- features = new WebServiceFeatureList();
- if (mtomfeature != null)
- features.add(mtomfeature); // this wins over MTOM setting in bindingID
- features.addAll(bindingID.createBuiltinFeatureList());
- }
-
- return bindingID.createBinding(features.toArray());
- }
-
- private static boolean checkMtomConflict(MTOMFeature lhs, MTOMFeature rhs)
- {
- if (lhs == null || rhs == null)
- return false;
- return lhs.isEnabled() ^ rhs.isEnabled();
- }
-
- /**
- * JSR-109 defines short-form tokens for standard binding Ids. These are
- * used only in DD. So stand alone deployment descirptor should also honor
- * these tokens. This method converts the tokens to API's standard
- * binding ids
- *
- * @param lexical binding attribute value from DD. Always not null
- *
- * @return returns corresponding API's binding ID or the same lexical
- */
- public static @NotNull
- String getBindingIdForToken(@NotNull
- String lexical)
- {
- if (lexical.equals("##SOAP11_HTTP"))
- {
- return SOAPBinding.SOAP11HTTP_BINDING;
- }
- else if (lexical.equals("##SOAP11_HTTP_MTOM"))
- {
- return SOAPBinding.SOAP11HTTP_MTOM_BINDING;
- }
- else if (lexical.equals("##SOAP12_HTTP"))
- {
- return SOAPBinding.SOAP12HTTP_BINDING;
- }
- else if (lexical.equals("##SOAP12_HTTP_MTOM"))
- {
- return SOAPBinding.SOAP12HTTP_MTOM_BINDING;
- }
- else if (lexical.equals("##XML_HTTP"))
- {
- return HTTPBinding.HTTP_BINDING;
- }
- return lexical;
- }
-
- /**
- * Checks the deployment descriptor or {@link @WebServiceProvider} annotation
- * to see if it points to any WSDL. If so, returns the {@link SDDocumentSource}.
- *
- * @return
- * The pointed WSDL, if any. Otherwise null.
- */
- private SDDocumentSource getPrimaryWSDL(XMLStreamReader xsr, Attributes attrs, Class<?> implementorClass)
- {
-
- String wsdlFile = getAttribute(attrs, ATTR_WSDL);
- if (wsdlFile == null)
- {
- wsdlFile = EndpointFactory.getWsdlLocation(implementorClass);
- }
-
- if (wsdlFile != null)
- {
- if (!wsdlFile.startsWith(JAXWS_WSDL_DD_DIR))
- {
- logger.warning("Ignoring wrong wsdl=" + wsdlFile + ". It should start with " + JAXWS_WSDL_DD_DIR + ". Going to generate and publish a new WSDL.");
- return null;
- }
-
- URL wsdl;
- try
- {
- wsdl = loader.getResource('/' + wsdlFile);
- }
- catch (MalformedURLException e)
- {
- throw new LocatableWebServiceException(ServerMessages.RUNTIME_PARSER_WSDL_NOT_FOUND(wsdlFile), e, xsr);
- }
- if (wsdl == null)
- {
- throw new LocatableWebServiceException(ServerMessages.RUNTIME_PARSER_WSDL_NOT_FOUND(wsdlFile), xsr);
- }
- SDDocumentSource docInfo = docs.get(wsdl.toExternalForm());
- assert docInfo != null;
- return docInfo;
- }
-
- return null;
- }
-
- /**
- * Creates an {@link EntityResolver} that consults {@code /WEB-INF/jax-ws-catalog.xml}.
- */
- private EntityResolver createEntityResolver()
- {
- try
- {
- return XmlUtil.createEntityResolver(loader.getCatalogFile());
- }
- catch (MalformedURLException e)
- {
- throw new WebServiceException(e);
- }
- }
-
- protected String getAttribute(Attributes attrs, String name)
- {
- String value = attrs.getValue(name);
- if (value != null)
- {
- value = value.trim();
- }
- return value;
- }
-
- protected QName getQNameAttribute(Attributes attrs, String name)
- {
- String value = getAttribute(attrs, name);
- if (value == null || value.equals(""))
- {
- return null;
- }
- else
- {
- return QName.valueOf(value);
- }
- }
-
- protected String getNonEmptyAttribute(XMLStreamReader reader, Attributes attrs, String name)
- {
- String value = getAttribute(attrs, name);
- if (value != null && value.equals(""))
- {
- failWithLocalName("runtime.parser.invalidAttributeValue", reader, name);
- }
- return value;
- }
-
- protected String getMandatoryAttribute(XMLStreamReader reader, Attributes attrs, String name)
- {
- String value = getAttribute(attrs, name);
- if (value == null)
- {
- failWithLocalName("runtime.parser.missing.attribute", reader, name);
- }
- return value;
- }
-
- protected String getMandatoryNonEmptyAttribute(XMLStreamReader reader, Attributes attributes, String name)
- {
- String value = getAttribute(attributes, name);
- if (value == null)
- {
- failWithLocalName("runtime.parser.missing.attribute", reader, name);
- }
- else if (value.equals(""))
- {
- failWithLocalName("runtime.parser.invalidAttributeValue", reader, name);
- }
- return value;
- }
-
- /**
- * Parses the handler and role information and sets it
- * on the {@link WSBinding}.
- * @return true if <handler-chains> element present in DD
- * false otherwise.
- */
- protected boolean setHandlersAndRoles(WSBinding binding, XMLStreamReader reader, QName serviceName, QName portName)
- {
-
- if (XMLStreamReaderUtil.nextElementContent(reader) == XMLStreamConstants.END_ELEMENT || !reader.getName().equals(HandlerChainsModel.QNAME_HANDLER_CHAINS))
- {
-
- return false;
- }
-
- HandlerAnnotationInfo handlerInfo = HandlerChainsModel.parseHandlerFile(reader, classLoader, serviceName, portName, binding);
-
- binding.setHandlerChain(handlerInfo.getHandlers());
- if (binding instanceof SOAPBinding)
- {
- ((SOAPBinding)binding).setRoles(handlerInfo.getRoles());
- }
-
- // move past </handler-chains>
- XMLStreamReaderUtil.nextContent(reader);
- return true;
- }
-
- protected static void ensureNoContent(XMLStreamReader reader)
- {
- if (reader.getEventType() != XMLStreamConstants.END_ELEMENT)
- {
- fail("runtime.parser.unexpectedContent", reader);
- }
- }
-
- protected static void fail(String key, XMLStreamReader reader)
- {
- logger.log(Level.SEVERE, key + reader.getLocation().getLineNumber());
- throw new ServerRtException(key, Integer.toString(reader.getLocation().getLineNumber()));
- }
-
- protected static void failWithFullName(String key, XMLStreamReader reader)
- {
- throw new ServerRtException(key, reader.getLocation().getLineNumber(), reader.getName());
- }
-
- protected static void failWithLocalName(String key, XMLStreamReader reader)
- {
- throw new ServerRtException(key, reader.getLocation().getLineNumber(), reader.getLocalName());
- }
-
- protected static void failWithLocalName(String key, XMLStreamReader reader, String arg)
- {
- throw new ServerRtException(key, reader.getLocation().getLineNumber(), reader.getLocalName(), arg);
- }
-
- protected Class loadClass(String name)
- {
- try
- {
- return Class.forName(name, true, classLoader);
- }
- catch (ClassNotFoundException e)
- {
- logger.log(Level.SEVERE, e.getMessage(), e);
- throw new ServerRtException("runtime.parser.classNotFound", name);
- }
- }
-
- /**
- * Loads the class of the given name.
- *
- * @param xsr
- * Used to report the source location information if there's any error.
- */
- private Class getImplementorClass(String name, XMLStreamReader xsr)
- {
- try
- {
- return Class.forName(name, true, classLoader);
- }
- catch (ClassNotFoundException e)
- {
- logger.log(Level.SEVERE, e.getMessage(), e);
- throw new LocatableWebServiceException(ServerMessages.RUNTIME_PARSER_CLASS_NOT_FOUND(name), e, xsr);
- }
- }
-
- public static final String NS_RUNTIME = "http://java.sun.com/xml/ns/jax-ws/ri/runtime";
-
- public static final String JAXWS_WSDL_DD_DIR = "WEB-INF/wsdl";
-
- public static final QName QNAME_ENDPOINTS = new QName(NS_RUNTIME, "endpoints");
- public static final QName QNAME_ENDPOINT = new QName(NS_RUNTIME, "endpoint");
-
- public static final String ATTR_VERSION = "version";
- public static final String ATTR_NAME = "name";
- public static final String ATTR_IMPLEMENTATION = "implementation";
- public static final String ATTR_WSDL = "wsdl";
- public static final String ATTR_SERVICE = "service";
- public static final String ATTR_PORT = "port";
- public static final String ATTR_URL_PATTERN = "url-pattern";
- public static final String ATTR_ENABLE_MTOM = "enable-mtom";
- public static final String ATTR_MTOM_THRESHOLD_VALUE = "mtom-threshold-value";
- public static final String ATTR_BINDING = "binding";
-
- public static final String ATTRVALUE_VERSION_1_0 = "2.0";
- private static final Logger logger = Logger.getLogger(com.sun.xml.ws.util.Constants.LoggingDomain + ".server.http");
-}
Deleted: branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/DeploymentDescriptorParserJBWS.java
===================================================================
--- branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/DeploymentDescriptorParserJBWS.java 2007-05-21 09:47:16 UTC (rev 3161)
+++ branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/DeploymentDescriptorParserJBWS.java 2007-05-21 10:53:58 UTC (rev 3162)
@@ -1,67 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.wsf.stack.xfire;
-
-// $Id$
-
-import java.net.MalformedURLException;
-
-import javax.ejb.Stateless;
-
-import com.sun.xml.ws.api.server.Container;
-import com.sun.xml.ws.api.server.InstanceResolver;
-import com.sun.xml.ws.api.server.Invoker;
-import com.sun.xml.ws.transport.http.ResourceLoader;
-import com.sun.xml.ws.transport.http.DeploymentDescriptorParser.AdapterFactory;
-
-/**
- * A copy of DeploymentDescriptorParser that externalizes
- *
- * createInvoker(Class)
- *
- * @author Thomas.Diesler at jboss.org
- * @since 10-May-2007
- */
-public class DeploymentDescriptorParserJBWS<A> extends DeploymentDescriptorParserExt<A>
-{
- public DeploymentDescriptorParserJBWS(ClassLoader cl, ResourceLoader loader, Container container, AdapterFactory<A> adapterFactory) throws MalformedURLException
- {
- super(cl, loader, container, adapterFactory);
- }
-
- @Override
- protected Invoker createInvoker(Class<?> implClass)
- {
- Invoker invoker;
- InstanceResolver<?> resolver = InstanceResolver.createDefault(implClass);
- if (implClass.isAnnotationPresent(Stateless.class))
- {
- invoker = new InvokerEJB3(resolver);
- }
- else
- {
- invoker = new InvokerJSE(resolver);
- }
- return invoker;
- }
-
-}
Deleted: branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/EndpointAssociation.java
===================================================================
--- branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/EndpointAssociation.java 2007-05-21 09:47:16 UTC (rev 3161)
+++ branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/EndpointAssociation.java 2007-05-21 10:53:58 UTC (rev 3162)
@@ -1,52 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.wsf.stack.xfire;
-
-// $Id$
-
-import org.jboss.wsf.spi.deployment.Endpoint;
-
-/**
- * Associates the endpoint meta data with the current thead.
- *
- * @author Thomas.Diesler at jboss.org
- * @since 10-May-2007
- */
-public final class EndpointAssociation
-{
- private static final ThreadLocal<Endpoint> endpoint = new ThreadLocal<Endpoint>();
-
- public static void setEndpoint(Endpoint ep)
- {
- endpoint.set(ep);
- }
-
- public static Endpoint getEndpoint()
- {
- return endpoint.get();
- }
-
- public static void removeEndpoint()
- {
- endpoint.remove();
- }
-}
Deleted: branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/InvokerEJB3.java
===================================================================
--- branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/InvokerEJB3.java 2007-05-21 09:47:16 UTC (rev 3161)
+++ branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/InvokerEJB3.java 2007-05-21 10:53:58 UTC (rev 3162)
@@ -1,111 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.wsf.stack.xfire;
-
-// $Id$
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-import javax.xml.ws.Provider;
-import javax.xml.ws.WebServiceException;
-
-import org.jboss.wsf.spi.deployment.Endpoint;
-import org.jboss.wsf.spi.invocation.EndpointInvocation;
-import org.jboss.wsf.spi.invocation.InvocationHandler;
-
-import com.sun.istack.NotNull;
-import com.sun.xml.ws.api.message.Packet;
-import com.sun.xml.ws.api.server.InstanceResolver;
-import com.sun.xml.ws.api.server.Invoker;
-import com.sun.xml.ws.api.server.WSEndpoint;
-import com.sun.xml.ws.api.server.WSWebServiceContext;
-
-/**
- * An invoker for EJB3 endpoints
- *
- * @author Thomas.Diesler at jboss.org
- * @since 10-May-2007
- */
-public class InvokerEJB3 extends Invoker
-{
- private final InstanceResolver resolver;
-
- public InvokerEJB3(InstanceResolver resolver)
- {
- this.resolver = resolver;
- }
-
- @Override
- public void start(@NotNull WSWebServiceContext wsc, @NotNull WSEndpoint endpoint)
- {
- resolver.start(wsc, endpoint);
- }
-
- @Override
- public void dispose()
- {
- resolver.dispose();
- }
-
- @Override
- public <T> T invokeProvider(@NotNull Packet p, T arg)
- {
- Object targetBean = resolver.resolve(p);
- return ((Provider<T>)targetBean).invoke(arg);
- }
-
- @Override
- public Object invoke(Packet p, Method m, Object... args) throws InvocationTargetException, IllegalAccessException
- {
- Endpoint ep = EndpointAssociation.getEndpoint();
-
- InvocationHandler invHandler = ep.getInvocationHandler();
- EndpointInvocation inv = invHandler.createInvocation();
- inv.setJavaMethod(m);
- inv.setArgs(args);
-
- Object retObj = null;
- try
- {
- invHandler.invoke(ep, null, inv);
- retObj = inv.getReturnValue();
- }
- catch (Exception ex)
- {
- handleException(ex);
- }
-
- return retObj;
- }
-
- private void handleException(Exception ex) throws InvocationTargetException, IllegalAccessException
- {
- if (ex instanceof InvocationTargetException)
- throw (InvocationTargetException)ex;
-
- if (ex instanceof IllegalAccessException)
- throw (IllegalAccessException)ex;
-
- throw new WebServiceException(ex);
- }
-}
\ No newline at end of file
Deleted: branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/InvokerJSE.java
===================================================================
--- branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/InvokerJSE.java 2007-05-21 09:47:16 UTC (rev 3161)
+++ branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/InvokerJSE.java 2007-05-21 10:53:58 UTC (rev 3162)
@@ -1,115 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.wsf.stack.xfire;
-
-// $Id$
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-import javax.xml.ws.Provider;
-import javax.xml.ws.WebServiceException;
-
-import org.jboss.wsf.spi.deployment.Endpoint;
-import org.jboss.wsf.spi.invocation.EndpointInvocation;
-import org.jboss.wsf.spi.invocation.InvocationHandler;
-
-import com.sun.istack.NotNull;
-import com.sun.xml.ws.api.message.Packet;
-import com.sun.xml.ws.api.server.InstanceResolver;
-import com.sun.xml.ws.api.server.Invoker;
-import com.sun.xml.ws.api.server.WSEndpoint;
-import com.sun.xml.ws.api.server.WSWebServiceContext;
-
-/**
- * An invoker for JSE endpoints
- *
- * @author Thomas.Diesler at jboss.org
- * @since 10-May-2007
- */
-public class InvokerJSE extends Invoker
-{
- private final InstanceResolver resolver;
-
- public InvokerJSE(InstanceResolver resolver)
- {
- this.resolver = resolver;
- }
-
- @Override
- public void start(@NotNull
- WSWebServiceContext wsc, @NotNull
- WSEndpoint endpoint)
- {
- resolver.start(wsc, endpoint);
- }
-
- @Override
- public void dispose()
- {
- resolver.dispose();
- }
-
- @Override
- public <T> T invokeProvider(@NotNull
- Packet p, T arg)
- {
- Object targetBean = resolver.resolve(p);
- return ((Provider<T>)targetBean).invoke(arg);
- }
-
- @Override
- public Object invoke(Packet p, Method m, Object... args) throws InvocationTargetException, IllegalAccessException
- {
- Endpoint ep = EndpointAssociation.getEndpoint();
-
- InvocationHandler invHandler = ep.getInvocationHandler();
- EndpointInvocation inv = invHandler.createInvocation();
- inv.setJavaMethod(m);
- inv.setArgs(args);
-
- Object retObj = null;
- try
- {
- Object targetBean = resolver.resolve(p);
- invHandler.invoke(ep, targetBean, inv);
- retObj = inv.getReturnValue();
- }
- catch (Exception ex)
- {
- handleException(ex);
- }
-
- return retObj;
- }
-
- private void handleException(Exception ex) throws InvocationTargetException, IllegalAccessException
- {
- if (ex instanceof InvocationTargetException)
- throw (InvocationTargetException)ex;
-
- if (ex instanceof IllegalAccessException)
- throw (IllegalAccessException)ex;
-
- throw new WebServiceException(ex);
- }
-}
Modified: branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/ModifyWebMetaDataDeployer.java
===================================================================
--- branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/ModifyWebMetaDataDeployer.java 2007-05-21 09:47:16 UTC (rev 3161)
+++ branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/ModifyWebMetaDataDeployer.java 2007-05-21 10:53:58 UTC (rev 3162)
@@ -23,36 +23,24 @@
//$Id$
-import org.jboss.metadata.Listener;
import org.jboss.metadata.WebMetaData;
import org.jboss.metadata.web.ParamValue;
import org.jboss.metadata.web.Servlet;
import org.jboss.metadata.web.ParamValue.ParamType;
import org.jboss.wsf.spi.deployment.AbstractDeployer;
import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.stack.xfire.metadata.sunjaxws.DDEndpoints;
+import org.jboss.wsf.stack.xfire.metadata.sunjaxws.DDBeans;
/**
* A deployer that modifies the web.xml meta data
*
* @author Thomas.Diesler at jboss.org
- * @since 25-Apr-2007
+ * @since 21-Mai-2007
*/
public class ModifyWebMetaDataDeployer extends AbstractDeployer
{
- private String listenerClass;
private String servletClass;
- public String getListenerClass()
- {
- return listenerClass;
- }
-
- public void setListenerClass(String listenerClass)
- {
- this.listenerClass = listenerClass;
- }
-
public String getServletClass()
{
return servletClass;
@@ -69,19 +57,15 @@
WebMetaData webMetaData = dep.getContext().getAttachment(WebMetaData.class);
if (webMetaData != null)
{
- Listener listener = new Listener();
- listener.setListenerClass(listenerClass);
- webMetaData.addListener(listener);
+ DDBeans ddbeans = dep.getContext().getAttachment(DDBeans.class);
+ if (ddbeans == null)
+ throw new IllegalStateException("Cannot obtain services.xml meta data");
- DDEndpoints ddSunJaxws = dep.getContext().getAttachment(DDEndpoints.class);
- if (ddSunJaxws == null)
- throw new IllegalStateException("Cannot obtain sun-jaxws meta data");
-
// Add the path to sun-jaxws.xml
ParamValue ctxParam = new ParamValue();
ctxParam.setType(ParamType.CONTEXT_PARAM);
- ctxParam.setName(WSServletContextListenerJBWS.PARAM_SUN_JAXWS_URL);
- ctxParam.setValue(ddSunJaxws.createFileURL().toExternalForm());
+ ctxParam.setName(XFireConfigurableServletJBWS.PARAM_XFIRE_SERVICES_URL);
+ ctxParam.setValue(ddbeans.createFileURL().toExternalForm());
webMetaData.addContextParam(ctxParam);
for (Servlet servlet : webMetaData.getServlets())
@@ -106,10 +90,10 @@
@Override
public void destroy(Deployment dep)
{
- DDEndpoints ddSunJaxws = dep.getContext().getAttachment(DDEndpoints.class);
- if (ddSunJaxws != null)
+ DDBeans ddbeans = dep.getContext().getAttachment(DDBeans.class);
+ if (ddbeans != null)
{
- ddSunJaxws.destroyFileURL();
+ ddbeans.destroyFileURL();
}
}
Modified: branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/RequestHandlerImpl.java
===================================================================
--- branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/RequestHandlerImpl.java 2007-05-21 09:47:16 UTC (rev 3161)
+++ branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/RequestHandlerImpl.java 2007-05-21 10:53:58 UTC (rev 3162)
@@ -31,7 +31,6 @@
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import javax.xml.ws.WebServiceException;
import org.jboss.logging.Logger;
import org.jboss.util.NotImplementedException;
@@ -39,14 +38,11 @@
import org.jboss.wsf.spi.invocation.InvocationContext;
import org.jboss.wsf.spi.invocation.RequestHandler;
-import com.sun.xml.ws.transport.http.servlet.WSServlet;
-import com.sun.xml.ws.transport.http.servlet.WSServletDelegate;
-
/**
* A request handler
*
* @author Thomas.Diesler at jboss.org
- * @since 25-Apr-2007
+ * @since 21-Mai-2007
*/
public class RequestHandlerImpl implements RequestHandler
{
@@ -55,31 +51,7 @@
public void handleHttpRequest(Endpoint endpoint, HttpServletRequest req, HttpServletResponse res, ServletContext context) throws ServletException, IOException
{
- WSServletDelegate delegate = (WSServletDelegate)context.getAttribute(WSServlet.JAXWS_RI_RUNTIME_INFO);
- if (delegate == null)
- throw new IllegalStateException("Cannot obtain servlet delegate");
-
- String method = req.getMethod();
- if (method.equals("POST"))
- {
- delegate.doPost(req, res, context);
- }
- else if (method.equals("GET"))
- {
- delegate.doGet(req, res, context);
- }
- else if (method.equals("PUT"))
- {
- delegate.doPut(req, res, context);
- }
- else if (method.equals("DELETE"))
- {
- delegate.doDelete(req, res, context);
- }
- else
- {
- throw new WebServiceException("Unsupported method: " + method);
- }
+ throw new NotImplementedException();
}
public void handleRequest(Endpoint endpoint, InputStream inStream, OutputStream outStream, InvocationContext context)
Deleted: branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/ServletResourceLoader.java
===================================================================
--- branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/ServletResourceLoader.java 2007-05-21 09:47:16 UTC (rev 3161)
+++ branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/ServletResourceLoader.java 2007-05-21 10:53:58 UTC (rev 3162)
@@ -1,65 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.wsf.stack.xfire;
-
-// $Id$
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Set;
-
-import javax.servlet.ServletContext;
-
-import com.sun.xml.ws.transport.http.ResourceLoader;
-
-/**
- * {@link ResourceLoader} backed by {@link ServletContext}.
- *
- * TDI: A copy of the original that is public
- *
- * @author WS Development Team
- * @author Thomas.Diesler at jboss.org
- */
-public class ServletResourceLoader implements ResourceLoader
-{
- private final ServletContext context;
-
- public ServletResourceLoader(ServletContext context)
- {
- this.context = context;
- }
-
- public URL getResource(String path) throws MalformedURLException
- {
- return context.getResource(path);
- }
-
- public URL getCatalogFile() throws MalformedURLException
- {
- return getResource("/WEB-INF/jax-ws-catalog.xml");
- }
-
- public Set<String> getResourcePaths(String path)
- {
- return context.getResourcePaths(path);
- }
-}
Deleted: branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/SunJaxwsDeployer.java
===================================================================
--- branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/SunJaxwsDeployer.java 2007-05-21 09:47:16 UTC (rev 3161)
+++ branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/SunJaxwsDeployer.java 2007-05-21 10:53:58 UTC (rev 3162)
@@ -1,56 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.wsf.stack.xfire;
-
-//$Id$
-
-import org.jboss.wsf.spi.deployment.AbstractDeployer;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.Endpoint;
-import org.jboss.wsf.stack.xfire.metadata.sunjaxws.DDEndpoint;
-import org.jboss.wsf.stack.xfire.metadata.sunjaxws.DDEndpoints;
-
-/**
- * A deployer that generates sun-jaxws.xml
- *
- * @author Thomas.Diesler at jboss.org
- * @since 10-May-2007
- */
-public class SunJaxwsDeployer extends AbstractDeployer
-{
- @Override
- public void create(Deployment dep)
- {
- DDEndpoints dd = new DDEndpoints();
- for (Endpoint ep : dep.getService().getEndpoints())
- {
- String epName = ep.getShortName();
- String targetBean = ep.getTargetBean();
- String urlPattern = ep.getURLPattern();
-
- DDEndpoint ddep = new DDEndpoint(epName, targetBean, urlPattern);
- log.info("Add " + ddep);
- dd.addEndpoint(ddep);
- }
- dep.getContext().addAttachment(DDEndpoints.class, dd);
- }
-}
\ No newline at end of file
Deleted: branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/VirtualFileResourceLoader.java
===================================================================
--- branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/VirtualFileResourceLoader.java 2007-05-21 09:47:16 UTC (rev 3161)
+++ branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/VirtualFileResourceLoader.java 2007-05-21 10:53:58 UTC (rev 3162)
@@ -1,94 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.wsf.stack.xfire;
-
-//$Id$
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.jboss.virtual.VirtualFile;
-
-import com.sun.xml.ws.transport.http.ResourceLoader;
-
-/**
- * A ResourceLoader that delegates to the VFS
- *
- * @author Thomas.Diesler at jboss.org
- * @since 25-Apr-2007
- */
-public class VirtualFileResourceLoader implements ResourceLoader
-{
- private final VirtualFile vfRoot;
-
- public VirtualFileResourceLoader(VirtualFile vfRoot)
- {
- this.vfRoot = vfRoot;
- }
-
- public URL getResource(String path) throws MalformedURLException
- {
- if (path.startsWith("/"))
- path = path.substring(1);
-
- URL resURL = null;
- try
- {
- VirtualFile vfChild = vfRoot.findChild(path);
- resURL = vfChild.toURL();
- }
- catch (Exception ex)
- {
- // ignore
- }
- return resURL;
- }
-
- public URL getCatalogFile() throws MalformedURLException
- {
- return getResource("/WEB-INF/jax-ws-catalog.xml");
- }
-
- public Set<String> getResourcePaths(String path)
- {
- if (path.startsWith("/"))
- path = path.substring(1);
-
- Set<String> paths = new HashSet<String>();
- try
- {
- VirtualFile vfChild = vfRoot.findChild(path);
- for (VirtualFile vf : vfChild.getChildren())
- {
- String name = vf.getName();
- paths.add(name);
- }
- }
- catch (Exception ex)
- {
- // ignore
- }
- return paths;
- }
-}
Deleted: branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/WSEndpointServletJBWS.java
===================================================================
--- branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/WSEndpointServletJBWS.java 2007-05-21 09:47:16 UTC (rev 3161)
+++ branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/WSEndpointServletJBWS.java 2007-05-21 10:53:58 UTC (rev 3162)
@@ -1,106 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.wsf.stack.xfire;
-
-// $Id$
-
-import java.io.IOException;
-
-import javax.management.ObjectName;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.xml.ws.WebServiceException;
-
-import org.jboss.wsf.spi.deployment.Endpoint;
-import org.jboss.wsf.spi.invocation.RequestHandler;
-import org.jboss.wsf.spi.management.EndpointRegistry;
-import org.jboss.wsf.spi.management.EndpointRegistryFactory;
-import org.jboss.wsf.spi.utils.ObjectNameFactory;
-
-/**
- * The JAX-WS dispatcher servlet.
- *
- * @author WS Development Team
- * @author Thomas.Diesler at jboss.org
- * @since 10-May-2007
- */
-public class WSEndpointServletJBWS extends HttpServlet
-{
- protected Endpoint endpoint;
- protected EndpointRegistry epRegistry;
-
- public void init(ServletConfig servletConfig) throws ServletException
- {
- super.init(servletConfig);
- epRegistry = EndpointRegistryFactory.getEndpointRegistry();
- }
-
- public void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException
- {
- if (endpoint == null)
- {
- String contextPath = req.getContextPath();
- initServiceEndpoint(contextPath);
- }
-
- try
- {
- EndpointAssociation.setEndpoint(endpoint);
- RequestHandler requestHandler = (RequestHandler)endpoint.getRequestHandler();
- requestHandler.handleHttpRequest(endpoint, req, res, getServletContext());
- }
- finally
- {
- EndpointAssociation.removeEndpoint();
- }
- }
-
- /** Initialize the service endpoint
- */
- protected void initServiceEndpoint(String contextPath)
- {
- if (contextPath.startsWith("/"))
- contextPath = contextPath.substring(1);
-
- String servletName = getServletName();
- for (ObjectName sepId : epRegistry.getEndpoints())
- {
- String propContext = sepId.getKeyProperty(Endpoint.SEPID_PROPERTY_CONTEXT);
- String propEndpoint = sepId.getKeyProperty(Endpoint.SEPID_PROPERTY_ENDPOINT);
- if (servletName.equals(propEndpoint) && contextPath.equals(propContext))
- {
- endpoint = epRegistry.getEndpoint(sepId);
- break;
- }
- }
-
- if (endpoint == null)
- {
- ObjectName oname = ObjectNameFactory.create(Endpoint.SEPID_DOMAIN + ":" + Endpoint.SEPID_PROPERTY_CONTEXT + "=" + contextPath + ","
- + Endpoint.SEPID_PROPERTY_ENDPOINT + "=" + servletName);
- throw new WebServiceException("Cannot obtain endpoint for: " + oname);
- }
- }
-}
Deleted: branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/WSServletContextListenerExt.java
===================================================================
--- branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/WSServletContextListenerExt.java 2007-05-21 09:47:16 UTC (rev 3161)
+++ branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/WSServletContextListenerExt.java 2007-05-21 10:53:58 UTC (rev 3162)
@@ -1,187 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.wsf.stack.xfire;
-
-// $Id$
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import javax.servlet.ServletContext;
-import javax.servlet.ServletContextAttributeEvent;
-import javax.servlet.ServletContextAttributeListener;
-import javax.servlet.ServletContextEvent;
-import javax.servlet.ServletContextListener;
-import javax.xml.ws.WebServiceException;
-
-import com.sun.istack.NotNull;
-import com.sun.xml.ws.api.server.BoundEndpoint;
-import com.sun.xml.ws.api.server.Container;
-import com.sun.xml.ws.api.server.Module;
-import com.sun.xml.ws.resources.WsservletMessages;
-import com.sun.xml.ws.transport.http.DeploymentDescriptorParser.AdapterFactory;
-import com.sun.xml.ws.transport.http.servlet.ServletAdapter;
-import com.sun.xml.ws.transport.http.servlet.ServletAdapterList;
-import com.sun.xml.ws.transport.http.servlet.WSServlet;
-import com.sun.xml.ws.transport.http.servlet.WSServletDelegate;
-
-/**
- * A copy of WSServletContextListener that externalizes
- *
- * getDeploymentDescriptorURL()
- * createDeploymentDescriptorParser()
- *
- * @author WS Development Team
- * @author Thomas.Diesler at jboss.org
- * @since 10-May-2007
- */
-public class WSServletContextListenerExt implements ServletContextAttributeListener, ServletContextListener
-{
- private WSServletDelegate delegate;
-
- public void attributeAdded(ServletContextAttributeEvent event)
- {
- }
-
- public void attributeRemoved(ServletContextAttributeEvent event)
- {
- }
-
- public void attributeReplaced(ServletContextAttributeEvent event)
- {
- }
-
- public void contextDestroyed(ServletContextEvent event)
- {
- if (delegate != null)
- { // the deployment might have failed.
- delegate.destroy();
- }
-
- if (logger.isLoggable(Level.INFO))
- {
- logger.info(WsservletMessages.LISTENER_INFO_DESTROY());
- }
- }
-
- public void contextInitialized(ServletContextEvent event)
- {
- if (logger.isLoggable(Level.INFO))
- {
- logger.info(WsservletMessages.LISTENER_INFO_INITIALIZE());
- }
- ServletContext context = event.getServletContext();
- ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
- if (classLoader == null)
- {
- classLoader = getClass().getClassLoader();
- }
-
- ServletContainer container = new ServletContainer(context);
- try
- {
- ServletResourceLoader resourceLoader = new ServletResourceLoader(context);
- ServletAdapterList adapterList = new ServletAdapterList();
-
- // Parse the descriptor file and build endpoint infos
- DeploymentDescriptorParserExt<ServletAdapter> parser = createDeploymentDescriptorParser(classLoader, container, resourceLoader, adapterList);
-
- URL sunJaxWsXml = getDeploymentDescriptorURL(context);
- List<ServletAdapter> adapters = parser.parse(sunJaxWsXml.toExternalForm(), sunJaxWsXml.openStream());
-
- delegate = new WSServletDelegate(adapters, context);
-
- context.setAttribute(WSServlet.JAXWS_RI_RUNTIME_INFO, delegate);
- }
- catch (Throwable e)
- {
- logger.log(Level.SEVERE, WsservletMessages.LISTENER_PARSING_FAILED(e), e);
- context.removeAttribute(WSServlet.JAXWS_RI_RUNTIME_INFO);
- throw new WebServiceException("listener.parsingFailed", e);
- }
- }
-
- /**
- * Externalized for integration
- */
- protected DeploymentDescriptorParserExt<ServletAdapter> createDeploymentDescriptorParser(ClassLoader classLoader, ServletContainer container,
- ServletResourceLoader resourceLoader, AdapterFactory<ServletAdapter> adapterList) throws MalformedURLException
- {
- DeploymentDescriptorParserExt<ServletAdapter> parser = new DeploymentDescriptorParserExt<ServletAdapter>(classLoader, resourceLoader, container, adapterList);
- return parser;
- }
-
- /**
- * Externalized for integration
- */
- protected URL getDeploymentDescriptorURL(ServletContext context) throws MalformedURLException
- {
- URL sunJaxWsXml = context.getResource(JAXWS_RI_RUNTIME);
- return sunJaxWsXml;
- }
-
- /**
- * Provides access to {@link ServletContext} via {@link Container}. Pipes
- * can get ServletContext from Container and use it to load some resources.
- */
- static class ServletContainer extends Container
- {
- private final ServletContext servletContext;
-
- private final Module module = new Module()
- {
- private final List<BoundEndpoint> endpoints = new ArrayList<BoundEndpoint>();
-
- public @NotNull
- List<BoundEndpoint> getBoundEndpoints()
- {
- return endpoints;
- }
- };
-
- ServletContainer(ServletContext servletContext)
- {
- this.servletContext = servletContext;
- }
-
- public <T> T getSPI(Class<T> spiType)
- {
- if (spiType == ServletContext.class)
- {
- return (T)servletContext;
- }
- if (spiType == Module.class)
- {
- return spiType.cast(module);
- }
- return null;
- }
- }
-
- protected static final String JAXWS_RI_RUNTIME = "/WEB-INF/sun-jaxws.xml";
-
- private static final Logger logger = Logger.getLogger(com.sun.xml.ws.util.Constants.LoggingDomain + ".server.http");
-}
Deleted: branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/WSServletContextListenerJBWS.java
===================================================================
--- branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/WSServletContextListenerJBWS.java 2007-05-21 09:47:16 UTC (rev 3161)
+++ branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/WSServletContextListenerJBWS.java 2007-05-21 10:53:58 UTC (rev 3162)
@@ -1,81 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.wsf.stack.xfire;
-
-// $Id$
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import javax.servlet.ServletContext;
-import javax.xml.ws.WebServiceException;
-
-import com.sun.xml.ws.resources.WsservletMessages;
-import com.sun.xml.ws.transport.http.HttpAdapter;
-import com.sun.xml.ws.transport.http.DeploymentDescriptorParser.AdapterFactory;
-import com.sun.xml.ws.transport.http.servlet.ServletAdapter;
-
-/**
- * Parses {@code sun-jaxws.xml} and sets up
- * {@link HttpAdapter}s for all deployed endpoints.
- *
- * <p>
- * This code is the entry point at the server side.
- *
- * @author Thomas.Diesler at jboss.org
- * @since 18-May-2007
- */
-public class WSServletContextListenerJBWS extends WSServletContextListenerExt
-{
- public static final String PARAM_SUN_JAXWS_URL = "jbossws-sun-jaxws-url";
-
- /**
- * Fall back to the 'jbossws-sun-jaxws-url' init parameter for the URL location
- * of sun-jaxws.xml
- */
- @Override
- protected URL getDeploymentDescriptorURL(ServletContext context) throws MalformedURLException
- {
- URL sunJaxWsXml = super.getDeploymentDescriptorURL(context);
- if (sunJaxWsXml == null)
- {
- String urlStr = context.getInitParameter(PARAM_SUN_JAXWS_URL);
- if (urlStr != null && urlStr.length() > 0)
- sunJaxWsXml = new URL(urlStr);
- }
- if (sunJaxWsXml == null)
- throw new WebServiceException(WsservletMessages.NO_SUNJAXWS_XML(JAXWS_RI_RUNTIME));
-
- return sunJaxWsXml;
- }
-
- /**
- * Externalized for integration
- */
- @Override
- protected DeploymentDescriptorParserExt<ServletAdapter> createDeploymentDescriptorParser(ClassLoader classLoader, ServletContainer container,
- ServletResourceLoader resourceLoader, AdapterFactory<ServletAdapter> adapterList) throws MalformedURLException
- {
- DeploymentDescriptorParserExt<ServletAdapter> parser = new DeploymentDescriptorParserJBWS<ServletAdapter>(classLoader, resourceLoader, container, adapterList);
- return parser;
- }
-}
Modified: branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/WebAppDesciptorModifierImpl.java
===================================================================
--- branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/WebAppDesciptorModifierImpl.java 2007-05-21 09:47:16 UTC (rev 3161)
+++ branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/WebAppDesciptorModifierImpl.java 2007-05-21 10:53:58 UTC (rev 3162)
@@ -28,32 +28,21 @@
import org.jboss.logging.Logger;
import org.jboss.wsf.spi.deployment.Deployment;
import org.jboss.wsf.spi.deployment.WebAppDesciptorModifier;
-import org.jboss.wsf.stack.xfire.metadata.sunjaxws.DDEndpoints;
+import org.jboss.wsf.stack.xfire.metadata.sunjaxws.DDBeans;
/**
* Modifies web.xml for jbossws
*
* @author Thomas.Diesler at jboss.org
- * @since 19-May-2006
+ * @since 21-May-2006
*/
public class WebAppDesciptorModifierImpl implements WebAppDesciptorModifier
{
// logging support
private static Logger log = Logger.getLogger(WebAppDesciptorModifierImpl.class);
- private String listenerClass;
private String servletClass;
- public String getListenerClass()
- {
- return listenerClass;
- }
-
- public void setListenerClass(String listenerClass)
- {
- this.listenerClass = listenerClass;
- }
-
public String getServletClass()
{
return servletClass;
@@ -70,15 +59,13 @@
Element root = webXml.getRootElement();
- DDEndpoints ddSunJaxws = dep.getContext().getAttachment(DDEndpoints.class);
- if (ddSunJaxws == null)
+ DDBeans ddbeans = dep.getContext().getAttachment(DDBeans.class);
+ if (ddbeans == null)
throw new IllegalStateException("Cannot obtain sun-jaxws meta data");
-
+
Element contextParam = root.addElement("context-param");
- contextParam.addElement("param-name").addText(WSServletContextListenerJBWS.PARAM_SUN_JAXWS_URL);
- contextParam.addElement("param-value").addText(ddSunJaxws.createFileURL().toExternalForm());
-
- root.addElement("listener").addElement("listener-class").addText(listenerClass);
+ contextParam.addElement("param-name").addText(XFireConfigurableServletJBWS.PARAM_XFIRE_SERVICES_URL);
+ contextParam.addElement("param-value").addText(ddbeans.createFileURL().toExternalForm());
for (Iterator it = root.elementIterator("servlet"); it.hasNext();)
{
Added: branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/XFireConfigurableServletJBWS.java
===================================================================
--- branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/XFireConfigurableServletJBWS.java (rev 0)
+++ branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/XFireConfigurableServletJBWS.java 2007-05-21 10:53:58 UTC (rev 3162)
@@ -0,0 +1,72 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.stack.xfire;
+
+//$Id$
+
+import java.net.URL;
+
+import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
+
+import org.codehaus.xfire.XFire;
+import org.codehaus.xfire.transport.http.XFireConfigurableServlet;
+
+/**
+ * An extension to the XFire servlet
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 21-Apr-2007
+ */
+public class XFireConfigurableServletJBWS extends XFireConfigurableServlet
+{
+ public static final String PARAM_XFIRE_SERVICES_URL = "jbossws.xfire.services.url";
+
+ private final static String CONFIG_FILE = "/WEB-INF/classes/META-INF/xfire/services.xml";
+
+ public XFire createXFire() throws ServletException
+ {
+ XFire xfire;
+ try
+ {
+ // #1 Load services.xml from default location
+ ServletContext context = getServletContext();
+ URL servicesURL = context.getResource(CONFIG_FILE);
+
+ // #1 Load services.xml from init parameter
+ if (servicesURL == null)
+ {
+ String paramValue = context.getInitParameter(PARAM_XFIRE_SERVICES_URL);
+ if (paramValue != null)
+ servicesURL = new URL(paramValue);
+ }
+
+ xfire = loadConfig(servicesURL.getFile());
+ }
+ catch (Exception e)
+ {
+ throw new ServletException(e);
+ }
+
+ return xfire;
+ }
+}
Property changes on: branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/XFireConfigurableServletJBWS.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Copied: branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/XFireServicesDeployer.java (from rev 3156, branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/SunJaxwsDeployer.java)
===================================================================
--- branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/XFireServicesDeployer.java (rev 0)
+++ branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/XFireServicesDeployer.java 2007-05-21 10:53:58 UTC (rev 3162)
@@ -0,0 +1,55 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.stack.xfire;
+
+//$Id$
+
+import org.jboss.wsf.spi.deployment.AbstractDeployer;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.stack.xfire.metadata.sunjaxws.DDBeans;
+import org.jboss.wsf.stack.xfire.metadata.sunjaxws.DDService;
+
+/**
+ * A deployer that generates xfire services.xml
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 10-May-2007
+ */
+public class XFireServicesDeployer extends AbstractDeployer
+{
+ @Override
+ public void create(Deployment dep)
+ {
+ DDBeans dd = new DDBeans();
+ for (Endpoint ep : dep.getService().getEndpoints())
+ {
+ String epName = ep.getShortName();
+ String targetBean = ep.getTargetBean();
+
+ DDService ddser = new DDService(epName, targetBean);
+ log.info("Add " + ddser);
+ dd.addService(ddser);
+ }
+ dep.getContext().addAttachment(DDBeans.class, dd);
+ }
+}
\ No newline at end of file
Copied: branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/metadata/sunjaxws/DDBeans.java (from rev 3156, branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/metadata/sunjaxws/DDEndpoints.java)
===================================================================
--- branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/metadata/sunjaxws/DDBeans.java (rev 0)
+++ branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/metadata/sunjaxws/DDBeans.java 2007-05-21 10:53:58 UTC (rev 3162)
@@ -0,0 +1,102 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.stack.xfire.metadata.sunjaxws;
+
+//$Id$
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.OutputStreamWriter;
+import java.io.Writer;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jboss.wsf.spi.deployment.WSDeploymentException;
+import org.jboss.wsf.spi.management.ServerConfig;
+import org.jboss.wsf.spi.management.ServerConfigFactory;
+
+//$Id$
+
+/**
+ * Metadata model for xfire services.xml
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 21-May-2007
+ */
+public class DDBeans
+{
+ private List<DDService> services = new ArrayList<DDService>();
+ private File tmpFile;
+
+ public List<DDService> getServices()
+ {
+ return services;
+ }
+
+ public void addService(DDService service)
+ {
+ services.add(service);
+ }
+
+ public URL createFileURL()
+ {
+ destroyFileURL();
+
+ ServerConfig serverConfig = ServerConfigFactory.getInstance().getServerConfig();
+ File tmpDir = serverConfig.getServerTempDir();
+ try
+ {
+ tmpFile = File.createTempFile("jbossws-xfire-services", ".xml", tmpDir);
+ Writer writer = new OutputStreamWriter(new FileOutputStream(tmpFile));
+ writeTo(writer);
+ writer.close();
+
+ return tmpFile.toURL();
+ }
+ catch (IOException ex)
+ {
+ throw new WSDeploymentException(ex);
+ }
+ }
+
+ public void destroyFileURL()
+ {
+ if (tmpFile != null)
+ {
+ tmpFile.delete();
+ tmpFile = null;
+ }
+ }
+
+ public void writeTo(Writer writer) throws IOException
+ {
+ writer.write("<beans xmlns='http://xfire.codehaus.org/config/1.0'>");
+ for (DDService service : services)
+ {
+ service.writeTo(writer);
+ }
+ writer.write("</beans>");
+ }
+
+}
\ No newline at end of file
Deleted: branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/metadata/sunjaxws/DDEndpoint.java
===================================================================
--- branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/metadata/sunjaxws/DDEndpoint.java 2007-05-21 09:47:16 UTC (rev 3161)
+++ branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/metadata/sunjaxws/DDEndpoint.java 2007-05-21 10:53:58 UTC (rev 3162)
@@ -1,192 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.wsf.stack.xfire.metadata.sunjaxws;
-
-import java.io.IOException;
-import java.io.Writer;
-
-import javax.xml.namespace.QName;
-import javax.xml.ws.soap.SOAPBinding;
-
-//$Id$
-
-/**
- * Metadata model for sun-jaxws.xml
- *
- * @author Thomas.Diesler at jboss.org
- * @since 10-May-2007
- */
-public class DDEndpoint
-{
- // Name of the endpoint
- private String name;
- // Primary wsdl file location in the WAR file.
- private String wsdl;
- //QName of WSDL service.
- private QName service;
- //QName of WSDL port.
- private QName port;
- // Endpoint implementation class name.
- private String implementation;
- // Should match <url-pattern> in web.xml
- private String urlPattern;
- // Binding id defined in the JAX-WS API
- private String binding;
- // Enables MTOM optimization.
- private boolean enableMTOM;
- // Optional handler chain
- private DDHandlerChain handlerChain;
-
- public DDEndpoint(String name, String impl, String urlPattern)
- {
- if (name == null || name.length() == 0)
- throw new IllegalArgumentException("name cannot be null");
- if (impl == null || impl.length() == 0)
- throw new IllegalArgumentException("implementation cannot be null");
- if (urlPattern == null || urlPattern.length() == 0)
- throw new IllegalArgumentException("urlPattern cannot be null");
-
- this.name = name;
- this.implementation = impl;
- this.urlPattern = urlPattern;
- this.binding = SOAPBinding.SOAP11HTTP_BINDING;
- }
-
- public String getName()
- {
- return name;
- }
-
- public String getImplementation()
- {
- return implementation;
- }
-
- public String getUrlPattern()
- {
- return urlPattern;
- }
-
- public String getBinding()
- {
- return binding;
- }
-
- public void setBinding(String binding)
- {
- if (!SOAPBinding.SOAP11HTTP_BINDING.equals(binding) && !SOAPBinding.SOAP12HTTP_BINDING.equals(binding))
- throw new IllegalArgumentException("Invalid binding: " + binding);
-
- this.binding = binding;
- }
-
- public boolean isEnableMTOM()
- {
- return enableMTOM;
- }
-
- public void setEnableMTOM(boolean enableMTOM)
- {
- this.enableMTOM = enableMTOM;
- }
-
- public QName getPort()
- {
- return port;
- }
-
- public void setPort(QName port)
- {
- this.port = port;
- }
-
- public QName getService()
- {
- return service;
- }
-
- public void setService(QName service)
- {
- this.service = service;
- }
-
- public String getWsdl()
- {
- return wsdl;
- }
-
- public void setWsdl(String wsdl)
- {
- this.wsdl = wsdl;
- }
-
- public DDHandlerChain getHandlerChain()
- {
- return handlerChain;
- }
-
- public void setHandlerChain(DDHandlerChain handlerChain)
- {
- this.handlerChain = handlerChain;
- }
-
- public void writeTo(Writer writer) throws IOException
- {
- writer.write("<endpoint");
- writer.write(" name='" + name + "'");
- writer.write(" implementation='" + implementation + "'");
- writer.write(" url-pattern='" + urlPattern + "'");
- if (service != null)
- writer.write(" service='" + service + "'");
- if (port != null)
- writer.write(" port='" + port + "'");
- if (wsdl != null)
- writer.write(" wsdl='" + wsdl + "'");
- if (binding != null)
- writer.write(" binding='" + binding + "'");
- writer.write(" enable-mtom='" + enableMTOM + "'");
- writer.write(">");
-
- if (handlerChain != null)
- handlerChain.writeTo(writer);
-
- writer.write("</endpoint>");
- }
-
- public String toString()
- {
- StringBuilder str = new StringBuilder("Endpoint");
- str.append("\n name=" + name);
- str.append("\n implementation=" + implementation);
- str.append("\n url-pattern=" + urlPattern);
- if (service != null)
- str.append("\n service=" + service);
- if (port != null)
- str.append("\n port=" + port);
- if (wsdl != null)
- str.append("\n wsdl=" + wsdl);
- if (binding != null)
- str.append("\n binding=" + binding);
- str.append("\n enable-mtom=" + enableMTOM);
- return str.toString();
- }
-}
\ No newline at end of file
Deleted: branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/metadata/sunjaxws/DDEndpoints.java
===================================================================
--- branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/metadata/sunjaxws/DDEndpoints.java 2007-05-21 09:47:16 UTC (rev 3161)
+++ branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/metadata/sunjaxws/DDEndpoints.java 2007-05-21 10:53:58 UTC (rev 3162)
@@ -1,100 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.wsf.stack.xfire.metadata.sunjaxws;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.OutputStreamWriter;
-import java.io.Writer;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.jboss.wsf.spi.deployment.WSDeploymentException;
-import org.jboss.wsf.spi.management.ServerConfig;
-import org.jboss.wsf.spi.management.ServerConfigFactory;
-
-//$Id$
-
-/**
- * Metadata model for sun-jaxws.xml
- *
- * @author Thomas.Diesler at jboss.org
- * @since 10-May-2007
- */
-public class DDEndpoints
-{
- private List<DDEndpoint> endpoints = new ArrayList<DDEndpoint>();
- private File tmpFile;
-
- public List<DDEndpoint> getEndpoints()
- {
- return endpoints;
- }
-
- public void addEndpoint(DDEndpoint ep)
- {
- endpoints.add(ep);
- }
-
- public URL createFileURL()
- {
- destroyFileURL();
-
- ServerConfig serverConfig = ServerConfigFactory.getInstance().getServerConfig();
- File tmpDir = serverConfig.getServerTempDir();
- try
- {
- tmpFile = File.createTempFile("jbossws-sun-jaxws", ".xml", tmpDir);
- Writer writer = new OutputStreamWriter(new FileOutputStream(tmpFile));
- writeTo(writer);
- writer.close();
-
- return tmpFile.toURL();
- }
- catch (IOException ex)
- {
- throw new WSDeploymentException(ex);
- }
- }
-
- public void destroyFileURL()
- {
- if (tmpFile != null)
- {
- tmpFile.delete();
- tmpFile = null;
- }
- }
-
- public void writeTo(Writer writer) throws IOException
- {
- writer.write("<endpoints xmlns='http://java.sun.com/xml/ns/jax-ws/ri/runtime' version='2.0'>");
- for (DDEndpoint ep : endpoints)
- {
- ep.writeTo(writer);
- }
- writer.write("</endpoints>");
- }
-
-}
\ No newline at end of file
Deleted: branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/metadata/sunjaxws/DDHandler.java
===================================================================
--- branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/metadata/sunjaxws/DDHandler.java 2007-05-21 09:47:16 UTC (rev 3161)
+++ branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/metadata/sunjaxws/DDHandler.java 2007-05-21 10:53:58 UTC (rev 3162)
@@ -1,63 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.wsf.stack.xfire.metadata.sunjaxws;
-
-import java.io.IOException;
-import java.io.Writer;
-
-//$Id$
-
-/**
- * Metadata model for sun-jaxws.xml
- *
- * @author Thomas.Diesler at jboss.org
- * @since 10-May-2007
- */
-public class DDHandler
-{
- private String handlerName;
- private String handlerClass;
-
- public DDHandler(String handlerName, String handlerClass)
- {
- this.handlerName = handlerName;
- this.handlerClass = handlerClass;
- }
-
- public String getHandlerName()
- {
- return handlerName;
- }
-
- public String getHandlerClass()
- {
- return handlerClass;
- }
-
- public void writeTo(Writer writer) throws IOException
- {
- writer.write("<handler>");
- writer.write("<handler-name>" + handlerName + "</handler-name>");
- writer.write("<handler-class>" + handlerClass + "</handler-class>");
- writer.write("</handler>");
- }
-}
\ No newline at end of file
Deleted: branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/metadata/sunjaxws/DDHandlerChain.java
===================================================================
--- branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/metadata/sunjaxws/DDHandlerChain.java 2007-05-21 09:47:16 UTC (rev 3161)
+++ branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/metadata/sunjaxws/DDHandlerChain.java 2007-05-21 10:53:58 UTC (rev 3162)
@@ -1,74 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.wsf.stack.xfire.metadata.sunjaxws;
-
-import java.io.IOException;
-import java.io.Writer;
-import java.util.ArrayList;
-import java.util.List;
-
-//$Id$
-
-/**
- * Metadata model for sun-jaxws.xml
- *
- * @author Thomas.Diesler at jboss.org
- * @since 10-May-2007
- */
-public class DDHandlerChain
-{
- // Name of the endpoint
- private String name;
-
- private List<DDHandler> handlers = new ArrayList<DDHandler>();
-
- public DDHandlerChain(String name)
- {
- this.name = name;
- }
-
- public String getName()
- {
- return name;
- }
-
- public List<DDHandler> getEndpoints()
- {
- return handlers;
- }
-
- public void addEndpoint(DDHandler handler)
- {
- handlers.add(handler);
- }
-
- public void writeTo(Writer writer) throws IOException
- {
- writer.write("<handler-chain>");
- writer.write("<handler-chain-name>" + name + "</handler-chain-name>");
- for (DDHandler handler : handlers)
- {
- handler.writeTo(writer);
- }
- writer.write("</handler-chain>");
- }
-}
\ No newline at end of file
Added: branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/metadata/sunjaxws/DDService.java
===================================================================
--- branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/metadata/sunjaxws/DDService.java (rev 0)
+++ branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/metadata/sunjaxws/DDService.java 2007-05-21 10:53:58 UTC (rev 3162)
@@ -0,0 +1,117 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.stack.xfire.metadata.sunjaxws;
+
+//$Id$
+
+import java.io.IOException;
+import java.io.Writer;
+
+/**
+ * Metadata model for services.xml
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 21-May-2007
+ */
+public class DDService
+{
+ // This will be the name of the service as exposed to the world. Required.
+ private String name;
+ // The class name of the object you wish to make into a service. Required.
+ private String serviceClass;
+ // The class name of the implementation which you wish to use when the service is invoked. Optional.
+ private String implementationClass;
+ // The ServiceFactory controls how the Service is built and configured. Optional.
+ private String serviceFactory;
+ // The invoker element is optional. It can be used to set a non-default Invoker for a service.
+ private String invoker;
+
+ public DDService(String name, String serviceClass)
+ {
+ this.name = name;
+ this.serviceClass = serviceClass;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+
+ public void setName(String name)
+ {
+ this.name = name;
+ }
+
+ public String getServiceClass()
+ {
+ return serviceClass;
+ }
+
+ public void setServiceClass(String serviceClass)
+ {
+ this.serviceClass = serviceClass;
+ }
+
+ public String getImplementationClass()
+ {
+ return implementationClass;
+ }
+
+ public void setImplementationClass(String implementationClass)
+ {
+ this.implementationClass = implementationClass;
+ }
+
+ public String getServiceFactory()
+ {
+ return serviceFactory;
+ }
+
+ public void setServiceFactory(String serviceFactory)
+ {
+ this.serviceFactory = serviceFactory;
+ }
+
+ public String getInvoker()
+ {
+ return invoker;
+ }
+
+ public void setInvoker(String invoker)
+ {
+ this.invoker = invoker;
+ }
+
+ public void writeTo(Writer writer) throws IOException
+ {
+ writer.write("<service>");
+ writer.write(" <name>" + name + "</name>");
+ writer.write(" <serviceClass>" + serviceClass + "</serviceClass>");
+ if (implementationClass != null)
+ writer.write(" <implementationClass>" + implementationClass + "</implementationClass>");
+ if (serviceFactory != null)
+ writer.write(" <serviceFactory>" + serviceFactory + "</serviceFactory>");
+ if (invoker != null)
+ writer.write(" <invoker>" + invoker + "</invoker>");
+ writer.write("</service>");
+ }
+}
\ No newline at end of file
Property changes on: branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/metadata/sunjaxws/DDService.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: branches/tdiesler/trunk/integration/xfire/src/main/resources/jbossws-jboss50.sar/META-INF/jbossws-beans.xml
===================================================================
--- branches/tdiesler/trunk/integration/xfire/src/main/resources/jbossws-jboss50.sar/META-INF/jbossws-beans.xml 2007-05-21 09:47:16 UTC (rev 3161)
+++ branches/tdiesler/trunk/integration/xfire/src/main/resources/jbossws-jboss50.sar/META-INF/jbossws-beans.xml 2007-05-21 10:53:58 UTC (rev 3162)
@@ -91,7 +91,7 @@
<inject bean="WSUnifiedDeploymentInfoDeployer"/>
<inject bean="WSContextRootDeployer"/>
<inject bean="WSURLPatternDeployer"/>
- <inject bean="WSSunJaxwsDeployer"/>
+ <inject bean="WSXFireServicesDeployer"/>
<inject bean="WSModifyWebMetaDataDeployer"/>
</list>
</property>
@@ -102,7 +102,7 @@
<inject bean="WSUnifiedDeploymentInfoDeployer"/>
<inject bean="WSContextRootDeployer"/>
<inject bean="WSURLPatternDeployer"/>
- <inject bean="WSSunJaxwsDeployer"/>
+ <inject bean="WSXFireServicesDeployer"/>
<inject bean="WSWebAppGeneratorDeployer"/>
<inject bean="WSWebAppDeployerDeployer"/>
</list>
@@ -138,10 +138,8 @@
<bean name="WSEndpointNameDeployer" class="org.jboss.wsf.spi.deployment.EndpointNameDeployer"/>
<bean name="WSEndpointRegistryDeployer" class="org.jboss.wsf.spi.deployment.EndpointRegistryDeployer"/>
<bean name="WSModifyWebMetaDataDeployer" class="org.jboss.wsf.stack.xfire.ModifyWebMetaDataDeployer">
- <property name="listenerClass"><inject bean="WSWebAppDesciptorModifier" property="listenerClass"/></property>
<property name="servletClass"><inject bean="WSWebAppDesciptorModifier" property="servletClass"/></property>
</bean>
- <bean name="WSSunJaxwsDeployer" class="org.jboss.wsf.stack.xfire.SunJaxwsDeployer"/>
<bean name="WSUnifiedDeploymentInfoDeployer" class="org.jboss.wsf.container.jboss50.UnifiedDeploymentInfoDeployer"/>
<bean name="WSURLPatternDeployer" class="org.jboss.wsf.spi.deployment.URLPatternDeployer"/>
<bean name="WSWebAppGeneratorDeployer" class="org.jboss.wsf.spi.deployment.WebAppGeneratorDeployer">
@@ -151,13 +149,13 @@
<property name="webXMLRewriter"><inject bean="WSWebXMLRewriter"/></property>
<property name="mainDeployer"><inject bean="MainDeployer"/></property>
</bean>
+ <bean name="WSXFireServicesDeployer" class="org.jboss.wsf.stack.xfire.XFireServicesDeployer"/>
<!-- Deployer helper beans -->
<bean name="WSSecurityRolesHandlerEJB21" class="org.jboss.wsf.container.jboss50.SecurityRolesHandlerEJB21"/>
<bean name="WSSecurityRolesHandlerEJB3" class="org.jboss.wsf.container.jboss50.SecurityRolesHandlerEJB3"/>
<bean name="WSWebAppDesciptorModifier" class="org.jboss.wsf.stack.xfire.WebAppDesciptorModifierImpl">
- <property name="listenerClass">org.jboss.wsf.stack.xfire.WSServletContextListenerJBWS</property>
- <property name="servletClass">org.jboss.wsf.stack.xfire.WSEndpointServletJBWS</property>
+ <property name="servletClass">org.jboss.wsf.stack.xfire.XFireConfigurableServletJBWS</property>
</bean>
<bean name="WSWebXMLRewriter" class="org.jboss.wsf.spi.deployment.WebXMLRewriter">
<property name="desciptorModifier"><inject bean="WSWebAppDesciptorModifier"/></property>
Modified: branches/tdiesler/trunk/integration/xfire/version.properties
===================================================================
--- branches/tdiesler/trunk/integration/xfire/version.properties 2007-05-21 09:47:16 UTC (rev 3161)
+++ branches/tdiesler/trunk/integration/xfire/version.properties 2007-05-21 10:53:58 UTC (rev 3162)
@@ -4,6 +4,7 @@
sunri.implementation.title=JBoss Web Services - JBossWS/SunRI
# Thirdparty library versions
+ibm-wsdl4j=1.6.2
jboss-jaxr=1.2.0.GA
jboss-jbossws-spi=SNAPSHOT
jboss-security-spi=2.0.0.Beta
Modified: branches/tdiesler/trunk/testsuite/src/java/org/jboss/test/ws/jaxws/eardeployment/EarTestCase.java
===================================================================
--- branches/tdiesler/trunk/testsuite/src/java/org/jboss/test/ws/jaxws/eardeployment/EarTestCase.java 2007-05-21 09:47:16 UTC (rev 3161)
+++ branches/tdiesler/trunk/testsuite/src/java/org/jboss/test/ws/jaxws/eardeployment/EarTestCase.java 2007-05-21 10:53:58 UTC (rev 3162)
@@ -24,6 +24,7 @@
import java.net.URL;
import javax.xml.namespace.QName;
+import javax.xml.ws.Service;
import junit.framework.Test;
@@ -49,8 +50,8 @@
{
URL wsdlURL = new URL("http://" + getServerHost() + ":8080/earejb3/EJB3Bean?wsdl");
QName serviceName = new QName("http://eardeployment.jaxws.ws.test.jboss.org/", "TestEndpointService");
- TestEndpointService service = new TestEndpointService(wsdlURL, serviceName);
- TestEndpoint port = service.getTestEndpointPort();
+ Service service = Service.create(wsdlURL, serviceName);
+ TestEndpoint port = service.getPort(TestEndpoint.class);
String helloWorld = "Hello world!";
String retObj = port.echo(helloWorld);
@@ -61,8 +62,8 @@
{
URL wsdlURL = new URL("http://" + getServerHost() + ":8080/earjse/JSEBean?wsdl");
QName serviceName = new QName("http://eardeployment.jaxws.ws.test.jboss.org/", "TestEndpointService");
- TestEndpointService service = new TestEndpointService(wsdlURL, serviceName);
- TestEndpoint port = service.getTestEndpointPort();
+ Service service = Service.create(wsdlURL, serviceName);
+ TestEndpoint port = service.getPort(TestEndpoint.class);
String helloWorld = "Hello world!";
String retObj = port.echo(helloWorld);
Modified: branches/tdiesler/trunk/testsuite/src/java/org/jboss/test/ws/jaxws/eardeployment/TestEndpointService.java
===================================================================
--- branches/tdiesler/trunk/testsuite/src/java/org/jboss/test/ws/jaxws/eardeployment/TestEndpointService.java 2007-05-21 09:47:16 UTC (rev 3161)
+++ branches/tdiesler/trunk/testsuite/src/java/org/jboss/test/ws/jaxws/eardeployment/TestEndpointService.java 2007-05-21 10:53:58 UTC (rev 3162)
@@ -8,7 +8,6 @@
import javax.xml.ws.Service;
import javax.xml.ws.WebEndpoint;
import javax.xml.ws.WebServiceClient;
-import javax.xml.ws.WebServiceFeature;
/**
@@ -53,15 +52,15 @@
}
/**
+ * TDI: commented out because WebServiceFeature is not part of xfire-jsr181-api (xfire-1.2.6)
*
* @param features
* A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy. Supported features not in the <code>features</code> parameter will have their default values.
* @return
* returns TestEndpoint
- */
@WebEndpoint(name = "TestEndpointPort")
public TestEndpoint getTestEndpointPort(WebServiceFeature... features) {
return (TestEndpoint)super.getPort(new QName("http://eardeployment.jaxws.ws.test.jboss.org/", "TestEndpointPort"), TestEndpoint.class, features);
}
-
+ */
}
More information about the jbossws-commits
mailing list