You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beehive.apache.org by mm...@apache.org on 2004/10/20 20:40:51 UTC

svn commit: rev 55175 - in incubator/beehive/trunk/wsm: . drt drt/tests/org/apache/beehive/wsm/axis lib src/runtime/org/apache/beehive/wsm/axis src/runtime/org/apache/beehive/wsm/axis/util/encoding

Author: mmerz
Date: Wed Oct 20 11:40:50 2004
New Revision: 55175

Added:
   incubator/beehive/trunk/wsm/lib/schematypes.jar   (contents, props changed)
   incubator/beehive/trunk/wsm/lib/wsdltypes.jar   (contents, props changed)
   incubator/beehive/trunk/wsm/src/runtime/org/apache/beehive/wsm/axis/util/encoding/XmlBeanDeserializer.java   (contents, props changed)
   incubator/beehive/trunk/wsm/src/runtime/org/apache/beehive/wsm/axis/util/encoding/XmlBeanDeserializerFactory.java   (contents, props changed)
   incubator/beehive/trunk/wsm/src/runtime/org/apache/beehive/wsm/axis/util/encoding/XmlBeanSerializer.java   (contents, props changed)
   incubator/beehive/trunk/wsm/src/runtime/org/apache/beehive/wsm/axis/util/encoding/XmlBeanSerializerFactory.java   (contents, props changed)
Removed:
   incubator/beehive/trunk/wsm/lib/xmltypes.jar
Modified:
   incubator/beehive/trunk/wsm/build.xml
   incubator/beehive/trunk/wsm/drt/build.xml
   incubator/beehive/trunk/wsm/drt/tests/org/apache/beehive/wsm/axis/DropInDeploymentHandlerTest.java
   incubator/beehive/trunk/wsm/drt/tests/org/apache/beehive/wsm/axis/FakeWebService.java
   incubator/beehive/trunk/wsm/drt/tests/org/apache/beehive/wsm/axis/ModeratelyComplexObject.java
   incubator/beehive/trunk/wsm/src/runtime/org/apache/beehive/wsm/axis/AxisHook.java
Log:
Fixed the DropInDeploymentHandler test case to work properly with the recent 
changes to the DropInDeploymentHandler.

Added lib/schematypes.jar containing XmlBean classes for working with schemas.
Renamed lib/xmltypes.jar to wsdltypes.jar to more accurately reflect the contents
as being XmlBeans to work with WSDLs.
The build files were updated to support the lib changes.

Added support for XmlBean serialization from the web service.  Deserialization is
having issues so don't use XmlBeans as web servie parameters quite yet.  There
may be quite a few bugs with this feature at the moment so keep Jonathan Colwell
informed of issues using XmlBeans in the web services.

Contributor: Jonathan Colwell



Modified: incubator/beehive/trunk/wsm/build.xml
==============================================================================
--- incubator/beehive/trunk/wsm/build.xml	(original)
+++ incubator/beehive/trunk/wsm/build.xml	Wed Oct 20 11:40:50 2004
@@ -47,7 +47,8 @@
         <pathelement location="${jsr173.jar}"/>
         <pathelement location="${junit.jar}"/>
         <pathelement location="${log4j.jar}"/>
-        <pathelement location="${lib.dir}/xmltypes.jar"/>
+        <pathelement location="${lib.dir}/wsdltypes.jar"/>
+        <pathelement location="${lib.dir}/schematypes.jar"/>
     </path>
     <fileset id="axis.jars" dir="${ext.lib.dir}">
         <include name="wsdl4j.jar"/>

Modified: incubator/beehive/trunk/wsm/drt/build.xml
==============================================================================
--- incubator/beehive/trunk/wsm/drt/build.xml	(original)
+++ incubator/beehive/trunk/wsm/drt/build.xml	Wed Oct 20 11:40:50 2004
@@ -59,7 +59,8 @@
         <pathelement location="${xbean.jar}" />
         <pathelement location="${jsr173.jar}" />
         <pathelement location="${log4j.jar}"/>
