You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by gn...@apache.org on 2006/12/20 00:57:04 UTC

svn commit: r488857 - /incubator/servicemix/trunk/common/servicemix-soap/src/main/java/org/apache/servicemix/soap/SoapHelper.java

Author: gnodet
Date: Tue Dec 19 15:57:04 2006
New Revision: 488857

URL: http://svn.apache.org/viewvc?view=rev&rev=488857
Log:
SOAP Operation is not correctly recognized when the targetService is used without targetEndpoint

Modified:
    incubator/servicemix/trunk/common/servicemix-soap/src/main/java/org/apache/servicemix/soap/SoapHelper.java

Modified: incubator/servicemix/trunk/common/servicemix-soap/src/main/java/org/apache/servicemix/soap/SoapHelper.java
URL: http://svn.apache.org/viewvc/incubator/servicemix/trunk/common/servicemix-soap/src/main/java/org/apache/servicemix/soap/SoapHelper.java?view=diff&rev=488857&r1=488856&r2=488857
==============================================================================
--- incubator/servicemix/trunk/common/servicemix-soap/src/main/java/org/apache/servicemix/soap/SoapHelper.java (original)
+++ incubator/servicemix/trunk/common/servicemix-soap/src/main/java/org/apache/servicemix/soap/SoapHelper.java Tue Dec 19 15:57:04 2006
@@ -304,8 +304,19 @@
                 }
             } else if (definition.getService(serviceName) != null) {
                 Service service = definition.getService(serviceName);
-                Port port = service.getPort(endpointName);
-                if (port != null) {
+                if (endpointName != null) {
+                    Port port = service.getPort(endpointName);
+                    if (port != null) {
+                        Binding binding = port.getBinding();
+                        if (binding != null) {
+                            PortType portType = binding.getPortType();
+                            if (portType != null) {
+                                return findOperationFor(portType, bodyName);
+                            }
+                        }
+                    }
+                } else if (service.getPorts().size() == 1) {
+                    Port port = (Port) service.getPorts().values().iterator().next();
                     Binding binding = port.getBinding();
                     if (binding != null) {
                         PortType portType = binding.getPortType();