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 2008/09/12 22:22:04 UTC

svn commit: r694796 - in /cxf/branches/2.1.x-fixes: ./ rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/ rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/spring/ systests/src/test/java/org/apache/cxf/systest/versioning/

Author: dkulp
Date: Fri Sep 12 13:22:03 2008
New Revision: 694796

URL: http://svn.apache.org/viewvc?rev=694796&view=rev
Log:
Merged revisions 694795 via svnmerge from 
https://svn.apache.org/repos/asf/cxf/trunk

........
  r694795 | dkulp | 2008-09-12 16:19:46 -0400 (Fri, 12 Sep 2008) | 2 lines
  
  Don't go into multiplex mode if mulitplexing won't actually accomplish anything.
........

Modified:
    cxf/branches/2.1.x-fixes/   (props changed)
    cxf/branches/2.1.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingFactory.java
    cxf/branches/2.1.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/spring/endpoints.xml
    cxf/branches/2.1.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/spring/servers.xml
    cxf/branches/2.1.x-fixes/systests/src/test/java/org/apache/cxf/systest/versioning/Server.java

Propchange: cxf/branches/2.1.x-fixes/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Sep 12 13:22:03 2008
@@ -1 +1 @@
-/cxf/trunk:686333-686363,686764,686820,687096,687194,687363,687387,687463,687543,687722,687798,687814,687817,687891,687910,687914,688086,688102,688133,688596,688735,688870,689572,689596,689855,689924,690067,690289,691246,691271,691295,691355,691488,691602,691646,691706,691728,692116,692157,692310,692466,692499,693653,693819,694179,694263,694417,694716,694744,694747
+/cxf/trunk:686333-686363,686764,686820,687096,687194,687363,687387,687463,687543,687722,687798,687814,687817,687891,687910,687914,688086,688102,688133,688596,688735,688870,689572,689596,689855,689924,690067,690289,691246,691271,691295,691355,691488,691602,691646,691706,691728,692116,692157,692310,692466,692499,693653,693819,694179,694263,694417,694716,694744,694747,694795

Propchange: cxf/branches/2.1.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.

