[jbossws-commits] JBossWS SVN: r13515 - in stack/native/branches/jbossws-native-2.0.1.SP2_CP: src/main/java/org/jboss/ws/core and 6 other directories.

jbossws-commits at lists.jboss.org jbossws-commits at lists.jboss.org
Thu Dec 16 15:04:34 EST 2010


Author: bmaxwell
Date: 2010-12-16 15:04:23 -0500 (Thu, 16 Dec 2010)
New Revision: 13515

Modified:
   stack/native/branches/jbossws-native-2.0.1.SP2_CP/ant-import-tests/build-jars-jaxws.xml
   stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/java/org/jboss/ws/core/CommonClient.java
   stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/java/org/jboss/ws/core/jaxrpc/client/CallImpl.java
   stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/java/org/jboss/ws/core/jaxws/client/DispatchImpl.java
   stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/java/org/jboss/ws/core/jaxws/handler/HandlerDelegateJAXWS.java
   stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/java/org/jboss/ws/core/soap/NodeImpl.java
   stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/java/org/jboss/ws/core/soap/SOAPFactoryImpl.java
   stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/java/org/jboss/ws/extensions/xop/XOPContext.java
   stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/resources/standard-config/standard-jaxws-client-config.xml
   stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/resources/standard-config/standard-jaxws-endpoint-config.xml
Log:
[JBPAPP-5597] MTOM + WS-Security not working

Modified: stack/native/branches/jbossws-native-2.0.1.SP2_CP/ant-import-tests/build-jars-jaxws.xml
===================================================================
--- stack/native/branches/jbossws-native-2.0.1.SP2_CP/ant-import-tests/build-jars-jaxws.xml	2010-12-16 19:45:50 UTC (rev 13514)
+++ stack/native/branches/jbossws-native-2.0.1.SP2_CP/ant-import-tests/build-jars-jaxws.xml	2010-12-16 20:04:23 UTC (rev 13515)
@@ -393,7 +393,33 @@
         <include name="org/jboss/test/ws/jaxws/jbws1283/*.*" />
       </fileset>
     </jar>
-
+  	
+  	<!-- jaxws-jbws2014-->
+    <jar destfile="${tests.output.dir}/libs/jaxws-jbws2014-sign.jar">
+      <fileset dir="${tests.output.dir}/classes">
+        <include name="org/jboss/test/ws/jaxws/jbws2014/*.class"/>
+        <exclude name="org/jboss/test/ws/jaxws/jbws2014/*TestCase.class"/>
+      </fileset>
+      <metainf dir="${tests.output.dir}/resources/jaxws/jbws2014/sign/META-INF">
+        <include name="jboss-wsse-server.xml"/>
+      </metainf>
+         <metainf dir="${tests.output.dir}/resources/jaxws/jbws2014/">
+        <include name="wsse.*"/>
+      </metainf>
+    </jar>
+  	<jar destfile="${tests.output.dir}/libs/jaxws-jbws2014-encrypt.jar">
+      <fileset dir="${tests.output.dir}/classes">
+        <include name="org/jboss/test/ws/jaxws/jbws2014/*.class"/>
+        <exclude name="org/jboss/test/ws/jaxws/jbws2014/*TestCase.class"/>
+      </fileset>
+      <metainf dir="${tests.output.dir}/resources/jaxws/jbws2014/encrypt/META-INF">
+        <include name="jboss-wsse-server.xml"/>
+      </metainf>
+         <metainf dir="${tests.output.dir}/resources/jaxws/jbws2014/">
+        <include name="wsse.*"/>
+      </metainf>
+    </jar>
+    
     <!-- jaxws-jbws1422 -->
     <jar destfile="${tests.output.dir}/libs/jaxws-jbws1422.jar">
       <fileset dir="${tests.output.dir}/classes">

Modified: stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/java/org/jboss/ws/core/CommonClient.java
===================================================================
--- stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/java/org/jboss/ws/core/CommonClient.java	2010-12-16 19:45:50 UTC (rev 13514)
+++ stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/java/org/jboss/ws/core/CommonClient.java	2010-12-16 20:04:23 UTC (rev 13515)
@@ -54,6 +54,7 @@
 import org.jboss.ws.core.soap.UnboundHeader;
 import org.jboss.ws.core.utils.HolderUtils;
 import org.jboss.ws.extensions.addressing.AddressingConstantsImpl;
