Author: scamp
Date: Mon May 16 14:22:26 2005
New Revision: 170450

URL: http://svn.apache.org/viewcvs?rev=170450&view=rev
Log: (empty)

Added:
    incubator/apollo/trunk/src/java/org/apache/ws/util/soap/Body.java
    incubator/apollo/trunk/src/java/org/apache/ws/util/soap/Envelope.java
    incubator/apollo/trunk/src/java/org/apache/ws/util/soap/Header.java
Removed:
    
incubator/apollo/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_09/GetPortType2JavaInfo.java
Modified:
    
incubator/apollo/trunk/src/java/org/apache/ws/resource/handler/ResourceHandler.java

Modified: 
incubator/apollo/trunk/src/java/org/apache/ws/resource/handler/ResourceHandler.java
URL: 
http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/java/org/apache/ws/resource/handler/ResourceHandler.java?rev=170450&r1=170449&r2=170450&view=diff
==============================================================================
--- 
incubator/apollo/trunk/src/java/org/apache/ws/resource/handler/ResourceHandler.java
 (original)
+++ 
incubator/apollo/trunk/src/java/org/apache/ws/resource/handler/ResourceHandler.java
 Mon May 16 14:22:26 2005
@@ -15,9 +15,9 @@
  
*=============================================================================*/
 package org.apache.ws.resource.handler;
 
+import org.apache.commons.lang.exception.ExceptionUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.commons.lang.exception.ExceptionUtils;
 import org.apache.ws.resource.ResourceContext;
 import org.apache.ws.resource.ResourceContextException;
 import org.apache.ws.resource.i18n.Keys;
@@ -26,9 +26,9 @@
 import org.apache.ws.util.i18n.Messages;
 import org.apache.xmlbeans.XmlObject;
 import org.apache.xmlbeans.XmlOptions;
+import org.apache.xmlbeans.XmlException;
 import org.xmlsoap.schemas.soap.envelope.Body;
 import org.xmlsoap.schemas.soap.envelope.Envelope;
-import org.xmlsoap.schemas.soap.envelope.EnvelopeDocument;
 
 import javax.xml.namespace.QName;
 import javax.xml.rpc.JAXRPCException;
@@ -129,18 +129,14 @@
             LOG.debug(MSG.getMessage(Keys.RECEIVED_REQUEST));
             SOAPMessageContext soapMsgContext = (SOAPMessageContext) 
msgContext;
             SOAPEnvelope envelope = 
soapMsgContext.getMessage().getSOAPPart().getEnvelope();
-            EnvelopeDocument envelopeDocXmlBean = 
EnvelopeDocument.Factory.parse(envelope.toString());
+            org.apache.ws.util.soap.Body body = getSoapBody(envelope);
 
             if (LOG.isDebugEnabled())
             {
                 LOG.debug("The request envelope: \n" + envelope.toString());
             }
-            Envelope envelopeXmlBean = envelopeDocXmlBean.getEnvelope();
-            Body body = envelopeXmlBean.getBody();
 
             ResourceContext resourceContext = 
createResourceContext(soapMsgContext);
-            resourceContext.setProperty(SOAP_ENVELOPE_XMLBEAN, 
envelopeXmlBean);
-
             String addressingAction = resourceContext.getAddressingAction();
             SoapMethodNameMap methodnameMap = new 
ServiceSoapMethodNameMap(resourceContext);
             String methodNameFromAction = 
methodnameMap.getMethodNameFromAction(addressingAction);
@@ -148,7 +144,7 @@
 
             Class serviceClass = getServiceClassName(resourceContext);
             WsrfService service = createService(serviceClass, resourceContext);
-            XmlObject[] childElements = XmlBeanUtils.getChildElements(body);
+            XmlObject[] childElements = 
XmlBeanUtils.getChildElements(body.getXmlObject());
             Method serviceMethod = null;
 
             if (childElements.length == 0)
@@ -222,6 +218,34 @@
             }
         }
         return false;