Modified: cxf/branches/2.1.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingFactory.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingFactory.java?rev=694796&r1=694795&r2=694796&view=diff
==============================================================================
--- cxf/branches/2.1.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingFactory.java (original)
+++ cxf/branches/2.1.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingFactory.java Fri Sep 12 13:22:03 2008
@@ -724,6 +724,33 @@
 
         if (mo instanceof ChainInitiationObserver) {
             ChainInitiationObserver cio = (ChainInitiationObserver) mo;
+            
+            Binding b = e.getBinding();
+            Binding b2 = cio.getEndpoint().getBinding();
+            if (b == b2) {
+                //re-registering the same endpoint?
+                return;
+            }
+            Object o = cio.getEndpoint().get("allow-multiplex-endpoint");
+            if (o instanceof String) {
+                o = Boolean.parseBoolean((String)o);
+            } else if (o == null) {
+                o = Boolean.FALSE;
+            }
+            
+            if (b instanceof org.apache.cxf.binding.soap.SoapBinding 
+                && b2 instanceof org.apache.cxf.binding.soap.SoapBinding
+                && ((org.apache.cxf.binding.soap.SoapBinding)b).getSoapVersion()
+                    .equals(((org.apache.cxf.binding.soap.SoapBinding)b2).getSoapVersion())
+                && Boolean.FALSE.equals(o)) {
+                
+                throw new RuntimeException("Soap " 
+                                           + ((org.apache.cxf.binding.soap.SoapBinding)b)
+                                               .getSoapVersion().getVersion()
+                                           + " endpoint already registered on address "
+                                           + e.getEndpointInfo().getAddress());
+            }
+            
             MultipleEndpointObserver newMO = new MultipleEndpointObserver(getBus()) {
                 @Override
                 protected Message createMessage(Message message) {

Modified: cxf/branches/2.1.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/spring/endpoints.xml
URL: http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/spring/endpoints.xml?rev=694796&r1=694795&r2=694796&view=diff
==============================================================================
--- cxf/branches/2.1.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/spring/endpoints.xml (original)
+++ cxf/branches/2.1.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/spring/endpoints.xml Fri Sep 12 13:22:03 2008
@@ -52,7 +52,7 @@
     implementor="#greeter" address="http://localhost:8080/simpeWithHttpBinding"
     bindingUri="http://cxf.apache.org/bindings/xformat"/>
     
-  <jaxws:endpoint id="inlineImplementor" address="http://localhost:8080/simpleWithAddress">
+  <jaxws:endpoint id="inlineImplementor" address="http://localhost:8080/simpleWithAddress2">
     <jaxws:implementor>
       <bean class="org.apache.hello_world_soap_http.GreeterImpl">
          <property name="prefix" value="hello"/>
@@ -61,13 +61,13 @@
   </jaxws:endpoint>
   
   <jaxws:endpoint id="simpleWithBinding" 
-    implementor="#greeter" address="http://localhost:8080/simpleWithAddress">
+    implementor="#greeter" address="http://localhost:8080/simpleWithAddress3">
   	<jaxws:binding>
   	   <soap:soapBinding mtomEnabled="true" version="1.2"/>
   	</jaxws:binding>
   </jaxws:endpoint>	  
   
-  <jaxws:endpoint id="inlineInvoker" address="http://localhost:8080/simpleWithAddress">
+  <jaxws:endpoint id="inlineInvoker" address="http://localhost:8080/simpleWithAddress4">
     <jaxws:implementor>
       <bean class="org.apache.hello_world_soap_http.GreeterImpl"/>
     </jaxws:implementor>
@@ -88,12 +88,12 @@
     implementor="org.apache.cxf.jaxws.service.Hello"
     endpointName="e:HelloEndpointCustomized"
     serviceName="s:HelloServiceCustomized"
-    address="http://localhost:8080/test"
+    address="http://localhost:8080/test0"
     xmlns:e="http://service.jaxws.cxf.apache.org/endpoint"
     xmlns:s="http://service.jaxws.cxf.apache.org/service"/>
     
   <jaxws:endpoint id="wsdlLocation" 
-    implementor="#greeter" address="http://localhost:8080/simpleWithAddress"
+    implementor="#greeter" address="http://localhost:8080/simpleWithAddress5"
     wsdlLocation="wsdl/hello_world.wsdl"/>
     
   <bean id="saajIn" class="org.apache.cxf.binding.soap.saaj.SAAJInInterceptor"/>
@@ -101,7 +101,7 @@
       
   <jaxws:endpoint id="epWithInterceptors" 
     implementor="org.apache.cxf.jaxws.service.Hello"
-    address="http://localhost:8080/test">
+    address="http://localhost:8080/test1">
 	<jaxws:inInterceptors>
 	  <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
 	  <ref bean="saajIn"/>
@@ -113,13 +113,13 @@
   </jaxws:endpoint>
 
   <jaxws:endpoint implementor="org.apache.cxf.jaxws.service.Hello"
-    address="http://localhost:8080/test"/>
+    address="http://localhost:8080/test2"/>
     
     
   <jaxws:endpoint id="implementorClass"
     implementor="java.lang.Object"
     implementorClass="org.apache.cxf.jaxws.service.Hello"
-    address="http://localhost:8080/test"/>
+    address="http://localhost:8080/test3"/>
     
   <jaxws:endpoint id="publishedEndpointUrl"
     implementor="#greeter"

Modified: cxf/branches/2.1.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/spring/servers.xml
URL: http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/spring/servers.xml?rev=694796&r1=694795&r2=694796&view=diff
==============================================================================
--- cxf/branches/2.1.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/spring/servers.xml (original)
+++ cxf/branches/2.1.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/spring/servers.xml Fri Sep 12 13:22:03 2008
@@ -38,20 +38,21 @@
           </list>
       </property>
   </bean>
+  <bean id="greeter" class="org.apache.hello_world_soap_http.GreeterImpl"/>
 
-  <jaxws:server id="simple" serviceBean="#greeter" xmlns:test="urn:foo" xmlns="urn:foo"/>
+  <jaxws:server id="simple" serviceBean="#greeter" 
+        xmlns:test="urn:foo" xmlns="urn:foo"
+        address="http://localhost:8080/testrpc1"/>
 
-  <bean id="greeter" class="org.apache.hello_world_soap_http.GreeterImpl"/>
 
   <jaxws:server id="simpleWithAddress"
-    serviceBean="#greeter" address="http://localhost:8080/simpleWithAddress"/>
+    serviceBean="#greeter" address="http://localhost:8080/simpleWithAddress1"/>
 
-  <jaxws:server id="inlineImplementor" address="http://localhost:8080/simpleWithAddress">
+  <jaxws:server id="inlineImplementor" address="http://localhost:8080/simpleWithAddress10">
     <jaxws:serviceBean>
       <bean class="org.apache.hello_world_soap_http.GreeterImpl"/>
     </jaxws:serviceBean>
   </jaxws:server>
-
   <jaxws:server id="inlineInvoker"
     serviceClass="org.apache.hello_world_soap_http.GreeterImpl"
     address="http://localhost:8080/simpleWithAddress"
@@ -97,7 +98,7 @@
       </jaxws:dataBinding>
   </jaxws:server>
 
-   <jaxws:client id="bookClient"
+  <jaxws:client id="bookClient"
     serviceClass="org.apache.cxf.anonymous_complex_type.AnonymousComplexType"
     address="http://localhost:8080/act"/>
 
@@ -125,13 +126,11 @@
 
   <jaxws:server id="inlineDataBinding"
     serviceClass="org.apache.cxf.jaxws.service.Hello"
-    address="http://localhost:8080/test">
+    address="http://localhost:8080/test1">
     <jaxws:dataBinding>
       <bean class="org.apache.cxf.jaxb.JAXBDataBinding"/>
     </jaxws:dataBinding>
   </jaxws:server>
 
-  <!-- We should auto generate this id -->
-  <jaxws:server serviceBean="#greeter"/>
-
+  <jaxws:server serviceBean="#greeter" address="http://localhost:8080/test3"/>
 </beans>

Modified: cxf/branches/2.1.x-fixes/systests/src/test/java/org/apache/cxf/systest/versioning/Server.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/systests/src/test/java/org/apache/cxf/systest/versioning/Server.java?rev=694796&r1=694795&r2=694796&view=diff
==============================================================================
--- cxf/branches/2.1.x-fixes/systests/src/test/java/org/apache/cxf/systest/versioning/Server.java (original)
+++ cxf/branches/2.1.x-fixes/systests/src/test/java/org/apache/cxf/systest/versioning/Server.java Fri Sep 12 13:22:03 2008
@@ -36,15 +36,16 @@
         EndpointImpl ep1 = (EndpointImpl) Endpoint.publish(address, implementor1);
 
         ep1.getServer().getEndpoint().put("version", "1");
-        
+        ep1.getServer().getEndpoint().put("allow-multiplex-endpoint", Boolean.TRUE);
+
+        //Register a MediatorInInterceptor on this dummy service
+
         Object implementor2 = new GreeterImplMixedStyle(" version2");
         EndpointImpl ep2 = (EndpointImpl) Endpoint.publish(address, implementor2);
         ep2.getServer().getEndpoint().put("version", "2");
         
-        //Register a MediatorInInterceptor on this dummy service
-        
         MultipleEndpointObserver meo = (MultipleEndpointObserver)
-            ep2.getServer().getDestination().getMessageObserver();
+            ep1.getServer().getDestination().getMessageObserver();
         meo.getRoutingInterceptors().clear();
         meo.getRoutingInterceptors().add(new MediatorInInterceptor());
     }