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!",