-        <pathelement location="${lib.dir}/xmltypes.jar"/>
+        <pathelement location="${lib.dir}/wsdltypes.jar"/>
+        <pathelement location="${lib.dir}/schematypes.jar"/>
         <pathelement location="../build/jars/wsm.jar"/>
         <pathelement location="../build/jars/wsm-axis.jar"/>
         <fileset refid="axis.jars"/>

Modified: incubator/beehive/trunk/wsm/drt/tests/org/apache/beehive/wsm/axis/DropInDeploymentHandlerTest.java
==============================================================================
--- incubator/beehive/trunk/wsm/drt/tests/org/apache/beehive/wsm/axis/DropInDeploymentHandlerTest.java	(original)
+++ incubator/beehive/trunk/wsm/drt/tests/org/apache/beehive/wsm/axis/DropInDeploymentHandlerTest.java	Wed Oct 20 11:40:50 2004
@@ -146,10 +146,12 @@
         msg.saveChanges();
         assertNotNull(msg);
         if (msg != null) {
-            Node n = msg.getSOAPBody().getFirstChild();           
-            assertEquals("doInvocationResponse", n.getNodeName());
+            Node n = msg.getSOAPBody().getFirstChild();
+            System.out.println(n);           
+            assertEquals("doInvocationResponse", n.getLocalName());
             n = n.getFirstChild();
-            assertEquals("invocationSucceeded", n.getNodeName());
+            assertEquals("invocationSucceeded", n.getLocalName());
+            assertEquals("http://result.target.namespace/", n.getNamespaceURI());
             n = n.getFirstChild();
             assertNotNull(n);
             assertEquals("true", n.getNodeValue());

Modified: incubator/beehive/trunk/wsm/drt/tests/org/apache/beehive/wsm/axis/FakeWebService.java
==============================================================================
--- incubator/beehive/trunk/wsm/drt/tests/org/apache/beehive/wsm/axis/FakeWebService.java	(original)
+++ incubator/beehive/trunk/wsm/drt/tests/org/apache/beehive/wsm/axis/FakeWebService.java	Wed Oct 20 11:40:50 2004
@@ -43,7 +43,8 @@
 public class FakeWebService {
 
     @WebMethod(action = "invocationAction")
-    @WebResult(name = "invocationSucceeded")
+    @WebResult(name = "invocationSucceeded",
+               targetNamespace = "http://result.target.namespace/")
     public boolean doInvocation() {
         return true;
     }

Modified: incubator/beehive/trunk/wsm/drt/tests/org/apache/beehive/wsm/axis/ModeratelyComplexObject.java
==============================================================================
--- incubator/beehive/trunk/wsm/drt/tests/org/apache/beehive/wsm/axis/ModeratelyComplexObject.java	(original)
+++ incubator/beehive/trunk/wsm/drt/tests/org/apache/beehive/wsm/axis/ModeratelyComplexObject.java	Wed Oct 20 11:40:50 2004
@@ -19,35 +19,82 @@
  */
 package org.apache.beehive.wsm.axis;
 
+import java.io.Serializable;
 import java.util.Date;
 import java.util.Map;
+import java.util.Collection;
 
 /*******************************************************************************
  * 
  *
  * @author Jonathan Colwell
  */
-public interface ModeratelyComplexObject {
+public class ModeratelyComplexObject implements Serializable {
 
-    public void setDate(Date d);
-
-    public void setMap(Map m);
-
-    public void setString(String s);
-
-    public void setNumber(double n);
-
-    public void setBinary(byte[] b);
-
-    /*
-    public Date getDate();
-
-    public Map getMap();
-
-    public String getString();
-
-    public double getNumber();
-
-    public byte[] getBinary();
-    */
+    private Date mDate;
+    private Map mMap;
+    private String mString;
+    private double mNumber;
+    private byte[] mBinary;
+    private Collection mCollection;
+
+    public void setDate(Date d)
+    {
+        mDate = d;
+    }
+
+    public void setMap(Map m)
+    {
+        mMap = m;
+    }
+
+    public void setString(String s)
+    {
+        mString = s;
+    }
+
+    public void setNumber(double n)
+    {
+        mNumber = n;
+    }
+
+    public void setBinary(byte[] b)
+    {
+        mBinary = b;
+    }
+
+    public void setCollection(Collection c)
+    {
+        mCollection = c;
+    }
+
+    public Date getDate()
+    {
+        return mDate;
+    }
+
+    public Map getMap()
+    {
+        return mMap;
+    }
+
+    public String getString()
+    {
+        return mString;
+    }
+
+    public double getNumber()
+    {
+        return mNumber;
+    }
+
+    public byte[] getBinary()
+    {
+        return mBinary;
+    }
+
+    public Collection getCollection()
+    {
+        return mCollection;
+    }    
 }

Added: incubator/beehive/trunk/wsm/lib/schematypes.jar
==============================================================================
Binary file. No diff available.

Added: incubator/beehive/trunk/wsm/lib/wsdltypes.jar
==============================================================================
Binary file. No diff available.

Modified: incubator/beehive/trunk/wsm/src/runtime/org/apache/beehive/wsm/axis/AxisHook.java
==============================================================================
--- incubator/beehive/trunk/wsm/src/runtime/org/apache/beehive/wsm/axis/AxisHook.java	(original)
+++ incubator/beehive/trunk/wsm/src/runtime/org/apache/beehive/wsm/axis/AxisHook.java	Wed Oct 20 11:40:50 2004
@@ -46,11 +46,13 @@
 import org.apache.axis.utils.BeanPropertyDescriptor;
 import org.apache.beehive.wsm.axis.badtiger.EnumWrapper;
 import org.apache.beehive.wsm.axis.util.encoding.CollectionSerializerFactory;
+import org.apache.beehive.wsm.axis.util.encoding.XmlBeanSerializerFactory;
+import org.apache.beehive.wsm.axis.util.encoding.XmlBeanDeserializerFactory;
 import org.apache.beehive.wsm.jsr181.model.WebServiceTYPEMetadata;
 import org.apache.beehive.wsm.jsr181.model.WebServiceMETHODMetadata;
 import org.apache.beehive.wsm.jsr181.model.WebServicePARAMETERMetadata;
 import org.apache.beehive.wsm.jsr181.model.SOAPBindingInfo;
-
+import org.apache.xmlbeans.XmlObject;
 
 /*******************************************************************************
  * 
@@ -110,7 +112,8 @@
                     od.setMep(OperationType.ONE_WAY);
                 }
                 else {
-                    od.setReturnQName(new QName(meth.getWrName()));
+                    od.setReturnQName(new QName(meth.getWrTargetNamespace(),
+                                                meth.getWrName()));
                     Class returnType = meth.getJavaReturnType();
                     configureTypeMapping(sd, returnType);
                     od.setReturnClass(returnType);
@@ -123,7 +126,8 @@
                 for (WebServicePARAMETERMetadata param : parameters) {
         
                     ParameterDesc pd = new ParameterDesc();
-                    pd.setName(param.getWpName());
+                    pd.setQName(new QName(param.getWpTargetNamespace(),
+                                          param.getWpName());
                     Class paramType = param.getJavaType();
                     configureTypeMapping(sd, paramType);
                     pd.setJavaType(paramType);
@@ -231,13 +235,28 @@
 
                 if (! tm.isRegistered(type, q)) {
 
+              
+                    if (XmlObject.class.isAssignableFrom(type)) {
+              
+                        tm.register(type, q,
+                             new XmlBeanSerializerFactory(type, q),
+                             new XmlBeanDeserializerFactory(type, q));
+
+                        /*
+                         * FIXME jcolwell@bea.com 2004-Oct-18 -- recursively 
+                         * register classes inside the given XmlBean
+                         */
+                        // Method[] declared = type.getDeclaredMethods();
+                        
+                        
+                    }
                     /*
                      * NOTE jcolwell@bea.com 2004-Oct-11 -- these datahandler
                      * using classes are generally already registered but 
                      * just in case...
                      */        
 
-                    if (isActivationEnabled() &&
+                    else if (isActivationEnabled() &&
                         (java.awt.Image.class.isAssignableFrom(type) 
                          || getMultipartClass().isAssignableFrom(type)
                          || getDataHandlerClass().isAssignableFrom(type))) {

Added: incubator/beehive/trunk/wsm/src/runtime/org/apache/beehive/wsm/axis/util/encoding/XmlBeanDeserializer.java
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/wsm/src/runtime/org/apache/beehive/wsm/axis/util/encoding/XmlBeanDeserializer.java	Wed Oct 20 11:40:50 2004
@@ -0,0 +1,119 @@
+/*
+ * XmlBeanDeserializer.java
+ * 
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * 
+ * 
+ * Original author: Jonathan Colwell
+ */
+package org.apache.beehive.wsm.axis.util.encoding;
+
+import java.lang.reflect.Method;
+import javax.xml.namespace.QName;
+import org.xml.sax.SAXException;
+import org.apache.axis.encoding.DeserializationContext;
+import org.apache.axis.encoding.DeserializerImpl;
+import org.apache.axis.message.MessageElement;
+import org.apache.xmlbeans.QNameSet;
+import org.apache.xmlbeans.SchemaType;
+import org.apache.xmlbeans.XmlObject;
+import org.apache.xmlbeans.XmlOptions;
+import org.apache.xmlbeans.XmlException;
+import org.w3c.dom.Document;
+import org.w3c.dom.DocumentFragment;
+import org.w3c.dom.Node;
+import org.xml.sax.Attributes;
+
+/*******************************************************************************
+ * 
+ *
+ * @author Jonathan Colwell
+ */
+public class XmlBeanDeserializer extends DeserializerImpl {
+
+    private Class mJavaType;
+    private QName mXmlType;
+
+    public XmlBeanDeserializer(Class javaType, QName xmlType)
+    {
+        mJavaType = javaType;
+        mXmlType = xmlType;
+    }
+
+    public void onStartElement(String namespace, String localName,
+                               String prefix, Attributes attributes,
+                               DeserializationContext context)
+        throws SAXException
+    {
+        try {
+            System.out.println("attempting XmlBean Deserialization");
+            MessageElement me = context.getCurElement();
+            System.out.println(me);
+            /*
+            Class[] declaredClasses = mJavaType.getDeclaredClasses();
+            for (Class factory : declaredClasses) {
+                if (factory.getName().endsWith("Factory")) {
+                    Method parse = factory.getMethod("parse",
+                                                     Node.class,
+                                                     XmlOptions.class);
+                    System.out.println(factory.getName() + ".parse returns "
+                                       + parse.getReturnType().getName());
+
+                      XmlOptions opts = new XmlOptions()
+                        .setLoadReplaceDocumentElement(null);
+                    
+                    Document doc = me.getOwnerDocument();
+                    DocumentFragment frag = doc.createDocumentFragment();
+                    Node kid = me.getFirstChild();
+                    while (kid != null) {
+                        frag.appendChild(frag.getOwnerDocument()
+                                         .importNode(kid, true));
+                        kid = kid.getNextSibling();
+                    }
+                    System.out.println(frag.toString());                    
+             
+                    setValue(mJavaType.cast(parse.invoke(null, frag)));
+                    break;
+                }
+            }
+            */
+            XmlObject xObj = XmlObject.Factory.parse(me);
+            SchemaType st = xObj.schemaType();
+            SchemaType jt = (SchemaType)mJavaType.getField("type").get(null);
+            System.out.println("known SchemaType: " + jt.getName());
+            System.out.println("current SchemaType: " + st.getName());
+            XmlObject converted = xObj.changeType(jt);
+            if (converted != null) {
+                setValue(converted);
+            }
+            else {
+                XmlObject[] children = xObj.selectChildren(QNameSet.ALL);
+                for (XmlObject kid : children) {
+                    st = kid.schemaType();
+                    System.out.println("current SchemaType: " + st.getName());
+                    converted = xObj.changeType(jt);
+                    if (converted != null) {
+                        setValue(converted);
+                        break;
+                    }
+                }
+            }
+        }
+        catch (Exception xe) {
+            throw new SAXException(xe);
+        }
+    }
+}

Added: incubator/beehive/trunk/wsm/src/runtime/org/apache/beehive/wsm/axis/util/encoding/XmlBeanDeserializerFactory.java
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/wsm/src/runtime/org/apache/beehive/wsm/axis/util/encoding/XmlBeanDeserializerFactory.java	Wed Oct 20 11:40:50 2004
@@ -0,0 +1,37 @@
+/*
+ * XmlBeanDeserializerFactory.java
+ * 
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * 
+ * 
+ * Original author: Jonathan Colwell
+ */
+package org.apache.beehive.wsm.axis.util.encoding;
+
+import javax.xml.namespace.QName;
+import org.apache.axis.encoding.ser.BaseDeserializerFactory;
+
+/*******************************************************************************
+ * 
+ *
+ * @author Jonathan Colwell
+ */
+public class XmlBeanDeserializerFactory extends BaseDeserializerFactory {
+
+    public XmlBeanDeserializerFactory(Class javaType, QName xmlType) {
+        super(XmlBeanDeserializer.class, xmlType, javaType);
+    }
+}

Added: incubator/beehive/trunk/wsm/src/runtime/org/apache/beehive/wsm/axis/util/encoding/XmlBeanSerializer.java
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/wsm/src/runtime/org/apache/beehive/wsm/axis/util/encoding/XmlBeanSerializer.java	Wed Oct 20 11:40:50 2004
@@ -0,0 +1,161 @@
+/*
+ * XmlBeanSerializer.java
+ * 
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * 
+ */
+package org.apache.beehive.wsm.axis.util.encoding;
+
+import java.io.IOException;
+import java.io.InputStream;
+import javax.xml.namespace.QName;
+
+import org.apache.axis.Constants;
+import org.apache.axis.encoding.SerializationContext;
+import org.apache.axis.encoding.Serializer;
+import org.apache.xmlbeans.SchemaType;
+import org.apache.xmlbeans.XmlBeans;
+import org.apache.xmlbeans.XmlObject;
+import org.apache.xmlbeans.XmlOptions;
+import org.apache.xmlbeans.XmlDocumentProperties;
+import org.apache.axis.wsdl.fromJava.Types;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.w3.x2001.xmlSchema.SchemaDocument;
+import org.w3.x2001.xmlSchema.TopLevelComplexType;
+import org.w3.x2001.xmlSchema.TopLevelElement;
+import org.xml.sax.Attributes;
+
+/*******************************************************************************
+ * 
+ *
+ * @author Jonathan Colwell
+ */
+public class XmlBeanSerializer implements Serializer {
+
+    /**
+     * Serialize an element named name, with the indicated attributes
+     * and value.
+     * @param name is the element name
+     * @param attributes are the attributes...serialize is free to add more.
+     * @param value is the value
+     * @param context is the SerializationContext
+     */
+    public void serialize(QName name, Attributes attributes,
+                          Object value, SerializationContext context)
+        throws IOException
+    {
+        if (!(value instanceof XmlObject)) {
+            throw new IOException(((value != null) ? 
+                                   value.getClass().getName() 
+                                   : "null")
+                                  + " is not an " 
+                                  + XmlObject.class.getName());
+        }
+        else {
+            context.startElement(name, attributes);
+            /*
+            XmlObject xObj = (XmlObject)value;
+            context.writeString(xObj.xmlText(new XmlOptions().setSaveInner()));
+
+            */
+            Node n = ((XmlObject)value).newDomNode();
+            NodeList kids = n.getChildNodes();
+            for (int j = 0; j < kids.getLength(); j++) {
+                Node kid = kids.item(j);
+                if (kid.getNodeType() == Node.ELEMENT_NODE) {
+                    context.writeDOMElement((Element) kid);
+                }
+            }
+            context.endElement();
+        }
+    }
+
+    public String getMechanismType() { return Constants.AXIS_SAX; }
+
+    /**
+     * Return XML schema for the specified type, suitable for insertion into
+     * the &lt;types&gt; element of a WSDL document, or underneath an
+     * &lt;element&gt; or &lt;attribute&gt; declaration.
+     *
+     * @param javaType the Java Class we're writing out schema for
+     * @param types the Java2WSDL Types object which holds the context
+     *              for the WSDL being generated.
+     * @return a type element containing a schema simpleType/complexType
+     * @see org.apache.axis.wsdl.fromJava.Types
+     */
+    public Element writeSchema(Class javaType, Types types) throws Exception
+    {
+        if (XmlObject.class.isAssignableFrom(javaType)) {
+            SchemaType docType = XmlBeans.typeForClass(javaType);
+
+            InputStream stream = docType.getTypeSystem()
+                .getSourceAsStream(docType.getSourceName());
+            
+            SchemaDocument schemaDoc = SchemaDocument.Factory.parse(stream);
+            
+            TopLevelComplexType[] schemaTypes = schemaDoc.getSchema()
+                .getComplexTypeArray();
+
+
+            /*
+             * NOTE jcolwell@bea.com 2004-Oct-18 -- 
+             * This is a hack to handle node adoption.
+             * I don't like it but I need to avoid a 
+             * org.w3c.dom.DOMException: WRONG_DOCUMENT_ERR
+             */
+            Document doc = types.createElement("deleteme")
+                .getOwnerDocument();
+            
+            for (TopLevelComplexType top : schemaTypes) {
+                System.out.println("checking if " + javaType.getName()
+                                   .toLowerCase()
+                                   + " endsWith " + top.getName().toLowerCase());
+                if (javaType.getName().toLowerCase()
+                    .endsWith(top.getName().toLowerCase())) {
+
+                    return(Element)doc.importNode(top.newDomNode()
+                                                  .getFirstChild(), true);
+                }
+            }
+            TopLevelElement[] elements = schemaDoc.getSchema()
+                .getElementArray();
+            int docLen = "Document".length();
+            for (TopLevelElement element : elements) {
+                String elementName = javaType.getName();
+                int lastDot = elementName.lastIndexOf('.');
+                int len = elementName.length();
+                
+                if ((len - lastDot > docLen)
+                    && elementName.substring(lastDot + 1, len - docLen)
+                    .toLowerCase()
+                    .endsWith(element.getName().toLowerCase())) {
+
+                    return(Element)doc.importNode(element.newDomNode()
+                                                  .getFirstChild(), true);
+                }
+            }
+            throw new Exception(javaType.getName()
+                                + " was not found in the source schema");
+        }
+        else {
+            throw new Exception(javaType.getName()
+                                + " must be a subclass of XmlObject");
+        }
+    }
+}

Added: incubator/beehive/trunk/wsm/src/runtime/org/apache/beehive/wsm/axis/util/encoding/XmlBeanSerializerFactory.java
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/wsm/src/runtime/org/apache/beehive/wsm/axis/util/encoding/XmlBeanSerializerFactory.java	Wed Oct 20 11:40:50 2004
@@ -0,0 +1,38 @@
+/*
+ * XmlBeanSerializerFactory.java
+ * 
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * 
+ * 
+ * Original author: Jonathan Colwell
+ */
+package org.apache.beehive.wsm.axis.util.encoding;
+
+import javax.xml.namespace.QName;
+import javax.xml.rpc.encoding.Serializer;
+import org.apache.axis.encoding.ser.BaseSerializerFactory;
+
+/*******************************************************************************
+ * 
+ *
+ * @author Jonathan Colwell
+ */
+public class XmlBeanSerializerFactory extends BaseSerializerFactory {
+
+    public XmlBeanSerializerFactory(Class javaType, QName xmlType) {
+        super(XmlBeanSerializer.class, xmlType, javaType);
+    }
+}