Author: thomas.diesler(a)jboss.com
Date: 2006-11-14 14:58:59 -0500 (Tue, 14 Nov 2006)
New Revision: 1427
Modified:
branches/jbossws-1.0/src/main/java/org/jboss/ws/common/CommonSOAPBinding.java
branches/jbossws-1.0/src/main/java/org/jboss/ws/metadata/OperationMetaData.java
branches/jbossws-1.0/src/main/resources/schema/jaxrpc-config_2_0.xsd
Log:
Disable MTOM for rpc/encoded
Modified: branches/jbossws-1.0/src/main/java/org/jboss/ws/common/CommonSOAPBinding.java
===================================================================
---
branches/jbossws-1.0/src/main/java/org/jboss/ws/common/CommonSOAPBinding.java 2006-11-14
18:57:35 UTC (rev 1426)
+++
branches/jbossws-1.0/src/main/java/org/jboss/ws/common/CommonSOAPBinding.java 2006-11-14
19:58:59 UTC (rev 1427)
@@ -58,7 +58,9 @@
import org.jboss.ws.binding.UnboundHeader;
import org.jboss.ws.jaxrpc.ParameterWrapping;
import org.jboss.ws.jaxrpc.SOAPFaultExceptionHelper;
+import org.jboss.ws.jaxrpc.StubExt;
import org.jboss.ws.jaxrpc.Style;
+import org.jboss.ws.jaxrpc.Use;
import org.jboss.ws.metadata.OperationMetaData;
import org.jboss.ws.metadata.ParameterMetaData;
import org.jboss.ws.metadata.TypesMetaData;
@@ -134,6 +136,10 @@
if (msgContext == null)
throw new WSException("MessageContext not available");
+ // Disable MTOM for rpc/encoded
+ if (opMetaData.isRPCEncoded())
+ msgContext.setProperty(StubExt.PROPERTY_MTOM_ENABLED, Boolean.FALSE);
+
// Associate current message with message context
SOAPMessageImpl reqMessage = (SOAPMessageImpl)createMessage(opMetaData);
msgContext.setSOAPMessage(reqMessage);
@@ -277,6 +283,10 @@
if (msgContext == null)
throw new WSException("MessageContext not available");
+ // Disable MTOM for rpc/encoded
+ if (opMetaData.isRPCEncoded())
+ msgContext.setProperty(StubExt.PROPERTY_MTOM_ENABLED, Boolean.FALSE);
+
// Get the namespace registry
NamespaceRegistry namespaceRegistry = msgContext.getNamespaceRegistry();
@@ -389,6 +399,10 @@
if (msgContext == null)
throw new WSException("MessageContext not available");
+ // Disable MTOM for rpc/encoded
+ if (opMetaData.isRPCEncoded())
+ msgContext.setProperty(StubExt.PROPERTY_MTOM_ENABLED, Boolean.FALSE);
+
// Associate current message with message context
SOAPMessageImpl resMessage = (SOAPMessageImpl)createMessage(opMetaData);
msgContext.setSOAPMessage(resMessage);
@@ -541,6 +555,10 @@
if (msgContext == null)
throw new WSException("MessageContext not available");
+ // Disable MTOM for rpc/encoded
+ if (opMetaData.isRPCEncoded())
+ msgContext.setProperty(StubExt.PROPERTY_MTOM_ENABLED, Boolean.FALSE);
+
SOAPHeader soapHeader = soapEnvelope.getHeader();
SOAPBody soapBody = soapEnvelope.getBody();
Iterator bodyChildren = soapBody.getChildElements();
Modified: branches/jbossws-1.0/src/main/java/org/jboss/ws/metadata/OperationMetaData.java
===================================================================
---
branches/jbossws-1.0/src/main/java/org/jboss/ws/metadata/OperationMetaData.java 2006-11-14
18:57:35 UTC (rev 1426)
+++
branches/jbossws-1.0/src/main/java/org/jboss/ws/metadata/OperationMetaData.java 2006-11-14
19:58:59 UTC (rev 1427)
@@ -142,6 +142,11 @@
return getStyle() == Style.RPC && getUse() == Use.LITERAL;
}
+ public boolean isRPCEncoded()
+ {
+ return getStyle() == Style.RPC && getUse() == Use.ENCODED;
+ }
+
public boolean isDocumentBare()
{
return getStyle() == Style.DOCUMENT && getParameterStyle() ==
ParameterStyle.BARE;
Modified: branches/jbossws-1.0/src/main/resources/schema/jaxrpc-config_2_0.xsd
===================================================================
--- branches/jbossws-1.0/src/main/resources/schema/jaxrpc-config_2_0.xsd 2006-11-14
18:57:35 UTC (rev 1426)
+++ branches/jbossws-1.0/src/main/resources/schema/jaxrpc-config_2_0.xsd 2006-11-14
19:58:59 UTC (rev 1427)
@@ -1,78 +1,82 @@
<?xml version="1.0" encoding="UTF-8"?>
-<xsd:schema
xmlns="http://www.w3.org/2001/XMLSchema"
- targetNamespace="urn:jboss:jaxrpc-config:2.0"
- xmlns:tns="urn:jboss:jaxrpc-config:2.0"
-
xmlns:jbxb="http://www.jboss.org/xml/ns/jbxb"
-
xmlns:j2ee="http://java.sun.com/xml/ns/j2ee"
-
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- elementFormDefault="qualified" attributeFormDefault="unqualified"
version="1.1">
-
- <xsd:annotation>
- <xsd:documentation>
- <![CDATA[
+<xsd:schema
xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="urn:jboss:jaxrpc-config:2.0"
xmlns:tns="urn:jboss:jaxrpc-config:2.0"
+
xmlns:jbxb="http://www.jboss.org/xml/ns/jbxb"
xmlns:j2ee="http://java.sun.com/xml/ns/j2ee"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
+ attributeFormDefault="unqualified" version="1.1">
+
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
This is the schema definition for JBossWS configurations JAXRPC.
It relies on the handler definitions that are part of the standard J2EE-1.4
deployment descriptors.
]]>
- </xsd:documentation>
- </xsd:annotation>
-
- <xsd:import
namespace="http://java.sun.com/xml/ns/j2ee"
schemaLocation="j2ee_web_services_1_1.xsd"/>
-
- <xsd:complexType name="jaxrpcConfigType">
- <xsd:annotation>
- <xsd:appinfo>
- <jbxb:class impl="org.jboss.ws.metadata.config.WSConfig"/>
- </xsd:appinfo>
- </xsd:annotation>
- <xsd:choice>
- <xsd:element name="endpoint-config"
type="tns:endpointConfigType" minOccurs="0"
maxOccurs="unbounded"/>
- <xsd:element name="client-config" type="tns:clientConfigType"
minOccurs="0" maxOccurs="unbounded"/>
- </xsd:choice>
- </xsd:complexType>
-
- <xsd:element name="jaxrpc-config"
type="tns:jaxrpcConfigType"/>
-
- <xsd:complexType name="endpointConfigType">
- <xsd:annotation>
- <xsd:appinfo>
- <jbxb:class impl="org.jboss.ws.metadata.config.WSEndpointConfig"/>
- </xsd:appinfo>
- </xsd:annotation>
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:import
namespace="http://java.sun.com/xml/ns/j2ee"
schemaLocation="j2ee_web_services_1_1.xsd"/>
+
+ <xsd:complexType name="jaxrpcConfigType">
+ <xsd:annotation>
+ <xsd:appinfo>
+ <jbxb:class impl="org.jboss.ws.metadata.config.WSConfig"/>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:choice>
+ <xsd:element name="endpoint-config"
type="tns:endpointConfigType" minOccurs="0"
maxOccurs="unbounded"/>
+ <xsd:element name="client-config"
type="tns:clientConfigType" minOccurs="0"
maxOccurs="unbounded"/>
+ </xsd:choice>
+ </xsd:complexType>
+
+ <xsd:element name="jaxrpc-config"
type="tns:jaxrpcConfigType"/>
+
+ <xsd:complexType name="endpointConfigType">
+ <xsd:annotation>
+ <xsd:appinfo>
+ <jbxb:class
impl="org.jboss.ws.metadata.config.WSEndpointConfig"/>
+ </xsd:appinfo>
+ </xsd:annotation>
<xsd:complexContent>
<xsd:extension base="tns:commonConfigType"/>
</xsd:complexContent>
- </xsd:complexType>
-
- <xsd:complexType name="clientConfigType">
- <xsd:annotation>
- <xsd:appinfo>
- <jbxb:class impl="org.jboss.ws.metadata.config.WSClientConfig"/>
- </xsd:appinfo>
- </xsd:annotation>
+ </xsd:complexType>
+
+ <xsd:complexType name="clientConfigType">
+ <xsd:annotation>
+ <xsd:appinfo>
+ <jbxb:class impl="org.jboss.ws.metadata.config.WSClientConfig"/>
+ </xsd:appinfo>
+ </xsd:annotation>
<xsd:complexContent>
<xsd:extension base="tns:commonConfigType"/>
</xsd:complexContent>
- </xsd:complexType>
-
- <xsd:complexType name="commonConfigType">
- <xsd:sequence>
- <xsd:element name="config-name" type="xsd:string"/>
- <xsd:element name="pre-handler-chain"
type="tns:handlerChainType" minOccurs="0"/>
- <xsd:element name="post-handler-chain"
type="tns:handlerChainType" minOccurs="0"/>
- </xsd:sequence>
- </xsd:complexType>
-
- <xsd:complexType name="handlerChainType">
- <xsd:annotation>
- <xsd:appinfo>
- <jbxb:class
impl="org.jboss.ws.metadata.config.WSHandlerChainConfig"/>
- </xsd:appinfo>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:element name="handler-chain-name" type="xsd:string"/>
- <xsd:element name="handler"
type="j2ee:port-component_handlerType" minOccurs="0"
maxOccurs="unbounded"/>
- </xsd:sequence>
- </xsd:complexType>
-
+ </xsd:complexType>
+
+ <xsd:complexType name="commonConfigType">
+ <xsd:sequence>
+ <xsd:element name="config-name" type="xsd:string"/>
+ <xsd:element name="pre-handler-chain"
type="tns:handlerChainType" minOccurs="0"/>
+ <xsd:element name="post-handler-chain"
type="tns:handlerChainType" minOccurs="0"/>
+ <xsd:element name="property" type="tns:propertyType"
minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="handlerChainType">
+ <xsd:annotation>
+ <xsd:appinfo>
+ <jbxb:class
impl="org.jboss.ws.metadata.config.WSHandlerChainConfig"/>
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="handler-chain-name"
type="xsd:string"/>
+ <xsd:element name="handler"
type="j2ee:port-component_handlerType" minOccurs="0"
maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="propertyType">
+ <xsd:sequence>
+ <xsd:element name="property-name" type="xsd:string"/>
+ <xsd:element name="property-value" type="xsd:string"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
</xsd:schema>
\ No newline at end of file