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 2009/12/14 21:05:16 UTC

svn commit: r890465 - in /cxf/trunk: rt/core/src/main/java/org/apache/cxf/interceptor/ systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/addr_fromjava/ systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/addr_fromjava/server/

Author: dkulp
Date: Mon Dec 14 20:05:02 2009
New Revision: 890465

URL: http://svn.apache.org/viewvc?rev=890465&view=rev
Log:
[CXF-2035] Make sure the element name matches the operation defined by
the Actions

Modified:
    cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/DocLiteralInInterceptor.java
    cxf/trunk/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/addr_fromjava/WSAFromJavaTest.java
    cxf/trunk/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/addr_fromjava/server/AddNumberImpl.java

Modified: cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/DocLiteralInInterceptor.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/DocLiteralInInterceptor.java?rev=890465&r1=890464&r2=890465&view=diff
==============================================================================
--- cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/DocLiteralInInterceptor.java (original)
+++ cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/DocLiteralInInterceptor.java Mon Dec 14 20:05:02 2009
@@ -99,7 +99,7 @@
                 // Determine if there is a wrapper class
                 if (msgInfo.getMessageParts().get(0).getTypeClass() != null) {
                     QName startQName = xmlReader.getName();
-                    if (client && !msgInfo.getMessageParts().get(0).getConcreteName().equals(startQName)) {
+                    if (!msgInfo.getMessageParts().get(0).getConcreteName().equals(startQName)) {
                         throw new Fault("UNEXPECTED_WRAPPER_ELEMENT", LOG, null, startQName,
                                         msgInfo.getMessageParts().get(0).getConcreteName());
                     }

Modified: cxf/trunk/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/addr_fromjava/WSAFromJavaTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/addr_fromjava/WSAFromJavaTest.java?rev=890465&r1=890464&r2=890465&view=diff
==============================================================================
--- cxf/trunk/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/addr_fromjava/WSAFromJavaTest.java (original)
+++ cxf/trunk/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/addr_fromjava/WSAFromJavaTest.java Mon Dec 14 20:05:02 2009
@@ -150,4 +150,20 @@
 
         return service.getAddNumberImplPort();
     }
+    
+    @Test 
+    public void testUnmatchedActions() throws Exception {
+        AddNumberImpl port = getPort();
+
+        BindingProvider bp = (BindingProvider)port;
+        java.util.Map<String, Object> requestContext = bp.getRequestContext();
+        requestContext.put(BindingProvider.SOAPACTION_URI_PROPERTY,
+                           "http://cxf.apache.org/input4");
+        try {
+            //CXF-2035 
+            port.addNumbers3(-1, -1); 
+        } catch (Exception e) {
+            assertTrue(e.getMessage().contains("Unexpected wrapper"));
+        }
+    }
 }
\ No newline at end of file

Modified: cxf/trunk/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/addr_fromjava/server/AddNumberImpl.java
URL: http://svn.apache.org/viewvc/cxf/trunk/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/addr_fromjava/server/AddNumberImpl.java?rev=890465&r1=890464&r2=890465&view=diff
==============================================================================
--- cxf/trunk/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/addr_fromjava/server/AddNumberImpl.java (original)
+++ cxf/trunk/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/addr_fromjava/server/AddNumberImpl.java Mon Dec 14 20:05:02 2009
@@ -19,6 +19,7 @@
 
 package org.apache.cxf.systest.ws.addr_fromjava.server;
 
+import javax.jws.WebMethod;
 import javax.jws.WebService;
 import javax.xml.ws.Action;
 import javax.xml.ws.FaultAction;
@@ -43,10 +44,19 @@
     @Action(input = "http://cxf.apache.org/input3", output = "http://cxf.apache.org/output3",
             fault = {@FaultAction(className = AddNumbersException.class, 
                                   value = "http://cxf.apache.org/fault3") })
+    @WebMethod(action = "http://cxf.apache.org/input3")                                  
     public int addNumbers3(int number1, int number2) throws AddNumbersException {
         return execute(number1, number2);
     }
 
+    @Action(input = "http://cxf.apache.org/input4", output = "http://cxf.apache.org/output4",
+            fault = {@FaultAction(className = AddNumbersException.class, 
+                                  value = "http://cxf.apache.org/fault4") })
+    @WebMethod(action = "http://cxf.apache.org/input4")                                  
+    public int addNumbers4(int number1, int number2) throws AddNumbersException {
+        return number1 + number2;
+    }
+    
     int execute(int number1, int number2) throws AddNumbersException {
         if (number1 < 0 || number2 < 0) {
             throw new AddNumbersException("Negative numbers can't be added!",