+    }
+
+    /**
+     * Returns a facade-wrapped SOAPBody
+     *
+     * @param envelope
+     * @return a facade-wrapped SOAPBody
+     * @throws XmlException
+     */
+    private org.apache.ws.util.soap.Body getSoapBody(SOAPEnvelope envelope) 
throws XmlException
+    {
+        org.apache.ws.util.soap.Envelope envelopeWrapper = null;
+        org.apache.ws.util.soap.Body body;
+        XmlObject envelopeDocXmlBean = 
XmlObject.Factory.parse(envelope.toString());
+        if(envelopeDocXmlBean instanceof 
org.w3.x2003.x05.soapEnvelope.EnvelopeDocument)
+        {
+            envelopeWrapper = new 
org.apache.ws.util.soap.Envelope((org.w3.x2003.x05.soapEnvelope.EnvelopeDocument)envelope);
+        }
+        else if(envelopeDocXmlBean instanceof 
org.xmlsoap.schemas.soap.envelope.EnvelopeDocument)
+        {
+            envelopeWrapper = new 
org.apache.ws.util.soap.Envelope((org.xmlsoap.schemas.soap.envelope.EnvelopeDocument)envelope);
+        }
+        else
+        {
+            throw new IllegalArgumentException("Unknown version of 
SOAPEnvelope: " + envelopeDocXmlBean.getClass().getName());
+        }
+
+        return envelopeWrapper.getBody();
     }
 
     /**

Added: incubator/apollo/trunk/src/java/org/apache/ws/util/soap/Body.java
URL: 
http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/java/org/apache/ws/util/soap/Body.java?rev=170450&view=auto
==============================================================================
--- incubator/apollo/trunk/src/java/org/apache/ws/util/soap/Body.java (added)
+++ incubator/apollo/trunk/src/java/org/apache/ws/util/soap/Body.java Mon May 
16 14:22:26 2005
@@ -0,0 +1,29 @@
+package org.apache.ws.util.soap;
+
+import org.apache.ws.XmlObjectWrapper;
+import org.apache.xmlbeans.XmlObject;
+
+/**
+ * A Facade wrapper for a SOAPBody
+ *
+ * @author Sal Campana
+ */
+public class Body implements XmlObjectWrapper
+{
+    XmlObject m_xmlObject;
+
+    public Body(org.w3.x2003.x05.soapEnvelope.Body body)
+    {
+        m_xmlObject = body;
+    }
+
+    public Body(org.xmlsoap.schemas.soap.envelope.Body body)
+    {
+        m_xmlObject = body;
+    }
+
+    public XmlObject getXmlObject()
+    {
+        return m_xmlObject;
+    }
+}

Added: incubator/apollo/trunk/src/java/org/apache/ws/util/soap/Envelope.java
URL: 
http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/java/org/apache/ws/util/soap/Envelope.java?rev=170450&view=auto
==============================================================================
--- incubator/apollo/trunk/src/java/org/apache/ws/util/soap/Envelope.java 
(added)
+++ incubator/apollo/trunk/src/java/org/apache/ws/util/soap/Envelope.java Mon 
May 16 14:22:26 2005
@@ -0,0 +1,53 @@
+package org.apache.ws.util.soap;
+
+import org.apache.ws.XmlObjectWrapper;
+import org.apache.xmlbeans.XmlObject;
+
+/**
+ * A Facade Wrapper for a SOAPEnvelope
+ *
+ * @author Sal Campana
+ */
+public class Envelope implements XmlObjectWrapper
+{
+    XmlObject m_xmlObject;
+    Body m_body;
+    Header m_header;
+
+    public Envelope(org.w3.x2003.x05.soapEnvelope.EnvelopeDocument envelope)
+    {
+        if(envelope.getEnvelope() == null)
+        {
+           throw new IllegalArgumentException("There must be an Envelope in 
the EnvelopeDocument.");
+        }
+        m_xmlObject = envelope;
+        m_body = new Body(envelope.getEnvelope().getBody());
+        m_header = new Header(envelope.getEnvelope().getHeader());
+    }
+
+    public Envelope(org.xmlsoap.schemas.soap.envelope.EnvelopeDocument 
envelope)
+    {
+        if(envelope.getEnvelope() == null)
+        {
+            throw new IllegalArgumentException("There must be an Envelope in 
the EnvelopeDocument.");
+        }
+        m_xmlObject = envelope;
+        m_body = new Body(envelope.getEnvelope().getBody());
+        m_header = new Header(envelope.getEnvelope().getHeader());
+    }
+
+    public Body getBody()
+    {
+        return m_body;
+    }
+
+    public Header getHeader()
+    {
+        return m_header;
+    }
+
+    public XmlObject getXmlObject()
+    {
+        return m_xmlObject;
+    }
+}

Added: incubator/apollo/trunk/src/java/org/apache/ws/util/soap/Header.java
URL: 
http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/java/org/apache/ws/util/soap/Header.java?rev=170450&view=auto
==============================================================================
--- incubator/apollo/trunk/src/java/org/apache/ws/util/soap/Header.java (added)
+++ incubator/apollo/trunk/src/java/org/apache/ws/util/soap/Header.java Mon May 
16 14:22:26 2005
@@ -0,0 +1,30 @@
+package org.apache.ws.util.soap;
+
+import org.apache.ws.XmlObjectWrapper;
+import org.apache.xmlbeans.XmlObject;
+
+
+/**
+ * A Facade wrapper for a SOAPHeader
+ *
+ * @author Sal Campana
+ */
+public class Header implements XmlObjectWrapper
+{
+    XmlObject m_xmlObject;
+
+    public Header( org.w3.x2003.x05.soapEnvelope.Header header)
+    {
+        m_xmlObject = header;
+    }
+
+    public Header(org.xmlsoap.schemas.soap.envelope.Header header)
+    {
+        m_xmlObject = header;
+    }
+
+    public XmlObject getXmlObject()
+    {
+        return m_xmlObject;
+    }
+}



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to