+import org.jboss.ws.extensions.xop.XOPContext;
 import org.jboss.ws.metadata.umdm.ClientEndpointMetaData;
 import org.jboss.ws.metadata.umdm.EndpointMetaData;
 import org.jboss.ws.metadata.umdm.OperationMetaData;
@@ -298,6 +299,8 @@
          boolean handlerPass = callRequestHandlerChain(portName, handlerType[0]);
          handlerPass = handlerPass && callRequestHandlerChain(portName, handlerType[1]);
          handlerPass = handlerPass && callRequestHandlerChain(portName, handlerType[2]);
+         
+         XOPContext.visitAndRestoreXOPData();
 
          // Handlers might have replaced the message
          reqMessage = msgContext.getMessageAbstraction();

Modified: stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/java/org/jboss/ws/core/jaxrpc/client/CallImpl.java
===================================================================
--- stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/java/org/jboss/ws/core/jaxrpc/client/CallImpl.java	2010-12-16 19:45:50 UTC (rev 13514)
+++ stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/java/org/jboss/ws/core/jaxrpc/client/CallImpl.java	2010-12-16 20:04:23 UTC (rev 13515)
@@ -560,12 +560,7 @@
    {
       SOAPMessageContextJAXRPC msgContext = (SOAPMessageContextJAXRPC)MessageContextAssociation.peekMessageContext();
       HandlerChainBaseImpl handlerChain = (HandlerChainBaseImpl)jaxrpcService.getHandlerChain(portName);
-      boolean status = (handlerChain != null ? handlerChain.handleRequest(msgContext, type) : true);
-
-      if (type == HandlerType.ENDPOINT)
-         XOPContext.visitAndRestoreXOPData();
-
-      return status;
+      return (handlerChain != null ? handlerChain.handleRequest(msgContext, type) : true);
    }
 
    @Override

Modified: stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/java/org/jboss/ws/core/jaxws/client/DispatchImpl.java
===================================================================
--- stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/java/org/jboss/ws/core/jaxws/client/DispatchImpl.java	2010-12-16 19:45:50 UTC (rev 13514)
+++ stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/java/org/jboss/ws/core/jaxws/client/DispatchImpl.java	2010-12-16 20:04:23 UTC (rev 13515)
@@ -70,6 +70,7 @@
 import org.jboss.ws.core.jaxws.handler.SOAPMessageContextJAXWS;
 import org.jboss.ws.core.soap.MessageContextAssociation;
 import org.jboss.ws.core.soap.SOAPMessageImpl;
+import org.jboss.ws.extensions.xop.XOPContext;
 import org.jboss.ws.metadata.config.ConfigurationProvider;
 import org.jboss.ws.metadata.umdm.ClientEndpointMetaData;
 import org.jboss.ws.metadata.umdm.EndpointConfigMetaData;
@@ -226,6 +227,8 @@
          handlerPass = handlerPass && callRequestHandlerChain(portName, handlerType[1]);
          handlerPass = handlerPass && callRequestHandlerChain(portName, handlerType[2]);
 
+         XOPContext.visitAndRestoreXOPData();
+         
          // Handlers might have replaced the message
          reqMsg = (SOAPMessageImpl)msgContext.getSOAPMessage();
 

Modified: stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/java/org/jboss/ws/core/jaxws/handler/HandlerDelegateJAXWS.java
===================================================================
--- stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/java/org/jboss/ws/core/jaxws/handler/HandlerDelegateJAXWS.java	2010-12-16 19:45:50 UTC (rev 13514)
+++ stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/java/org/jboss/ws/core/jaxws/handler/HandlerDelegateJAXWS.java	2010-12-16 20:04:23 UTC (rev 13515)
@@ -28,13 +28,17 @@
 import java.util.Set;
 
 import javax.xml.namespace.QName;
+import javax.xml.soap.SOAPMessage;
 import javax.xml.ws.handler.Handler;
 import javax.xml.ws.handler.MessageContext;
 import javax.xml.ws.handler.PortInfo;
 
 import org.jboss.logging.Logger;
+import org.jboss.ws.core.CommonMessageContext;
+import org.jboss.ws.core.MessageAbstraction;
 import org.jboss.ws.core.server.ServerHandlerDelegate;
 import org.jboss.ws.core.soap.MessageContextAssociation;
