Author: markt
Date: Thu Jul  8 22:22:34 2010
New Revision: 961963

URL: http://svn.apache.org/viewvc?rev=961963&view=rev
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=48297
Use the HandlerInfo to initialise the HandlerChain, rather than adding to it 
which clearly isn't correct.
>From looking at the javadoc, I believe this is the fix required but I don't 
>have a test case.

Modified:
    
tomcat/trunk/java/org/apache/naming/factory/webservices/ServiceRefFactory.java
    tomcat/trunk/webapps/docs/changelog.xml

Modified: 
tomcat/trunk/java/org/apache/naming/factory/webservices/ServiceRefFactory.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/naming/factory/webservices/ServiceRefFactory.java?rev=961963&r1=961962&r2=961963&view=diff
==============================================================================
--- 
tomcat/trunk/java/org/apache/naming/factory/webservices/ServiceRefFactory.java 
(original)
+++ 
tomcat/trunk/java/org/apache/naming/factory/webservices/ServiceRefFactory.java 
Thu Jul  8 22:22:34 2010
@@ -45,6 +45,7 @@ import javax.wsdl.factory.WSDLFactory;
 import javax.wsdl.xml.WSDLReader;
 
 import javax.xml.namespace.QName;
+import javax.xml.rpc.handler.Handler;
 import javax.xml.rpc.handler.HandlerChain;
 import javax.xml.rpc.handler.HandlerInfo;
 import javax.xml.rpc.handler.HandlerRegistry;
@@ -355,7 +356,11 @@ public class ServiceRefFactory
     private void initHandlerChain(QName portName, HandlerRegistry 
handlerRegistry,
             HandlerInfo handlerInfo, ArrayList<String> soaprolesToAdd) {
         HandlerChain handlerChain = (HandlerChain) 
handlerRegistry.getHandlerChain(portName);
-        handlerChain.add(handlerInfo);
+        Iterator<Handler> iter = handlerChain.iterator();
+        while (iter.hasNext()) {
+            Handler handler = iter.next();
+            handler.init(handlerInfo);
+        }
         String[] soaprolesRegistered = handlerChain.getRoles();
         String [] soaproles = new String[soaprolesRegistered.length + 
soaprolesToAdd.size()];
         int i;

Modified: tomcat/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=961963&r1=961962&r2=961963&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Thu Jul  8 22:22:34 2010
@@ -56,6 +56,10 @@
         Add entryPoint support to the CSRF prevention filter. (markt)
       </add>
       <fix>
+        <bug>48297</bug>: Correctly initialise handler chain for web services
+        resources. (markt)
+      </fix>
+      <fix>
         <bug>49030</bug>: When initializing/starting/stopping connectors and
         one of them fails, do not ignore the others. (markt/kkolinko)
       </fix>



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to