You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by ff...@apache.org on 2008/02/14 05:26:07 UTC

svn commit: r627660 - /servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/CxfBcProvider.java

Author: ffang
Date: Wed Feb 13 20:26:06 2008
New Revision: 627660

URL: http://svn.apache.org/viewvc?rev=627660&view=rev
Log:
[SM-1225]xf bc provider should support exchange without specifing the operationName if portType only have one operation

Modified:
    servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/CxfBcProvider.java

Modified: servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/CxfBcProvider.java
URL: http://svn.apache.org/viewvc/servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/CxfBcProvider.java?rev=627660&r1=627659&r2=627660&view=diff
==============================================================================
--- servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/CxfBcProvider.java (original)
+++ servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/CxfBcProvider.java Wed Feb 13 20:26:06 2008
@@ -120,7 +120,15 @@
         Exchange cxfExchange = new ExchangeImpl();
         message.setExchange(cxfExchange);
                
-        BindingOperationInfo boi = ei.getBinding().getOperation(exchange.getOperation());
+        QName opeName = exchange.getOperation();
+        BindingOperationInfo boi = null;
+        if (opeName == null) {
+            // if interface only have one operation, may not specify the opeName in MessageExchange
+            boi = ei.getBinding().getOperations().iterator().next();
+        } else {
+            boi = ei.getBinding().getOperation(exchange.getOperation());   
+        }
+         
         cxfExchange.put(BindingOperationInfo.class, boi);
         cxfExchange.put(Endpoint.class, ep);
         PhaseChainCache outboundChainCache = new PhaseChainCache();