+import org.jboss.ws.extensions.xop.XOPContext;
 import org.jboss.ws.metadata.umdm.EndpointConfigMetaData;
 import org.jboss.ws.metadata.umdm.EndpointMetaData;
 import org.jboss.ws.metadata.umdm.ServerEndpointMetaData;
@@ -100,7 +104,13 @@
       log.debug("callResponseHandlerChain: " + type);
       HandlerChainExecutor executor = getExecutor(type);
       MessageContext msgContext = (MessageContext)MessageContextAssociation.peekMessageContext();
-      return (executor != null ? executor.handleMessage(msgContext) : true);
+      boolean status = (executor != null ? executor.handleMessage(msgContext) : true);
+
+      MessageAbstraction msg = ((CommonMessageContext)msgContext).getMessageAbstraction();
+      if (msg instanceof SOAPMessage)
+         XOPContext.visitAndRestoreXOPData();
+      
+      return status;
    }
 
    public void closeHandlerChain(ServerEndpointMetaData sepMetaData, HandlerType type)
@@ -120,7 +130,13 @@
       log.debug("callFaultHandlerChain: " + type);
       HandlerChainExecutor executor = getExecutor(type);
       MessageContext msgContext = (MessageContext)MessageContextAssociation.peekMessageContext();
-      return (executor != null ? executor.handleFault(msgContext, ex) : true);
+      boolean status = (executor != null ? executor.handleFault(msgContext, ex) : true);
+
+      MessageAbstraction msg = ((CommonMessageContext)msgContext).getMessageAbstraction();
+      if (msg instanceof SOAPMessage)
+         XOPContext.visitAndRestoreXOPData();
+                  
+      return status;
    }
 
    private List<Handler> getHandlerChain(EndpointMetaData epMetaData, HandlerType type)

Modified: stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/java/org/jboss/ws/core/soap/NodeImpl.java
===================================================================
--- stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/java/org/jboss/ws/core/soap/NodeImpl.java	2010-12-16 19:45:50 UTC (rev 13514)
+++ stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/java/org/jboss/ws/core/soap/NodeImpl.java	2010-12-16 20:04:23 UTC (rev 13515)
@@ -22,8 +22,10 @@
 package org.jboss.ws.core.soap;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Map;
 
 import javax.xml.soap.SOAPElement;
 import javax.xml.soap.SOAPException;
@@ -66,6 +68,8 @@
    protected org.w3c.dom.Node domNode;
    // A list of soap children
    private List<NodeImpl> soapChildren = new ArrayList<NodeImpl>();
