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 2008/06/26 16:48:57 UTC

svn commit: r671915 - in /servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/endpoints: HttpConsumerEndpoint.java HttpProviderEndpoint.java HttpSoapConsumerEndpoint.java HttpSoapProviderEndpoint.java

Author: gnodet
Date: Thu Jun 26 07:48:56 2008
New Revision: 671915

URL: http://svn.apache.org/viewvc?rev=671915&view=rev
Log:
SM-1427: Soap marshalers can not be overriden

Modified:
    servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/endpoints/HttpConsumerEndpoint.java
    servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/endpoints/HttpProviderEndpoint.java
    servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/endpoints/HttpSoapConsumerEndpoint.java
    servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/endpoints/HttpSoapProviderEndpoint.java

Modified: servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/endpoints/HttpConsumerEndpoint.java
URL: http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/endpoints/HttpConsumerEndpoint.java?rev=671915&r1=671914&r2=671915&view=diff
==============================================================================
--- servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/endpoints/HttpConsumerEndpoint.java (original)
+++ servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/endpoints/HttpConsumerEndpoint.java Thu Jun 26 07:48:56 2008
@@ -69,7 +69,7 @@
     private String authMethod;
     private SslParameters ssl;
     private String locationURI;
-    private HttpConsumerMarshaler marshaler = new DefaultHttpConsumerMarshaler();
+    private HttpConsumerMarshaler marshaler;
     private long timeout; // 0 => default to the timeout configured on component
     private URI defaultMep = MessageExchangeSupport.IN_OUT;
 
@@ -394,6 +394,9 @@
 
     public void validate() throws DeploymentException {
         super.validate();
+        if (marshaler == null) {
+            marshaler = new DefaultHttpConsumerMarshaler();
+        }
         if (marshaler instanceof DefaultHttpConsumerMarshaler) {
             ((DefaultHttpConsumerMarshaler) marshaler).setDefaultMep(getDefaultMep());
         }

Modified: servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/endpoints/HttpProviderEndpoint.java
URL: http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/endpoints/HttpProviderEndpoint.java?rev=671915&r1=671914&r2=671915&view=diff
==============================================================================
--- servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/endpoints/HttpProviderEndpoint.java (original)
+++ servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/endpoints/HttpProviderEndpoint.java Thu Jun 26 07:48:56 2008
@@ -22,6 +22,7 @@
 import javax.jbi.messaging.MessageExchange;
 import javax.jbi.messaging.NormalizedMessage;
 import javax.jbi.servicedesc.ServiceEndpoint;
+import javax.jbi.management.DeploymentException;
 import javax.xml.namespace.QName;
 
 import org.apache.servicemix.JbiConstants;
@@ -66,15 +67,6 @@
         this.locationURI = locationURI;
     }
 
-    public void start() throws Exception {
-        if (marshaler == null) {
-            DefaultHttpProviderMarshaler m = new DefaultHttpProviderMarshaler();
-            m.setLocationURI(locationURI);
-            marshaler = m;
-        }
-        super.start();
-    }
-    
     /*
     public BasicAuthCredentials getBasicAuthentication() {
         return basicAuthentication;
@@ -163,4 +155,14 @@
         this.clientSoTimeout = clientTimeout; 
     } 
 
+    public void validate() throws DeploymentException {
+        super.validate();
+        if (marshaler == null) {
+            marshaler = new DefaultHttpProviderMarshaler();
+        }
+        if (marshaler instanceof DefaultHttpProviderMarshaler && locationURI != null) {
+            ((DefaultHttpProviderMarshaler) marshaler).setLocationURI(locationURI);
+        }
+    }
+
 }

Modified: servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/endpoints/HttpSoapConsumerEndpoint.java
URL: http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/endpoints/HttpSoapConsumerEndpoint.java?rev=671915&r1=671914&r2=671915&view=diff
==============================================================================
--- servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/endpoints/HttpSoapConsumerEndpoint.java (original)
+++ servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/endpoints/HttpSoapConsumerEndpoint.java Thu Jun 26 07:48:56 2008
@@ -107,7 +107,14 @@
         if (wsdl == null) {
             throw new DeploymentException("wsdl property must be set");
         }
-        HttpSoapConsumerMarshaler marshaler = new HttpSoapConsumerMarshaler();
+        HttpSoapConsumerMarshaler marshaler;
+        if (getMarshaler() instanceof HttpSoapConsumerMarshaler) {
+            marshaler = (HttpSoapConsumerMarshaler) getMarshaler();
+        } else if (getMarshaler() == null) {
+            marshaler = new HttpSoapConsumerMarshaler();
+        } else {
+            throw new DeploymentException("The configured marshaler must inherit HttpSoapConsumerMarshaler");
+        }
         try {
             description = DomUtil.parse(wsdl.getInputStream());
             Element elem = description.getDocumentElement();

Modified: servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/endpoints/HttpSoapProviderEndpoint.java
URL: http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/endpoints/HttpSoapProviderEndpoint.java?rev=671915&r1=671914&r2=671915&view=diff
==============================================================================
--- servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/endpoints/HttpSoapProviderEndpoint.java (original)
+++ servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/endpoints/HttpSoapProviderEndpoint.java Thu Jun 26 07:48:56 2008
@@ -108,7 +108,14 @@
         if (wsdl == null) {
             throw new DeploymentException("wsdl property must be set");
         }
-        HttpSoapProviderMarshaler marshaler = new HttpSoapProviderMarshaler();
+        HttpSoapProviderMarshaler marshaler;
+        if (getMarshaler() instanceof HttpSoapProviderMarshaler) {
+            marshaler = (HttpSoapProviderMarshaler) getMarshaler();
+        } else if (getMarshaler() == null) {
+            marshaler = new HttpSoapProviderMarshaler();
+        } else {
+            throw new DeploymentException("The configured marshaler must inherit HttpSoapProviderMarshaler");
+        }
         try {
             description = DomUtil.parse(wsdl.getInputStream());
             Element elem = description.getDocumentElement();