You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by di...@apache.org on 2007/03/23 22:31:04 UTC

svn commit: r521909 - in /webservices/axis2/trunk/java/modules: jaxws/ jaxws/src/org/apache/axis2/jaxws/server/ jaxws/test/org/apache/axis2/jaxws/proxy/rpclit/META-INF/ kernel/src/org/apache/axis2/deployment/util/

Author: dims
Date: Fri Mar 23 14:31:03 2007
New Revision: 521909

URL: http://svn.apache.org/viewvc?view=rev&rev=521909
Log:
fix m2 build break in jaxws. If the method signature has an exception then treat it as Robust-In-Only

Modified:
    webservices/axis2/trunk/java/modules/jaxws/pom.xml
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/JAXWSMessageReceiver.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/rpclit/META-INF/services.xml
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/util/Utils.java

Modified: webservices/axis2/trunk/java/modules/jaxws/pom.xml
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/pom.xml?view=diff&rev=521909&r1=521908&r2=521909
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/pom.xml (original)
+++ webservices/axis2/trunk/java/modules/jaxws/pom.xml Fri Mar 23 14:31:03 2007
@@ -836,6 +836,7 @@
   		<configuration>
   			<skip>false</skip>
   			<forkMode>pertest</forkMode>
+  			<argLine>-Xms256m -Xmx512m</argLine>
   			<!-- Enable the next 2 lines if you want to attach a debugger
   			<argLine>-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5006</argLine>-->
   			<includes>

Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/JAXWSMessageReceiver.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/JAXWSMessageReceiver.java?view=diff&rev=521909&r1=521908&r2=521909
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/JAXWSMessageReceiver.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/JAXWSMessageReceiver.java Fri Mar 23 14:31:03 2007
@@ -99,18 +99,16 @@
             //needs to be done here is setting up all of the javax.xml.ws.* 
             //properties for the MessageContext.
             
-            if (isMepInOnly(mep)) {
-            	endpointCtlr.invoke(ic);
-            }
-            else{
-	            ic = endpointCtlr.invoke(ic);
-                
-                // If this is a two-way exchange, there should already be a 
+            ic = endpointCtlr.invoke(ic);
+            MessageContext responseMsgCtx = ic.getResponseMessageContext();
+
+            //If there is a fault it could be Robust In-Only
+            if (!isMepInOnly(mep)|| hasFault(responseMsgCtx)) {
+                // If this is a two-way exchange, there should already be a
                 // JAX-WS MessageContext for the response.  We need to pull 
                 // the Message data out of there and set it on the Axis2 
                 // MessageContext.
-                MessageContext responseMsgCtx = ic.getResponseMessageContext();
-                org.apache.axis2.context.MessageContext axisResponseMsgCtx = 
+                org.apache.axis2.context.MessageContext axisResponseMsgCtx =
                     responseMsgCtx.getAxisMessageContext(); 
                 
                 MessageUtils.putMessageOnMessageContext(responseMsgCtx.getMessage(), axisResponseMsgCtx);
@@ -156,7 +154,14 @@
           throw faultToReturn;
         }
     }
-    
+
+    private boolean hasFault(MessageContext responseMsgCtx) {
+        if(responseMsgCtx == null || responseMsgCtx.getMessage()==null){
+            return false;
+        }
+        return responseMsgCtx.getMessage().isFault();
+    }
+
     private boolean isMepInOnly(String mep){
     	boolean inOnly = mep.equals(WSDL20_2004_Constants.MEP_URI_ROBUST_IN_ONLY) || 
             mep.equals(WSDL20_2004_Constants.MEP_URI_IN_ONLY) || 

Modified: webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/rpclit/META-INF/services.xml
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/rpclit/META-INF/services.xml?view=diff&rev=521909&r1=521908&r2=521909
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/rpclit/META-INF/services.xml (original)
+++ webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/rpclit/META-INF/services.xml Fri Mar 23 14:31:03 2007
@@ -2,7 +2,7 @@
  <service name="RPCLitService">
   <messageReceivers>
    <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out" class="org.apache.axis2.jaxws.server.JAXWSMessageReceiver"/>
-   <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only" class="org.apache.axis2.jaxws.server.JAXWSMessageReceiver"/>
+   <messageReceiver mep="http://www.w3.org/2004/08/wsdl/robust-in-only" class="org.apache.axis2.jaxws.server.JAXWSMessageReceiver"/>
   </messageReceivers>
   <parameter locked="false" name="ServiceClass">org.apache.axis2.jaxws.proxy.rpclit.RPCLitImpl</parameter>
   <operation name="invoke" mep="http://www.w3.org/2004/08/wsdl/in-out">

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/util/Utils.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/util/Utils.java?view=diff&rev=521909&r1=521908&r2=521909
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/util/Utils.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/util/Utils.java Fri Mar 23 14:31:03 2007
@@ -377,7 +377,11 @@
         AxisOperation operation;
         String opName = jmethod.getSimpleName();
         if (jmethod.getReturnType().isVoidType()) {
-            operation = AxisOperationFactory.getAxisOperation(WSDLConstants.MEP_CONSTANT_IN_ONLY);
+            if (jmethod.getExceptionTypes().length > 0) {
+                operation = AxisOperationFactory.getAxisOperation(WSDLConstants.MEP_CONSTANT_ROBUST_IN_ONLY);
+            } else {
+                operation = AxisOperationFactory.getAxisOperation(WSDLConstants.MEP_CONSTANT_IN_ONLY);
+            }
         } else {
             operation = AxisOperationFactory.getAxisOperation(WSDLConstants.MEP_CONSTANT_IN_OUT);
             AxisMessage outMessage = operation.getMessage(



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org