+   // A hash with the user data
+   private Map<String, Object> userData;
 
    /** Construct the Node for a given org.w3c.dom.Node
     *
@@ -612,8 +616,11 @@
 
    public Object getUserData(String key)
    {
-      // FIXME getUserData
-      throw new NotImplementedException("getUserData");
+      if (userData != null)
+      {
+         return userData.get(key);
+      }
+      return null;
    }
 
    public boolean isDefaultNamespace(String namespaceURI)
@@ -662,8 +669,11 @@
 
    public Object setUserData(String key, Object data, UserDataHandler handler)
    {
-      // FIXME setUserData
-      throw new NotImplementedException("setUserData");
+      if (userData == null)
+      {
+         userData = new HashMap<String, Object>();
+      }
+      return userData.put(key, data);
    }
 
    // END org.w3c.dom.Node DOM Level 3 *****************************************************************************

Modified: stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/java/org/jboss/ws/core/soap/SOAPFactoryImpl.java
===================================================================
--- stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/java/org/jboss/ws/core/soap/SOAPFactoryImpl.java	2010-12-16 19:45:50 UTC (rev 13514)
+++ stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/java/org/jboss/ws/core/soap/SOAPFactoryImpl.java	2010-12-16 20:04:23 UTC (rev 13515)
@@ -33,6 +33,8 @@
 import javax.xml.soap.SOAPFault;
 
 import org.jboss.logging.Logger;
+import org.jboss.ws.Constants;
+import org.jboss.ws.extensions.xop.XOPContext;
 import org.jboss.wsf.common.DOMUtils;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
@@ -136,6 +138,8 @@
             {
                SOAPElement soapChild = createElement((Element)child);
                soapElement.addChildElement(soapChild);
+               if (Constants.NAME_XOP_INCLUDE.equals(soapChild.getElementQName()))
+                  XOPContext.inlineXOPData(soapChild);
             }
             else if (nodeType == Node.TEXT_NODE)
             {

Modified: stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/java/org/jboss/ws/extensions/xop/XOPContext.java
===================================================================
--- stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/java/org/jboss/ws/extensions/xop/XOPContext.java	2010-12-16 19:45:50 UTC (rev 13514)
+++ stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/java/org/jboss/ws/extensions/xop/XOPContext.java	2010-12-16 20:04:23 UTC (rev 13515)
@@ -72,6 +72,8 @@
    private static final Logger log = Logger.getLogger(XOPContext.class);
 
    private static final String NS_XOP_JBOSSWS = "http://org.jboss.ws/xop";
+   
+   private static final String NS_XOP_JBOSSWS_CONTENT_TYPE = NS_XOP_JBOSSWS + ":content-type";
 
    /**
     * Check if the current soap message flagged as a XOP package.
@@ -258,11 +260,11 @@
     */
    public static void restoreXOPDataDOM(SOAPElement xopElement)
    {
-      String contentType = xopElement.getAttributeNS(NS_XOP_JBOSSWS, "content-type");
+      String contentType = (String)xopElement.getUserData(NS_XOP_JBOSSWS_CONTENT_TYPE);
       if (contentType != null && contentType.length() > 0)
       {
          replaceBase64Representation(xopElement, contentType);
-         xopElement.removeAttribute(new NameImpl(new QName(NS_XOP_JBOSSWS, "content-type")));
+         xopElement.setUserData(NS_XOP_JBOSSWS_CONTENT_TYPE, null, null);
       }
       else
       {
@@ -345,7 +347,7 @@
       String base64 = SimpleTypeBindings.marshalBase64(data);
       parent.removeChild(xopIncludeElement);
       parent.setValue(base64);
-      parent.setAttributeNS(NS_XOP_JBOSSWS, "content-type", contentType);
+      parent.setUserData(NS_XOP_JBOSSWS_CONTENT_TYPE, contentType, null);
 
       if (log.isDebugEnabled())
          log.debug("Created base64 representation for content-type " + contentType);

Modified: stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/resources/standard-config/standard-jaxws-client-config.xml
===================================================================
--- stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/resources/standard-config/standard-jaxws-client-config.xml	2010-12-16 19:45:50 UTC (rev 13514)
+++ stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/resources/standard-config/standard-jaxws-client-config.xml	2010-12-16 20:04:23 UTC (rev 13515)
@@ -36,7 +36,7 @@
     <config-name>Standard WSSecurity Client</config-name>
     <post-handler-chains>
       <javaee:handler-chain>
-        <javaee:protocol-bindings>##SOAP11_HTTP</javaee:protocol-bindings>
+        <javaee:protocol-bindings>##SOAP11_HTTP ##SOAP11_HTTP_MTOM</javaee:protocol-bindings>
         <javaee:handler>
           <javaee:handler-name>WSSecurityHandlerOutbound</javaee:handler-name>
           <javaee:handler-class>org.jboss.ws.extensions.security.jaxws.WSSecurityHandlerClient</javaee:handler-class>

Modified: stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/resources/standard-config/standard-jaxws-endpoint-config.xml
===================================================================
--- stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/resources/standard-config/standard-jaxws-endpoint-config.xml	2010-12-16 19:45:50 UTC (rev 13514)
+++ stack/native/branches/jbossws-native-2.0.1.SP2_CP/src/main/resources/standard-config/standard-jaxws-endpoint-config.xml	2010-12-16 20:04:23 UTC (rev 13515)
@@ -35,7 +35,7 @@
     <config-name>Standard WSSecurity Endpoint</config-name>
     <post-handler-chains>
       <javaee:handler-chain>
-        <javaee:protocol-bindings>##SOAP11_HTTP</javaee:protocol-bindings>
+        <javaee:protocol-bindings>##SOAP11_HTTP ##SOAP11_HTTP_MTOM</javaee:protocol-bindings>
         <javaee:handler>
           <javaee:handler-name>WSSecurity Handler</javaee:handler-name>
           <javaee:handler-class>org.jboss.ws.extensions.security.jaxws.WSSecurityHandlerServer</javaee:handler-class>



More information about the jbossws-commits mailing list