Author: mmerz
Date: Wed Oct 20 13:22:10 2004
New Revision: 55181
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/util/encoding/XmlBeanDeserializer.java
Log:
XmlBean deserialization is now functional at least for fairly simple schemas.
Make sure to use the elementFormDefault="qualified" schema option since Axis
will
force that anyhow and cause all sorts of namespace problems.
Fixed a typo in AxisHook.java also.
Contributor: Jonathan Colwell
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 13:22:10 2004
@@ -127,7 +127,7 @@
ParameterDesc pd = new ParameterDesc();
pd.setQName(new QName(param.getWpTargetNamespace(),
- param.getWpName());
+ param.getWpName()));
Class paramType = param.getJavaType();
configureTypeMapping(sd, paramType);
pd.setJavaType(paramType);
Modified:
incubator/beehive/trunk/wsm/src/runtime/org/apache/beehive/wsm/axis/util/encoding/XmlBeanDeserializer.java
==============================================================================
---
incubator/beehive/trunk/wsm/src/runtime/org/apache/beehive/wsm/axis/util/encoding/XmlBeanDeserializer.java
(original)
+++
incubator/beehive/trunk/wsm/src/runtime/org/apache/beehive/wsm/axis/util/encoding/XmlBeanDeserializer.java
Wed Oct 20 13:22:10 2004
@@ -59,42 +59,14 @@
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);
+ XmlOptions opts = new XmlOptions()
+ .setLoadReplaceDocumentElement(null);
+ XmlObject xObj = XmlObject.Factory.parse(me, opts);
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);
@@ -103,7 +75,6 @@
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);