You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2010/09/07 20:51:43 UTC

svn commit: r993471 - in /cxf/branches/2.2.x-fixes: ./ rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java

Author: dkulp
Date: Tue Sep  7 18:51:43 2010
New Revision: 993471

URL: http://svn.apache.org/viewvc?rev=993471&view=rev
Log:
Merged revisions 993053 via svnmerge from 
https://svn.apache.org/repos/asf/cxf/trunk

........
  r993053 | ema | 2010-09-06 10:57:06 -0400 (Mon, 06 Sep 2010) | 1 line
  
  [CXF-2974]:Log warning message instead of ServiceConstructionException in initializeClassInfo()
........

Modified:
    cxf/branches/2.2.x-fixes/   (props changed)
    cxf/branches/2.2.x-fixes/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java

Propchange: cxf/branches/2.2.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.

Modified: cxf/branches/2.2.x-fixes/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java?rev=993471&r1=993470&r2=993471&view=diff
==============================================================================
--- cxf/branches/2.2.x-fixes/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java (original)
+++ cxf/branches/2.2.x-fixes/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java Tue Sep  7 18:51:43 2010
@@ -686,29 +686,28 @@ public class ReflectionServiceFactoryBea
                 //make it.
                 WSDLServiceBuilder.checkForWrapped(o, true);
             }
-
-            if (o.hasInput()) {
-                MessageInfo input = o.getInput();
-                MessagePartInfo part = input.getMessageParts().get(0);
-                part.setTypeClass(getRequestWrapper(method));
-                part.setProperty("REQUEST.WRAPPER.CLASSNAME", getRequestWrapperClassName(method));
-                part.setIndex(0);
-            }
-
-            if (o.hasOutput()) {
-                MessageInfo input = o.getOutput();
-                MessagePartInfo part = input.getMessageParts().get(0);
-                part.setTypeClass(getResponseWrapper(method));
-                part.setProperty("RESPONSE.WRAPPER.CLASSNAME", getResponseWrapperClassName(method));
-                part.setIndex(0);
-            }
-
-            setFaultClassInfo(o, method);
-            if (o.getUnwrappedOperation() == null) {
-                throw new ServiceConstructionException(new Message("COULD_NOT_UNWRAP", LOG,
-                                                                   o.getName(), method));
+            if (o.getUnwrappedOperation() != null) {
+                if (o.hasInput()) {
+                    MessageInfo input = o.getInput();
+                    MessagePartInfo part = input.getMessageParts().get(0);
+                    part.setTypeClass(getRequestWrapper(method));
+                    part.setProperty("REQUEST.WRAPPER.CLASSNAME", getRequestWrapperClassName(method));
+                    part.setIndex(0);
+                }
+
+                if (o.hasOutput()) {
+                    MessageInfo input = o.getOutput();
+                    MessagePartInfo part = input.getMessageParts().get(0);
+                    part.setTypeClass(getResponseWrapper(method));
+                    part.setProperty("RESPONSE.WRAPPER.CLASSNAME", getResponseWrapperClassName(method));
+                    part.setIndex(0);
+                }
+                setFaultClassInfo(o, method);
+                o = o.getUnwrappedOperation();
+            } else {
+                LOG.warning(new Message("COULD_NOT_UNWRAP", LOG, o.getName(), method).toString());
+                setFaultClassInfo(o, method);
             }
-            o = o.getUnwrappedOperation();
         } else if (o.isUnwrappedCapable()) {
             // remove the unwrapped operation because it will break the
             // the WrapperClassOutInterceptor, and in general makes
@@ -739,11 +738,11 @@ public class ReflectionServiceFactoryBea
         if (o.hasOutput()
             && !initializeParameter(o, method, -1, paramType, genericType)) {
             return false;
-        }
+        }        
 
         setFaultClassInfo(o, method);
         return true;
-    }    
+    }   
     private boolean initializeParameter(OperationInfo o, Method method, int i,
                                      Class paramType, Type genericType) {
         boolean isIn = isInParam(method, i);