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 2013/06/07 15:36:19 UTC

svn commit: r1490642 [4/6] - in /cxf/trunk: api/ api/src/main/java/org/apache/cxf/binding/ api/src/main/java/org/apache/cxf/common/classloader/ api/src/main/java/org/apache/cxf/common/jaxb/ api/src/main/java/org/apache/cxf/common/util/ api/src/main/jav...

Modified: cxf/trunk/rt/transports/http/src/main/resources/schemas/wsdl/http-conf.xsd
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/http/src/main/resources/schemas/wsdl/http-conf.xsd?rev=1490642&r1=1490641&r2=1490642&view=diff
==============================================================================
--- cxf/trunk/rt/transports/http/src/main/resources/schemas/wsdl/http-conf.xsd (original)
+++ cxf/trunk/rt/transports/http/src/main/resources/schemas/wsdl/http-conf.xsd Fri Jun  7 13:36:13 2013
@@ -44,351 +44,345 @@
         <xs:annotation>
             <xs:documentation>Properties used for configuring a server-side HTTP prort</xs:documentation>
         </xs:annotation>
+        <xs:sequence></xs:sequence>
 
-        <xs:complexContent>
-            <xs:extension base="wsdl:tExtensibilityElement">
-
-                <xs:attribute name="ReceiveTimeout" type="xs:unsignedInt" use="optional" default="30000">
-                    <xs:annotation>
-                        <xs:documentation>
-                        Receive timeout in milliseconds, 0 is infinite
-                        </xs:documentation>
-                    </xs:annotation>      
-                </xs:attribute>
-
-                <xs:attribute name="SuppressClientSendErrors" type="xs:boolean" use="optional" default="false">
-                    <xs:annotation>
-                        <xs:documentation>
-                        When set to false, exceptions will be thrown when an error is encountered 
-                        receiving a request from the client.  When set to true these errors will 
-                        be suppressed. The default is false.
-                        </xs:documentation>
-                    </xs:annotation>      
-                </xs:attribute>
-
-                <xs:attribute name="SuppressClientReceiveErrors" type="xs:boolean" use="optional" default="false">
-                    <xs:annotation>
-                        <xs:documentation>
-                        When set to false, exceptions will be thrown when an error is encountered 
-                        sending a reply from to client.  When set to true these errors will be 
-                        suppressed. The default is false.
-                        </xs:documentation>
-                    </xs:annotation>      
-                </xs:attribute>
-
-                <xs:attribute name="HonorKeepAlive" type="xs:boolean" use="optional" default="true">
-                    <xs:annotation>
-                        <xs:documentation>
-                        When set to true, the request socket will remain open after the reply is 
-                        sent to the client, if the client has requested keep-alive and is using 
-                        at least version 1.1 of HTTP.  If set to false, the socket will be closed 
-                        after each reply is sent, even if the client requests the server to keep 
-                        the connection alive.  Keep-Alive improves performance for the client 
-                        requesting such behavior, but can limit overall scalability of the server 
-                        for handling many clients. The Default is true.
-                        </xs:documentation>
-                    </xs:annotation>      
-                </xs:attribute>
-                <xs:attribute name="KeepAliveParameters" type="xs:string" use="optional">
-                    <xs:annotation>
-                        <xs:documentation>
-                        If KeepAlive connections are turned on, this allows sending additional
-                        parameters back to the client via the Keep-Alive header.   Common 
-                        parameters are timeout and max to specify how long the client should
-                        hold open the connection and how many connections to hold open.   Different
-                        clients may have different defaults.   For Java HTTPUrlConnection, the 
-                        defaults would be timeout=5, max=5
-                                                
-                        Example:  timeout=60, max=5;
-                        </xs:documentation>
-                    </xs:annotation>      
-                </xs:attribute>
-                
-                <xs:attribute name="RedirectURL" type="xs:string" use="optional">
-                    <xs:annotation>
-                        <xs:documentation>
-                        A URL to which clients are redirected (if the ReplyCode and ReplyDescription 
-                        are not set, ReplyCode will be set to 302, and  ReplyDescription will be set 
-                        to 'Object Moved').
-                        </xs:documentation>
-                    </xs:annotation>      
-                </xs:attribute>
-
-                <xs:attribute name="CacheControl" type="xs:string" use="optional">
-                    <xs:annotation>
-                        <xs:documentation>
-                        Most commonly used to specify no-cache, however the standard supports a 
-                        dozen or so caching related directives for responses. 
-                        </xs:documentation>
-                    </xs:annotation>      
-
-                </xs:attribute>
-
-                <xs:attribute name="ContentLocation" type="xs:string" use="optional">
-                    <xs:annotation>
-                        <xs:documentation>
-                        Specifies the URL representing the resource used to satisfy the request(e.g., to inform that default.htm document was used.)
-                        </xs:documentation>
-                    </xs:annotation>      
-                </xs:attribute>
-
-                <xs:attribute name="ContentType" type="xs:string" use="optional">
-                    <xs:annotation>
-                        <xs:documentation>
-                        Specifies the MIME type used for responses.  The default is set by the binding.
-                        </xs:documentation>
-                    </xs:annotation>      
-                </xs:attribute>
-
-                <xs:attribute name="ContentEncoding" type="xs:string" use="optional">
-                    <xs:annotation>
-                        <xs:documentation>
-                        Specifies any additional encoding applied to the response. Values are specified using IANA labels.
-                        </xs:documentation>
-                    </xs:annotation>      
-                </xs:attribute>
-
-                <xs:attribute name="ServerType" type="xs:string" use="optional">
-                    <xs:annotation>
-                        <xs:documentation>
-                        Specifies an optional value for the HTTP ServerType property.
-                        </xs:documentation>
-                    </xs:annotation>      
-                </xs:attribute>
-            </xs:extension>
-        </xs:complexContent>
+        <xs:attribute name="ReceiveTimeout" type="xs:unsignedInt" use="optional" default="30000">
+            <xs:annotation>
+                <xs:documentation>
+                Receive timeout in milliseconds, 0 is infinite
+                </xs:documentation>
+            </xs:annotation>      
+        </xs:attribute>
+
+        <xs:attribute name="SuppressClientSendErrors" type="xs:boolean" use="optional" default="false">
+            <xs:annotation>
+                <xs:documentation>
+                When set to false, exceptions will be thrown when an error is encountered 
+                receiving a request from the client.  When set to true these errors will 
+                be suppressed. The default is false.
+                </xs:documentation>
+            </xs:annotation>      
+        </xs:attribute>
+
+        <xs:attribute name="SuppressClientReceiveErrors" type="xs:boolean" use="optional" default="false">
+            <xs:annotation>
+                <xs:documentation>
+                When set to false, exceptions will be thrown when an error is encountered 
+                sending a reply from to client.  When set to true these errors will be 
+                suppressed. The default is false.
+                </xs:documentation>
+            </xs:annotation>      
+        </xs:attribute>
+
+        <xs:attribute name="HonorKeepAlive" type="xs:boolean" use="optional" default="true">
+            <xs:annotation>
+                <xs:documentation>
+                When set to true, the request socket will remain open after the reply is 
+                sent to the client, if the client has requested keep-alive and is using 
+                at least version 1.1 of HTTP.  If set to false, the socket will be closed 
+                after each reply is sent, even if the client requests the server to keep 
+                the connection alive.  Keep-Alive improves performance for the client 
+                requesting such behavior, but can limit overall scalability of the server 
+                for handling many clients. The Default is true.
+                </xs:documentation>
+            </xs:annotation>      
+        </xs:attribute>
+        <xs:attribute name="KeepAliveParameters" type="xs:string" use="optional">
+            <xs:annotation>
+                <xs:documentation>
+                If KeepAlive connections are turned on, this allows sending additional
+                parameters back to the client via the Keep-Alive header.   Common 
+                parameters are timeout and max to specify how long the client should
+                hold open the connection and how many connections to hold open.   Different
+                clients may have different defaults.   For Java HTTPUrlConnection, the 
+                defaults would be timeout=5, max=5
+                                        
+                Example:  timeout=60, max=5;
+                </xs:documentation>
+            </xs:annotation>      
+        </xs:attribute>
+        
+        <xs:attribute name="RedirectURL" type="xs:string" use="optional">
+            <xs:annotation>
+                <xs:documentation>
+                A URL to which clients are redirected (if the ReplyCode and ReplyDescription 
+                are not set, ReplyCode will be set to 302, and  ReplyDescription will be set 
+                to 'Object Moved').
+                </xs:documentation>
+            </xs:annotation>      
+        </xs:attribute>
+
+        <xs:attribute name="CacheControl" type="xs:string" use="optional">
+            <xs:annotation>
+                <xs:documentation>
+                Most commonly used to specify no-cache, however the standard supports a 
+                dozen or so caching related directives for responses. 
+                </xs:documentation>
+            </xs:annotation>      
+
+        </xs:attribute>
+
+        <xs:attribute name="ContentLocation" type="xs:string" use="optional">
+            <xs:annotation>
+                <xs:documentation>
+                Specifies the URL representing the resource used to satisfy the request(e.g., to inform that default.htm document was used.)
+                </xs:documentation>
+            </xs:annotation>      
+        </xs:attribute>
+
+        <xs:attribute name="ContentType" type="xs:string" use="optional">
+            <xs:annotation>
+                <xs:documentation>
+                Specifies the MIME type used for responses.  The default is set by the binding.
+                </xs:documentation>
+            </xs:annotation>      
+        </xs:attribute>
+
+        <xs:attribute name="ContentEncoding" type="xs:string" use="optional">
+            <xs:annotation>
+                <xs:documentation>
+                Specifies any additional encoding applied to the response. Values are specified using IANA labels.
+                </xs:documentation>
+            </xs:annotation>      
+        </xs:attribute>
+
+        <xs:attribute name="ServerType" type="xs:string" use="optional">
+            <xs:annotation>
+                <xs:documentation>
+                Specifies an optional value for the HTTP ServerType property.
+                </xs:documentation>
+            </xs:annotation>      
+        </xs:attribute>
+        <xs:anyAttribute namespace="http://schemas.xmlsoap.org/wsdl/"/>
+        
     </xs:complexType>
 
     <xs:complexType name="HTTPClientPolicy">
         <xs:annotation>
             <xs:documentation>Properties used to configure a client-side HTTP port</xs:documentation>
         </xs:annotation>
-
-        <xs:complexContent>
-            <xs:extension base="wsdl:tExtensibilityElement">
-
-                <xs:attribute name="ConnectionTimeout" type="ptp:ParameterizedUInt" use="optional" default="30000">
-                    <xs:annotation>
-                        <xs:documentation>
-                        Specifies the amount of time, in milliseconds, that the consumer will attempt to establish a connection before it times out. 0 is infinite.
-                        </xs:documentation>
-                    </xs:annotation>      
-                </xs:attribute>
-
-                <xs:attribute name="ReceiveTimeout" type="ptp:ParameterizedUInt" use="optional" default="60000">
-                    <xs:annotation>
-                        <xs:documentation>
-                        Specifies the amount of time, in milliseconds, that the consumer will wait for a response before it times out. 0 is infinite.
-                        </xs:documentation>
-                    </xs:annotation>      
-                </xs:attribute>
-
-                <xs:attribute name="AsyncExecuteTimeout" type="ptp:ParameterizedUInt" use="optional" default="5000">
-                    <xs:annotation>
-                        <xs:documentation>
-                        Specifies the amount of time, in milliseconds, that a conduit will try and enqueue the response on the workqueue.
-                        </xs:documentation>
-                    </xs:annotation>      
-                </xs:attribute>
-                <xs:attribute name="AsyncExecuteTimeoutRejection" type="ptp:ParameterizedBoolean" use="optional" default="false">
-                    <xs:annotation>
-                        <xs:documentation>
-                        Specifies whether the conduit should throw and exception if it fails to enqueue the async response handling onto the workqueue. 
-                        By default, if the conduit fails to enqueue the response handling on the workqueue, it will process the response on the current thread.  Set this to true to raise and exception instead.  
-                        </xs:documentation>
-                    </xs:annotation>      
-                </xs:attribute>
-                
-                <xs:attribute name="AutoRedirect" type="ptp:ParameterizedBoolean" use="optional" default="false">
-                    <xs:annotation>
-                        <xs:documentation>
-                       Specifies if the consumer will automatically follow a server issued redirection.
-                        (name is not part of standard)
-                        </xs:documentation>
-                    </xs:annotation>      
-                </xs:attribute>
-
-                <xs:attribute name="MaxRetransmits" type="ptp:ParameterizedInt" use="optional" default="-1">
-                    <xs:annotation>
-                        <xs:documentation>
-                        Specifies the maximum amount of retransmits that are allowed for redirects. Retransmits for 
-                        authorization is included in the retransmit count. Each redirect may cause another 
-                        retransmit for a UNAUTHORIZED response code, ie. 401. 
-                        Any negative number indicates unlimited retransmits,
-                        although, loop protection is provided. 
-                        The default is unlimited. 
-                        (name is not part of standard)
-                        </xs:documentation>
-                    </xs:annotation>      
-                </xs:attribute>
-
-                <xs:attribute name="AllowChunking" type="ptp:ParameterizedBoolean" use="optional" default="true">
-                    <xs:annotation>
-                        <xs:documentation>
-                        If true, the client is free to use chunking streams if it wants, but it is not 
-                        required to use chunking streams. If false, the client 
-                        must use regular, non-chunked requests in all cases.
-                        </xs:documentation>
-                    </xs:annotation>      
-                </xs:attribute>
-                <xs:attribute name="ChunkingThreshold" type="ptp:ParameterizedInt" use="optional" default="4096">
-                    <xs:annotation>
-                        <xs:documentation>
-                        If AllowChunking is true, this sets the threshold at which messages start
-                        getting chunked. Messages under this limit do not get chunked.
-                        </xs:documentation>
-                    </xs:annotation>      
-                </xs:attribute>
-                <xs:attribute name="ChunkLength" type="ptp:ParameterizedInt" use="optional" default="-1">
-                    <xs:annotation>
-                        <xs:documentation>Specifies the chunk length for a HttpURLConnection. This value is used in java.net.HttpURLConnection.setChunkedStreamingMode(int chunklen). chunklen indicates the number of bytes to write in each chunk. If chunklen is less than or equal to zero, a default value will be used.</xs:documentation>
-                    </xs:annotation>
-                </xs:attribute>
-                <xs:attribute name="Accept" type="xs:string" use="optional">
-                    <xs:annotation>
-                        <xs:documentation>
-                        Specifies the MIME types the client is prepared to handle (e.g., HTML, JPEG, GIF, etc.)
-                        </xs:documentation>
-                    </xs:annotation>      
-                </xs:attribute>
-
-                <xs:attribute name="AcceptLanguage" type="xs:string" use="optional">
-                    <xs:annotation>
-                        <xs:documentation>
-                        Specifies the language the client desires (e.g., English, French, etc.)
-                        </xs:documentation>
-                    </xs:annotation>      
-                </xs:attribute>
-
-                <xs:attribute name="AcceptEncoding" type="xs:string" use="optional">
-                    <xs:annotation>
-                        <xs:documentation>
-                        Specifies the encoding the client is prepared to handle (e.g., gzip)
-                        </xs:documentation>
-                    </xs:annotation>      
-                </xs:attribute>
-
-                <xs:attribute name="ContentType" type="xs:string" use="optional">
-                    <xs:annotation>
-                        <xs:documentation>
-                        Specifies the content type of the stream being sent in a post request. 
-                        (this should be text/xml for web services, or can be set to 
-                        application/x-www-form-urlencoded if the client is sending form data).
-                        </xs:documentation>
-                    </xs:annotation>      
-                </xs:attribute>
-
-                <xs:attribute name="Host" type="xs:string" use="optional">
-                    <xs:annotation>
-                        <xs:documentation>
-                        Specifies the Internet host and port number of the resource on which the request is being invoked.
-                        This is sent by default based upon the URL. Certain DNS scenarios or
-                        application designs may request you to set this, but typically it is
-                        not required.
-                        </xs:documentation>
-                    </xs:annotation>      
-                </xs:attribute>
-
-                <xs:attribute name="Connection" type="http-conf:connectionType" use="optional" default="Keep-Alive">
-                    <xs:annotation>
-                        <xs:documentation>
-                        The connection disposition. If close the connection to the server is closed 
-                        after each request/response dialog. If Keep-Alive the client requests the server 
-                        to keep the connection open, and if the server honors the keep alive request, 
-                        the connection is reused. Many servers and proxies do not honor keep-alive requests.
-                        </xs:documentation>
-                    </xs:annotation>      
-
-                </xs:attribute>
-
-                <xs:attribute name="CacheControl" type="xs:string" use="optional">
-                    <xs:annotation>
-                        <xs:documentation>
-                        Most commonly used to specify no-cache, however the standard supports a 
-                        dozen or so caching related directives for requests 
-                        </xs:documentation>
-                    </xs:annotation>      
-
-                </xs:attribute>
-
-                <xs:attribute name="Cookie" type="xs:string" use="optional">
-                    <xs:annotation>
-                        <xs:documentation>
-                        Specifies a cookie to send to the server. Some stateful session designs will use cookies to identify a session.
-                        If the cookie is static, you can supply it here. If it is dynamic,
-                        it will need to be set by the server on first access, and can be handled
-                        automatically by the runtime.
-                        </xs:documentation>
-                    </xs:annotation>      
-                </xs:attribute>
-
-                <xs:attribute name="BrowserType" type="xs:string" use="optional">
-                    <xs:annotation>
-                        <xs:documentation>
-                        aka User-Agent
-                        Specifies the type of browser is sending the request. This is usually only 
-                        needed when sites have HTML customized to Netscape vs IE, etc, but can
-                        also be used to optimize for different SOAP stacks.
-                        </xs:documentation>
-                    </xs:annotation>      
-                </xs:attribute>
-
-                <xs:attribute name="Referer" type="xs:string" use="optional">
-                    <xs:annotation>
-                        <xs:documentation>
-                        Specifies the URL that referred us to this URL. This is 
-                        sent automatically with auto redirect.
-
-                        May allow the server to optimize processing based upon
-                        previous task flow.  However, typically not used in 
-                        web services applications.
-                        </xs:documentation>
-                    </xs:annotation>      
-                </xs:attribute>
-
-                <xs:attribute name="DecoupledEndpoint" type="xs:string" use="optional">
-                    <xs:annotation>
-                        <xs:documentation>
-                        Specifies the URL of a decoupled endpoint for the receipt of responses over a separate provider-&gt;consumer connection.
-                        </xs:documentation>
-                    </xs:annotation>      
-                </xs:attribute>
-
-                <!--Proxy server attributes-->
-                <xs:attribute name="ProxyServer" type="xs:string" use="optional">
-                    <xs:annotation>
-                        <xs:documentation>
-                        Specifies the address of proxy server if one is used.
-                        </xs:documentation>
-                    </xs:annotation>      
-                </xs:attribute>
-                <xs:attribute name="ProxyServerPort" type="ptp:ParameterizedInt" use="optional">
-                    <xs:annotation>
-                        <xs:documentation>
-                        Specifies the port number used by the proxy server.
-                        </xs:documentation>
-                    </xs:annotation>      
-                </xs:attribute>
-                <xs:attribute name="NonProxyHosts" type="xs:string" use="optional">
-                    <xs:annotation>
-                        <xs:documentation>
-                        Specifies the list of hostnames that will not use the proxy configuration.
-                        Examples of value:
-                          * "localhost" -> A single hostname
-                          * "localhost|www.google.com" -> 2 hostnames that will not use the proxy configuration
-                          * "localhost|www.google.*|*.apache.org" -> It's also possible to use a pattern-like value
-                        </xs:documentation>
-                    </xs:annotation>
-                </xs:attribute>
-                <xs:attribute name="ProxyServerType" type="http-conf:proxyServerType" use="optional" default="HTTP">
-                    <xs:annotation>
-                        <xs:documentation>
-                        Specifies the type of the proxy server. Can be either HTTP or SOCKS.
-                        </xs:documentation>
-                    </xs:annotation>      
-                </xs:attribute>
-            </xs:extension>
-        </xs:complexContent>
+        <xs:sequence/>
+        <xs:attribute name="ConnectionTimeout" type="ptp:ParameterizedUInt" use="optional" default="30000">
+            <xs:annotation>
+                <xs:documentation>
+                Specifies the amount of time, in milliseconds, that the consumer will attempt to establish a connection before it times out. 0 is infinite.
+                </xs:documentation>
+            </xs:annotation>      
+        </xs:attribute>
+
+        <xs:attribute name="ReceiveTimeout" type="ptp:ParameterizedUInt" use="optional" default="60000">
+            <xs:annotation>
+                <xs:documentation>
+                Specifies the amount of time, in milliseconds, that the consumer will wait for a response before it times out. 0 is infinite.
+                </xs:documentation>
+            </xs:annotation>      
+        </xs:attribute>
+
+        <xs:attribute name="AsyncExecuteTimeout" type="ptp:ParameterizedUInt" use="optional" default="5000">
+            <xs:annotation>
+                <xs:documentation>
+                Specifies the amount of time, in milliseconds, that a conduit will try and enqueue the response on the workqueue.
+                </xs:documentation>
+            </xs:annotation>      
+        </xs:attribute>
+        <xs:attribute name="AsyncExecuteTimeoutRejection" type="ptp:ParameterizedBoolean" use="optional" default="false">
+            <xs:annotation>
+                <xs:documentation>
+                Specifies whether the conduit should throw and exception if it fails to enqueue the async response handling onto the workqueue. 
+                By default, if the conduit fails to enqueue the response handling on the workqueue, it will process the response on the current thread.  Set this to true to raise and exception instead.  
+                </xs:documentation>
+            </xs:annotation>      
+        </xs:attribute>
+        
+        <xs:attribute name="AutoRedirect" type="ptp:ParameterizedBoolean" use="optional" default="false">
+            <xs:annotation>
+                <xs:documentation>
+               Specifies if the consumer will automatically follow a server issued redirection.
+                (name is not part of standard)
+                </xs:documentation>
+            </xs:annotation>      
+        </xs:attribute>
+
+        <xs:attribute name="MaxRetransmits" type="ptp:ParameterizedInt" use="optional" default="-1">
+            <xs:annotation>
+                <xs:documentation>
+                Specifies the maximum amount of retransmits that are allowed for redirects. Retransmits for 
+                authorization is included in the retransmit count. Each redirect may cause another 
+                retransmit for a UNAUTHORIZED response code, ie. 401. 
+                Any negative number indicates unlimited retransmits,
+                although, loop protection is provided. 
+                The default is unlimited. 
+                (name is not part of standard)
+                </xs:documentation>
+            </xs:annotation>      
+        </xs:attribute>
+
+        <xs:attribute name="AllowChunking" type="ptp:ParameterizedBoolean" use="optional" default="true">
+            <xs:annotation>
+                <xs:documentation>
+                If true, the client is free to use chunking streams if it wants, but it is not 
+                required to use chunking streams. If false, the client 
+                must use regular, non-chunked requests in all cases.
+                </xs:documentation>
+            </xs:annotation>      
+        </xs:attribute>
+        <xs:attribute name="ChunkingThreshold" type="ptp:ParameterizedInt" use="optional" default="4096">
+            <xs:annotation>
+                <xs:documentation>
+                If AllowChunking is true, this sets the threshold at which messages start
+                getting chunked. Messages under this limit do not get chunked.
+                </xs:documentation>
+            </xs:annotation>      
+        </xs:attribute>
+        <xs:attribute name="ChunkLength" type="ptp:ParameterizedInt" use="optional" default="-1">
+            <xs:annotation>
+                <xs:documentation>Specifies the chunk length for a HttpURLConnection. This value is used in java.net.HttpURLConnection.setChunkedStreamingMode(int chunklen). chunklen indicates the number of bytes to write in each chunk. If chunklen is less than or equal to zero, a default value will be used.</xs:documentation>
+            </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="Accept" type="xs:string" use="optional">
+            <xs:annotation>
+                <xs:documentation>
+                Specifies the MIME types the client is prepared to handle (e.g., HTML, JPEG, GIF, etc.)
+                </xs:documentation>
+            </xs:annotation>      
+        </xs:attribute>
+
+        <xs:attribute name="AcceptLanguage" type="xs:string" use="optional">
+            <xs:annotation>
+                <xs:documentation>
+                Specifies the language the client desires (e.g., English, French, etc.)
+                </xs:documentation>
+            </xs:annotation>      
+        </xs:attribute>
+
+        <xs:attribute name="AcceptEncoding" type="xs:string" use="optional">
+            <xs:annotation>
+                <xs:documentation>
+                Specifies the encoding the client is prepared to handle (e.g., gzip)
+                </xs:documentation>
+            </xs:annotation>      
+        </xs:attribute>
+
+        <xs:attribute name="ContentType" type="xs:string" use="optional">
+            <xs:annotation>
+                <xs:documentation>
+                Specifies the content type of the stream being sent in a post request. 
+                (this should be text/xml for web services, or can be set to 
+                application/x-www-form-urlencoded if the client is sending form data).
+                </xs:documentation>
+            </xs:annotation>      
+        </xs:attribute>
+
+        <xs:attribute name="Host" type="xs:string" use="optional">
+            <xs:annotation>
+                <xs:documentation>
+                Specifies the Internet host and port number of the resource on which the request is being invoked.
+                This is sent by default based upon the URL. Certain DNS scenarios or
+                application designs may request you to set this, but typically it is
+                not required.
+                </xs:documentation>
+            </xs:annotation>      
+        </xs:attribute>
+
+        <xs:attribute name="Connection" type="http-conf:connectionType" use="optional" default="Keep-Alive">
+            <xs:annotation>
+                <xs:documentation>
+                The connection disposition. If close the connection to the server is closed 
+                after each request/response dialog. If Keep-Alive the client requests the server 
+                to keep the connection open, and if the server honors the keep alive request, 
+                the connection is reused. Many servers and proxies do not honor keep-alive requests.
+                </xs:documentation>
+            </xs:annotation>      
+
+        </xs:attribute>
+
+        <xs:attribute name="CacheControl" type="xs:string" use="optional">
+            <xs:annotation>
+                <xs:documentation>
+                Most commonly used to specify no-cache, however the standard supports a 
+                dozen or so caching related directives for requests 
+                </xs:documentation>
+            </xs:annotation>      
+
+        </xs:attribute>
+
+        <xs:attribute name="Cookie" type="xs:string" use="optional">
+            <xs:annotation>
+                <xs:documentation>
+                Specifies a cookie to send to the server. Some stateful session designs will use cookies to identify a session.
+                If the cookie is static, you can supply it here. If it is dynamic,
+                it will need to be set by the server on first access, and can be handled
+                automatically by the runtime.
+                </xs:documentation>
+            </xs:annotation>      
+        </xs:attribute>
+
+        <xs:attribute name="BrowserType" type="xs:string" use="optional">
+            <xs:annotation>
+                <xs:documentation>
+                aka User-Agent
+                Specifies the type of browser is sending the request. This is usually only 
+                needed when sites have HTML customized to Netscape vs IE, etc, but can
+                also be used to optimize for different SOAP stacks.
+                </xs:documentation>
+            </xs:annotation>      
+        </xs:attribute>
+
+        <xs:attribute name="Referer" type="xs:string" use="optional">
+            <xs:annotation>
+                <xs:documentation>
+                Specifies the URL that referred us to this URL. This is 
+                sent automatically with auto redirect.
+
+                May allow the server to optimize processing based upon
+                previous task flow.  However, typically not used in 
+                web services applications.
+                </xs:documentation>
+            </xs:annotation>      
+        </xs:attribute>
+
+        <xs:attribute name="DecoupledEndpoint" type="xs:string" use="optional">
+            <xs:annotation>
+                <xs:documentation>
+                Specifies the URL of a decoupled endpoint for the receipt of responses over a separate provider-&gt;consumer connection.
+                </xs:documentation>
+            </xs:annotation>      
+        </xs:attribute>
+
+        <!--Proxy server attributes-->
+        <xs:attribute name="ProxyServer" type="xs:string" use="optional">
+            <xs:annotation>
+                <xs:documentation>
+                Specifies the address of proxy server if one is used.
+                </xs:documentation>
+            </xs:annotation>      
+        </xs:attribute>
+        <xs:attribute name="ProxyServerPort" type="ptp:ParameterizedInt" use="optional">
+            <xs:annotation>
+                <xs:documentation>
+                Specifies the port number used by the proxy server.
+                </xs:documentation>
+            </xs:annotation>      
+        </xs:attribute>
+        <xs:attribute name="NonProxyHosts" type="xs:string" use="optional">
+            <xs:annotation>
+                <xs:documentation>
+                Specifies the list of hostnames that will not use the proxy configuration.
+                Examples of value:
+                  * "localhost" -> A single hostname
+                  * "localhost|www.google.com" -> 2 hostnames that will not use the proxy configuration
+                  * "localhost|www.google.*|*.apache.org" -> It's also possible to use a pattern-like value
+                </xs:documentation>
+            </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="ProxyServerType" type="http-conf:proxyServerType" use="optional" default="HTTP">
+            <xs:annotation>
+                <xs:documentation>
+                Specifies the type of the proxy server. Can be either HTTP or SOCKS.
+                </xs:documentation>
+            </xs:annotation>      
+        </xs:attribute>
+        <xs:anyAttribute namespace="http://schemas.xmlsoap.org/wsdl/"/>
     </xs:complexType>
     
 

Modified: cxf/trunk/rt/transports/http/src/test/java/org/apache/cxf/transport/http/HTTPConduitTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/http/src/test/java/org/apache/cxf/transport/http/HTTPConduitTest.java?rev=1490642&r1=1490641&r2=1490642&view=diff
==============================================================================
--- cxf/trunk/rt/transports/http/src/test/java/org/apache/cxf/transport/http/HTTPConduitTest.java (original)
+++ cxf/trunk/rt/transports/http/src/test/java/org/apache/cxf/transport/http/HTTPConduitTest.java Fri Jun  7 13:36:13 2013
@@ -37,7 +37,7 @@ import org.apache.cxf.message.MessageImp
 import org.apache.cxf.service.model.EndpointInfo;
 import org.apache.cxf.transport.http.auth.HttpAuthSupplier;
 import org.apache.cxf.ws.addressing.EndpointReferenceType;
-import org.apache.cxf.wsdl.EndpointReferenceUtils;
+import org.apache.cxf.ws.addressing.EndpointReferenceUtils;
 
 import org.junit.After;
 import org.junit.Assert;

Modified: cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSDestination.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSDestination.java?rev=1490642&r1=1490641&r2=1490642&view=diff
==============================================================================
--- cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSDestination.java (original)
+++ cxf/trunk/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSDestination.java Fri Jun  7 13:36:13 2013
@@ -63,7 +63,7 @@ import org.apache.cxf.transport.MessageO
 import org.apache.cxf.transport.jms.continuations.JMSContinuation;
 import org.apache.cxf.transport.jms.continuations.JMSContinuationProvider;
 import org.apache.cxf.ws.addressing.EndpointReferenceType;
-import org.apache.cxf.wsdl.EndpointReferenceUtils;
+import org.apache.cxf.ws.addressing.EndpointReferenceUtils;
 import org.springframework.jms.connection.JmsResourceHolder;
 import org.springframework.jms.core.JmsTemplate;
 import org.springframework.jms.core.MessageCreator;

Modified: cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/impl/AddressingWSDLExtensionLoader.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/impl/AddressingWSDLExtensionLoader.java?rev=1490642&r1=1490641&r2=1490642&view=diff
==============================================================================
--- cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/impl/AddressingWSDLExtensionLoader.java (original)
+++ cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/impl/AddressingWSDLExtensionLoader.java Fri Jun  7 13:36:13 2013
@@ -19,7 +19,6 @@
 
 package org.apache.cxf.ws.addressing.impl;
 
-import javax.wsdl.extensions.ExtensibilityElement;
 import javax.xml.bind.JAXBException;
 
 import org.apache.cxf.Bus;
@@ -42,7 +41,7 @@ public final class AddressingWSDLExtensi
     }
     public void createExtensor(WSDLManager manager,
                                 Class<?> parentType,
-                                Class<? extends ExtensibilityElement> elementType) {
+                                Class<?> elementType) {
         try {
             JAXBExtensionHelper.addExtensions(manager.getExtensionRegistry(),
                                               parentType, 

Modified: cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/impl/InternalContextUtils.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/impl/InternalContextUtils.java?rev=1490642&r1=1490641&r2=1490642&view=diff
==============================================================================
--- cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/impl/InternalContextUtils.java (original)
+++ cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/impl/InternalContextUtils.java Fri Jun  7 13:36:13 2013
@@ -64,10 +64,10 @@ import org.apache.cxf.ws.addressing.Addr
 import org.apache.cxf.ws.addressing.AttributedURIType;
 import org.apache.cxf.ws.addressing.ContextUtils;
 import org.apache.cxf.ws.addressing.EndpointReferenceType;
+import org.apache.cxf.ws.addressing.EndpointReferenceUtils;
 import org.apache.cxf.ws.addressing.FaultAction;
 import org.apache.cxf.ws.addressing.JAXWSAConstants;
 import org.apache.cxf.ws.addressing.Names;
-import org.apache.cxf.wsdl.EndpointReferenceUtils;
 
 
 

Modified: cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/impl/MAPAggregatorImpl.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/impl/MAPAggregatorImpl.java?rev=1490642&r1=1490641&r2=1490642&view=diff
==============================================================================
--- cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/impl/MAPAggregatorImpl.java (original)
+++ cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/impl/MAPAggregatorImpl.java Fri Jun  7 13:36:13 2013
@@ -73,6 +73,7 @@ import org.apache.cxf.ws.addressing.Addr
 import org.apache.cxf.ws.addressing.AttributedURIType;
 import org.apache.cxf.ws.addressing.ContextUtils;
 import org.apache.cxf.ws.addressing.EndpointReferenceType;
+import org.apache.cxf.ws.addressing.EndpointReferenceUtils;
 import org.apache.cxf.ws.addressing.MAPAggregator;
 import org.apache.cxf.ws.addressing.Names;
 import org.apache.cxf.ws.addressing.VersionTransformer.Names200408;
@@ -81,8 +82,6 @@ import org.apache.cxf.ws.addressing.WSAd
 import org.apache.cxf.ws.addressing.policy.MetadataConstants;
 import org.apache.cxf.ws.policy.AssertionInfo;
 import org.apache.cxf.ws.policy.AssertionInfoMap;
-import org.apache.cxf.wsdl.EndpointReferenceUtils;
-
 
 /**
  * Logical Handler responsible for aggregating the Message Addressing 

Modified: cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/soap/MAPCodec.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/soap/MAPCodec.java?rev=1490642&r1=1490641&r2=1490642&view=diff
==============================================================================
--- cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/soap/MAPCodec.java (original)
+++ cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/soap/MAPCodec.java Fri Jun  7 13:36:13 2013
@@ -61,6 +61,7 @@ import org.apache.cxf.ws.addressing.Addr
 import org.apache.cxf.ws.addressing.AttributedURIType;
 import org.apache.cxf.ws.addressing.ContextUtils;
 import org.apache.cxf.ws.addressing.EndpointReferenceType;
+import org.apache.cxf.ws.addressing.EndpointReferenceUtils;
 import org.apache.cxf.ws.addressing.JAXWSAConstants;
 import org.apache.cxf.ws.addressing.MAPAggregator;
 import org.apache.cxf.ws.addressing.Names;
@@ -68,7 +69,6 @@ import org.apache.cxf.ws.addressing.Refe
 import org.apache.cxf.ws.addressing.RelatesToType;
 import org.apache.cxf.ws.addressing.VersionTransformer.Names200408;
 import org.apache.cxf.ws.addressing.impl.AddressingPropertiesImpl;
-import org.apache.cxf.wsdl.EndpointReferenceUtils;
 
 
 /**

Modified: cxf/trunk/rt/ws/addr/src/test/java/org/apache/cxf/ws/addressing/soap/MAPCodecTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/addr/src/test/java/org/apache/cxf/ws/addressing/soap/MAPCodecTest.java?rev=1490642&r1=1490641&r2=1490642&view=diff
==============================================================================
--- cxf/trunk/rt/ws/addr/src/test/java/org/apache/cxf/ws/addressing/soap/MAPCodecTest.java (original)
+++ cxf/trunk/rt/ws/addr/src/test/java/org/apache/cxf/ws/addressing/soap/MAPCodecTest.java Fri Jun  7 13:36:13 2013
@@ -44,12 +44,12 @@ import org.apache.cxf.message.MessageImp
 import org.apache.cxf.ws.addressing.AttributedURIType;
 import org.apache.cxf.ws.addressing.ContextUtils;
 import org.apache.cxf.ws.addressing.EndpointReferenceType;
+import org.apache.cxf.ws.addressing.EndpointReferenceUtils;
 import org.apache.cxf.ws.addressing.Names;
 import org.apache.cxf.ws.addressing.RelatesToType;
 import org.apache.cxf.ws.addressing.impl.AddressingPropertiesImpl;
 import org.apache.cxf.ws.addressing.v200408.AttributedURI;
 import org.apache.cxf.ws.addressing.v200408.Relationship;
-import org.apache.cxf.wsdl.EndpointReferenceUtils;
 import org.easymock.EasyMock;
 import org.easymock.IMocksControl;
 import org.junit.After;

Modified: cxf/trunk/rt/ws/policy/pom.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/policy/pom.xml?rev=1490642&r1=1490641&r2=1490642&view=diff
==============================================================================
--- cxf/trunk/rt/ws/policy/pom.xml (original)
+++ cxf/trunk/rt/ws/policy/pom.xml Fri Jun  7 13:36:13 2013
@@ -48,6 +48,10 @@
             <artifactId>org.osgi.core</artifactId>
         </dependency>
         <dependency>
+            <groupId>wsdl4j</groupId>
+            <artifactId>wsdl4j</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.springframework</groupId>
             <artifactId>spring-beans</artifactId>
             <scope>provided</scope>
@@ -81,6 +85,12 @@
             <version>${project.version}</version>
         </dependency>
         <dependency>
+            <groupId>org.apache.cxf</groupId>
+            <artifactId>cxf-rt-wsdl</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>org.apache.neethi</groupId>
             <artifactId>neethi</artifactId>
         </dependency>

Modified: cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/attachment/wsdl11/Wsdl11AttachmentPolicyProvider.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/attachment/wsdl11/Wsdl11AttachmentPolicyProvider.java?rev=1490642&r1=1490641&r2=1490642&view=diff
==============================================================================
--- cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/attachment/wsdl11/Wsdl11AttachmentPolicyProvider.java (original)
+++ cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/attachment/wsdl11/Wsdl11AttachmentPolicyProvider.java Fri Jun  7 13:36:13 2013
@@ -49,7 +49,6 @@ import org.apache.cxf.ws.policy.PolicyCo
 import org.apache.cxf.ws.policy.attachment.AbstractPolicyProvider;
 import org.apache.cxf.ws.policy.attachment.reference.LocalServiceModelReferenceResolver;
 import org.apache.cxf.ws.policy.attachment.reference.ReferenceResolver;
-import org.apache.cxf.wsdl11.WSDLServiceBuilder;
 import org.apache.neethi.Constants;
 import org.apache.neethi.Policy;
 import org.apache.neethi.PolicyReference;
@@ -302,7 +301,7 @@ public class Wsdl11AttachmentPolicyProvi
         if (null == di) {
             return null;
         }
-        Definition def = (Definition)di.getProperty(WSDLServiceBuilder.WSDL_DEFINITION);
+        Definition def = (Definition)di.getProperty("org.apache.cxf.wsdl11.WSDLServiceBuilder.DEFINITION");
         if (null == def) {
             return null;
         }

Modified: cxf/trunk/rt/ws/security/pom.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/security/pom.xml?rev=1490642&r1=1490641&r2=1490642&view=diff
==============================================================================
--- cxf/trunk/rt/ws/security/pom.xml (original)
+++ cxf/trunk/rt/ws/security/pom.xml Fri Jun  7 13:36:13 2013
@@ -146,6 +146,12 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>org.apache.cxf</groupId>
+            <artifactId>cxf-testutils</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>org.easymock</groupId>
             <artifactId>easymock</artifactId>
             <scope>test</scope>

Modified: cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/trust/AbstractSTSClient.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/trust/AbstractSTSClient.java?rev=1490642&r1=1490641&r2=1490642&view=diff
==============================================================================
--- cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/trust/AbstractSTSClient.java (original)
+++ cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/trust/AbstractSTSClient.java Fri Jun  7 13:36:13 2013
@@ -82,6 +82,7 @@ import org.apache.cxf.staxutils.StaxUtil
 import org.apache.cxf.staxutils.W3CDOMStreamWriter;
 import org.apache.cxf.transport.Conduit;
 import org.apache.cxf.ws.addressing.EndpointReferenceType;
+import org.apache.cxf.ws.addressing.EndpointReferenceUtils;
 import org.apache.cxf.ws.addressing.VersionTransformer;
 import org.apache.cxf.ws.mex.MetadataExchange;
 import org.apache.cxf.ws.mex.model._2004_09.Metadata;
@@ -95,7 +96,6 @@ import org.apache.cxf.ws.security.Securi
 import org.apache.cxf.ws.security.tokenstore.SecurityToken;
 import org.apache.cxf.ws.security.trust.claims.ClaimsCallback;
 import org.apache.cxf.ws.security.trust.delegation.DelegationCallback;
-import org.apache.cxf.wsdl.EndpointReferenceUtils;
 import org.apache.cxf.wsdl.WSDLManager;
 import org.apache.cxf.wsdl11.WSDLServiceFactory;
 import org.apache.neethi.All;

Copied: cxf/trunk/rt/wsdl/pom.xml (from r1490629, cxf/trunk/rt/bindings/xml/pom.xml)
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/wsdl/pom.xml?p2=cxf/trunk/rt/wsdl/pom.xml&p1=cxf/trunk/rt/bindings/xml/pom.xml&r1=1490629&r2=1490642&rev=1490642&view=diff
==============================================================================
--- cxf/trunk/rt/bindings/xml/pom.xml (original)
+++ cxf/trunk/rt/wsdl/pom.xml Fri Jun  7 13:36:13 2013
@@ -18,87 +18,65 @@
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
     <modelVersion>4.0.0</modelVersion>
-    <artifactId>cxf-rt-bindings-xml</artifactId>
+    <groupId>org.apache.cxf</groupId>
+    <artifactId>cxf-rt-wsdl</artifactId>
     <packaging>jar</packaging>
-    <name>Apache CXF Runtime XML Binding</name>
-    <description>Apache CXF Runtime XML Binding</description>
+    <version>3.0.0-SNAPSHOT</version>
+    <name>Apache CXF Runtime Core for WSDL</name>
+    <description>Apache CXF Runtime Core for WSDL Based Technologies</description>
     <url>http://cxf.apache.org</url>
 
     <parent>
         <groupId>org.apache.cxf</groupId>
         <artifactId>cxf-parent</artifactId>
         <version>3.0.0-SNAPSHOT</version>
-        <relativePath>../../../parent/pom.xml</relativePath>
+        <relativePath>../../parent/pom.xml</relativePath>
     </parent>
 
-
     <dependencies>
-
         <dependency>
             <groupId>org.apache.cxf</groupId>
-            <artifactId>cxf-api</artifactId>
+            <artifactId>cxf-rt-core</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>
-            <groupId>org.apache.cxf</groupId>
-            <artifactId>cxf-tools-validator</artifactId>
-            <version>${project.version}</version>
-            <optional>true</optional>
-            <scope>provided</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.apache.cxf</groupId>
-                    <artifactId>cxf-rt-core</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.apache.cxf</groupId>
-                    <artifactId>cxf-rt-databinding-jaxb</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.apache.cxf</groupId>
-                    <artifactId>cxf-rt-bindings-soap</artifactId>
-                </exclusion>
-            </exclusions>
+            <groupId>wsdl4j</groupId>
+            <artifactId>wsdl4j</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.apache.cxf</groupId>
-            <artifactId>cxf-tools-common</artifactId>
-            <version>${project.version}</version>
-            <optional>true</optional>
-            <scope>provided</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.apache.cxf</groupId>
-                    <artifactId>cxf-rt-core</artifactId>
-                </exclusion>
-            </exclusions>
+            <groupId>${cxf.asm.groupId}</groupId>
+            <artifactId>${cxf.asm.artifactId}</artifactId>
         </dependency>
 
         <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
-            <scope>test</scope>
+            <scope>provided</scope>
+            <optional>true</optional>
         </dependency>
         <dependency>
-            <groupId>org.apache.cxf</groupId>
-            <artifactId>cxf-rt-databinding-jaxb</artifactId>
-            <version>${project.version}</version>
+            <groupId>org.easymock</groupId>
+            <artifactId>easymock</artifactId>
             <scope>test</scope>
         </dependency>
+
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-core</artifactId>
+            <scope>provided</scope>
+        </dependency>
         <dependency>
-            <groupId>org.apache.cxf</groupId>
-            <artifactId>cxf-testutils</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-beans</artifactId>
+            <scope>provided</scope>
         </dependency>
-
         <dependency>
-            <groupId>org.easymock</groupId>
-            <artifactId>easymock</artifactId>
-            <scope>test</scope>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-context</artifactId>
+            <scope>provided</scope>
         </dependency>
     </dependencies>
-
+    
     <build>
         <plugins>
             <plugin>
@@ -107,28 +85,34 @@
                 <version>${cxf.xjc-utils.version}</version>
                 <executions>
                     <execution>
-                        <id>generate-sources</id>
-                        <phase>generate-sources</phase>
+                        <id>generate-test-sources</id>
+                        <phase>generate-test-sources</phase>
+                        <goals>
+                            <goal>xsdtojava-tests</goal>
+                        </goals>
                         <configuration>
-                            <sourceRoot>${basedir}/target/generated/src/main/java</sourceRoot>
+                            <testSourceRoot>${basedir}/target/generated/src/test/java</testSourceRoot>
                             <xsdOptions>
                                 <xsdOption>
-                                    <xsd>${basedir}/src/main/resources/schemas/wsdl/xml-binding.xsd</xsd>
-                                    <bindingFile>${basedir}/src/main/resources/schemas/wsdl/xml-binding.xjb</bindingFile>
+                                    <xsd>${basedir}/src/test/resources/schemas/wsdl/test-conf.xsd</xsd>
+                                    <bindingFile>${basedir}/src/test/resources/schemas/wsdl/test-conf.xjb</bindingFile>
                                     <catalog>${basedir}/src/main/build-resources/catalog.cat</catalog>
                                     <deleteDirs>
-                                        <deleteDir>${basedir}/target/generated/src/main/java/org/apache/cxf/wsdl</deleteDir>
+                                        <deleteDir>${basedir}/target/generated/src/test/java/org/apache/cxf/wsdl</deleteDir>
                                     </deleteDirs>
                                 </xsdOption>
                             </xsdOptions>
                         </configuration>
-                        <goals>
-                            <goal>xsdtojava</goal>
-                        </goals>
                     </execution>
+                    
                 </executions>
+                
+                <configuration>
+                    <extensions>
+                        <extension>org.apache.cxf.xjcplugins:cxf-xjc-dv:${cxf.xjc-utils.version}</extension>
+                    </extensions>
+                </configuration>
             </plugin>
         </plugins>
     </build>
-
 </project>

Copied: cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/AbstractWSDLPlugin.java (from r1490629, cxf/trunk/api/src/main/java/org/apache/cxf/wsdl/AbstractWSDLPlugin.java)
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/AbstractWSDLPlugin.java?p2=cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/AbstractWSDLPlugin.java&p1=cxf/trunk/api/src/main/java/org/apache/cxf/wsdl/AbstractWSDLPlugin.java&r1=1490629&r2=1490642&rev=1490642&view=diff
==============================================================================
    (empty)

Copied: cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/JAXBExtensibilityElement.java (from r1490629, cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/Configuration.java)
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/JAXBExtensibilityElement.java?p2=cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/JAXBExtensibilityElement.java&p1=cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/Configuration.java&r1=1490629&r2=1490642&rev=1490642&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/Configuration.java (original)
+++ cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/JAXBExtensibilityElement.java Fri Jun  7 13:36:13 2013
@@ -16,11 +16,15 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.cxf.aegis.type;
+package org.apache.cxf.wsdl;
 
-/**
- * This class is preserved for compatibility. Please use {@link TypeCreationOptions}.
- * @deprecated 2.1
- */
-public class Configuration extends TypeCreationOptions {
-}
+public class JAXBExtensibilityElement extends TExtensibilityElementImpl {
+    Object value;
+    JAXBExtensibilityElement(Object o) {
+        value = o;
+    }
+    
+    public Object getValue() {
+        return value;
+    }
+}
\ No newline at end of file

Copied: cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/JAXBExtensionHelper.java (from r1490629, cxf/trunk/api/src/main/java/org/apache/cxf/wsdl/JAXBExtensionHelper.java)
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/JAXBExtensionHelper.java?p2=cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/JAXBExtensionHelper.java&p1=cxf/trunk/api/src/main/java/org/apache/cxf/wsdl/JAXBExtensionHelper.java&r1=1490629&r2=1490642&rev=1490642&view=diff
==============================================================================
--- cxf/trunk/api/src/main/java/org/apache/cxf/wsdl/JAXBExtensionHelper.java (original)
+++ cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/JAXBExtensionHelper.java Fri Jun  7 13:36:13 2013
@@ -53,6 +53,13 @@ import org.apache.cxf.common.classloader
 import org.apache.cxf.common.jaxb.JAXBContextCache;
 import org.apache.cxf.common.jaxb.JAXBContextCache.CachedContextAndSchemas;
 import org.apache.cxf.common.logging.LogUtils;
+import org.apache.cxf.common.util.ASMHelper;
+import org.apache.cxf.common.util.ASMHelper.AnnotationVisitor;
+import org.apache.cxf.common.util.ASMHelper.ClassWriter;
+import org.apache.cxf.common.util.ASMHelper.FieldVisitor;
+import org.apache.cxf.common.util.ASMHelper.Label;
+import org.apache.cxf.common.util.ASMHelper.MethodVisitor;
+import org.apache.cxf.common.util.ASMHelper.Opcodes;
 import org.apache.cxf.common.util.PackageUtils;
 import org.apache.cxf.common.util.StringUtils;
 import org.apache.cxf.helpers.CastUtils;
@@ -65,23 +72,29 @@ import org.apache.cxf.staxutils.StaxUtil
 public class JAXBExtensionHelper implements ExtensionSerializer, ExtensionDeserializer {
     private static final Logger LOG = LogUtils.getL7dLogger(JAXBExtensionHelper.class);
 
-    final Class<? extends ExtensibilityElement> typeClass;
+    final Class<?> typeClass;
     final String namespace;
+    Class<?> extensionClass;
     String jaxbNamespace;
 
-    private JAXBContext context;
+    private JAXBContext marshalContext;
+    private JAXBContext unmarshalContext;
     private Set<Class<?>> classes;
 
       
-    public JAXBExtensionHelper(Class<? extends ExtensibilityElement> cls,
+    public JAXBExtensionHelper(Class<?> cls,
                                String ns) {
         typeClass = cls;
         namespace = ns;
+        extensionClass = cls;
     }
     
     void setJaxbNamespace(String ns) {
         jaxbNamespace = ns;
     }
+    void setExtensionClass(Class<?> cls) {
+        extensionClass = cls;
+    }
     
     public static void addExtensions(ExtensionRegistry registry, String parentType, String elementType)
         throws JAXBException, ClassNotFoundException {
@@ -106,17 +119,18 @@ public class JAXBExtensionHelper impleme
     }
     public static void addExtensions(ExtensionRegistry registry,
                                      Class<?> parentType,
-                                     Class<? extends ExtensibilityElement> cls)
+                                     Class<?> cls)
         throws JAXBException {
         addExtensions(registry, parentType, cls, null);
     }
     public static void addExtensions(ExtensionRegistry registry,
                                      Class<?> parentType,
-                                     Class<? extends ExtensibilityElement> cls,
+                                     Class<?> cls,
                                      String namespace) throws JAXBException {
         
         JAXBExtensionHelper helper = new JAXBExtensionHelper(cls, namespace);
         boolean found = false;
+        Class<?> extCls = cls;
         try {
             Class<?> objectFactory = Class.forName(PackageUtils.getPackageName(cls) + ".ObjectFactory",
                                                    true, cls.getClassLoader());
@@ -133,9 +147,13 @@ public class JAXBExtensionHelper impleme
                             helper.setJaxbNamespace(elementDecl.namespace());
                         }
                         QName elementType = new QName(ns, name);
+                        if (!ExtensibilityElement.class.isAssignableFrom(extCls)) {
+                            extCls = createExtensionClass(cls, elementType);
+                            helper.setExtensionClass(extCls);
+                        }
                         registry.registerDeserializer(parentType, elementType, helper); 
                         registry.registerSerializer(parentType, elementType, helper);                         
-                        registry.mapExtensionTypes(parentType, elementType, cls);
+                        registry.mapExtensionTypes(parentType, elementType, extCls);
                         found = true;
                     }                    
                 }
@@ -166,9 +184,13 @@ public class JAXBExtensionHelper impleme
                         ns = namespace;
                     }
                     QName elementType = new QName(ns, name);
+                    if (!ExtensibilityElement.class.isAssignableFrom(extCls)) {
+                        extCls = createExtensionClass(cls, elementType);
+                        helper.setExtensionClass(extCls);
+                    }
                     registry.registerDeserializer(parentType, elementType, helper); 
                     registry.registerSerializer(parentType, elementType, helper);                         
-                    registry.mapExtensionTypes(parentType, elementType, cls);
+                    registry.mapExtensionTypes(parentType, elementType, extCls);
 
                     found = true;
                 }
@@ -181,18 +203,31 @@ public class JAXBExtensionHelper impleme
         }
     }
 
-    private synchronized JAXBContext getContext() throws JAXBException {
-        if (context == null || classes == null) {
+    private synchronized Unmarshaller createUnmarshaller() throws JAXBException {
+        if (unmarshalContext == null || classes == null) {
+            try {
+                CachedContextAndSchemas ccs 
+                    = JAXBContextCache.getCachedContextAndSchemas(extensionClass);
+                classes = ccs.getClasses();
+                unmarshalContext = ccs.getContext();
+            } catch (JAXBException e) {
+                throw new RuntimeException(e);
+            }
+        }
+        return unmarshalContext.createUnmarshaller();
+    }
+    private synchronized Marshaller createMarshaller() throws JAXBException {
+        if (marshalContext == null || classes == null) {
             try {
                 CachedContextAndSchemas ccs 
                     = JAXBContextCache.getCachedContextAndSchemas(typeClass);
                 classes = ccs.getClasses();
-                context = ccs.getContext();
+                marshalContext = ccs.getContext();
             } catch (JAXBException e) {
                 throw new RuntimeException(e);
             }
         }
-        return context;
+        return marshalContext.createMarshaller();
     }
     
     /* (non-Javadoc)
@@ -205,7 +240,7 @@ public class JAXBExtensionHelper impleme
                          final Definition wsdl, ExtensionRegistry registry) throws WSDLException {
         // TODO Auto-generated method stub
         try {
-            Marshaller u = getContext().createMarshaller();
+            Marshaller u = createMarshaller();
             u.setProperty("jaxb.encoding", "UTF-8");
             u.setProperty("jaxb.fragment", Boolean.TRUE);
             u.setProperty("jaxb.formatted.output", Boolean.TRUE);
@@ -223,7 +258,7 @@ public class JAXBExtensionHelper impleme
                     mObj = method.invoke(objectFactory.newInstance(), new Object[] {obj});
                 }
             }
-
+            
             javax.xml.stream.XMLOutputFactory fact = javax.xml.stream.XMLOutputFactory.newInstance();
             XMLStreamWriter writer =
                 new PrettyPrintXMLStreamWriter(fact.createXMLStreamWriter(pw), parent);
@@ -277,25 +312,24 @@ public class JAXBExtensionHelper impleme
                                            ExtensionRegistry registry) throws WSDLException {
         XMLStreamReader reader = null;
         try {
-            Unmarshaller u = getContext().createUnmarshaller();
+            Unmarshaller u = createUnmarshaller();
         
             Object o = null;
             if (namespace == null) {
-                o = u.unmarshal(element);
+                o = u.unmarshal(element, extensionClass);
             } else {
                 reader = StaxUtils.createXMLStreamReader(element);
                 reader = new MappingReaderDelegate(reader);
-                o = u.unmarshal(reader);
+                o = u.unmarshal(reader, extensionClass);
             }
             if (o instanceof JAXBElement<?>) {
                 JAXBElement<?> el = (JAXBElement<?>)o;
                 o = el.getValue();
             }
             
-            ExtensibilityElement el = o instanceof ExtensibilityElement ? (ExtensibilityElement)o : null;
-            if (null != el) {
-                el.setElementType(qname);
-            }
+            ExtensibilityElement el = o instanceof ExtensibilityElement ? (ExtensibilityElement)o 
+                : new JAXBExtensibilityElement(o);
+            el.setElementType(qname);
             return el;
         } catch (Exception ex) {
             throw new WSDLException(WSDLException.PARSER_ERROR,
@@ -306,9 +340,6 @@ public class JAXBExtensionHelper impleme
         }
     }
     
-    
-
-
     class MappingReaderDelegate extends StreamReaderDelegate {
         MappingReaderDelegate(XMLStreamReader reader) {
             super(reader);
@@ -381,5 +412,249 @@ public class JAXBExtensionHelper impleme
         
     };
     
+    //CHECKSTYLE:OFF - very complicated ASM code
+    private static Class<?> createExtensionClass(Class<?> cls, QName qname) {
+        
+        String className = ASMHelper.periodToSlashes(cls.getName());
+        ASMHelper helper = new ASMHelper();
+        Class<?> extClass = helper.findClass(className + "Extensibility", cls);
+        if (extClass != null) {
+            return extClass;
+        }
+        
+        ClassWriter cw = helper.createClassWriter();
+        FieldVisitor fv;
+        MethodVisitor mv;
+        AnnotationVisitor av0;
+        
+        cw.visit(Opcodes.V1_6, Opcodes.ACC_PUBLIC + Opcodes.ACC_SUPER + Opcodes.ACC_SYNTHETIC, 
+                 className + "Extensibility", null, 
+                 className, 
+                 new String[] {"javax/wsdl/extensions/ExtensibilityElement"});
+
+        cw.visitSource(cls.getSimpleName() + "Extensibility.java", null);
+        
+        fv = cw.visitField(Opcodes.ACC_PRIVATE + Opcodes.ACC_FINAL + Opcodes.ACC_STATIC,
+                           "WSDL_REQUIRED", "Ljavax/xml/namespace/QName;", null, null);
+        fv.visitEnd();        
+        
+
+        boolean hasAttributes = false;
+        try {
+            Method m = cls.getDeclaredMethod("getOtherAttributes");
+            if (m != null && m.getReturnType() == Map.class){
+                hasAttributes = true;
+            }
+        } catch (Throwable t) {
+            //ignore 
+        }
+        if (hasAttributes) {
+            fv = cw.visitField(0, "qn", "Ljavax/xml/namespace/QName;", null, null);
+            fv.visitEnd();
+            
+            mv = cw.visitMethod(Opcodes.ACC_STATIC, "<clinit>", "()V", null, null);
+            mv.visitCode();
+            Label l0 = helper.createLabel();
+            mv.visitLabel(l0);
+            mv.visitLineNumber(64, l0);
+            mv.visitTypeInsn(Opcodes.NEW, "javax/xml/namespace/QName");
+            mv.visitInsn(Opcodes.DUP);
+            mv.visitLdcInsn("http://schemas.xmlsoap.org/wsdl/");
+            mv.visitLdcInsn("required");
+            mv.visitMethodInsn(Opcodes.INVOKESPECIAL, "javax/xml/namespace/QName", "<init>", "(Ljava/lang/String;Ljava/lang/String;)V");
+            mv.visitFieldInsn(Opcodes.PUTSTATIC, className + "Extensibility", "WSDL_REQUIRED", "Ljavax/xml/namespace/QName;");
+            mv.visitInsn(Opcodes.RETURN);
+            mv.visitMaxs(4, 0);
+            mv.visitEnd();
+        } else {
+            fv = cw.visitField(Opcodes.ACC_PRIVATE, "required", "Ljava/lang/Boolean;", null, null);
+            fv.visitEnd();
+        }
+        
+        mv = cw.visitMethod(Opcodes.ACC_PUBLIC, "<init>", "()V", null, null);
+        mv.visitCode();
+        Label l0 = helper.createLabel();
+        mv.visitLabel(l0);
+        mv.visitLineNumber(33, l0);
+        mv.visitVarInsn(Opcodes.ALOAD, 0);
+        mv.visitMethodInsn(Opcodes.INVOKESPECIAL, className, "<init>", "()V");
+        Label l1 = helper.createLabel();
+        mv.visitLabel(l1);
+        mv.visitLineNumber(31, l1);
+        mv.visitVarInsn(Opcodes.ALOAD, 0);
+        mv.visitTypeInsn(Opcodes.NEW, "javax/xml/namespace/QName");
+        mv.visitInsn(Opcodes.DUP);
+        
+        mv.visitLdcInsn(qname.getNamespaceURI());
+        mv.visitLdcInsn(qname.getLocalPart());
+        
+        mv.visitMethodInsn(Opcodes.INVOKESPECIAL, "javax/xml/namespace/QName",
+                           "<init>", "(Ljava/lang/String;Ljava/lang/String;)V");
+        mv.visitFieldInsn(Opcodes.PUTFIELD, className + "Extensibility",
+                          "qn", "Ljavax/xml/namespace/QName;");
+        Label l2 = helper.createLabel();
+        mv.visitLabel(l2);
+        mv.visitLineNumber(34, l2);
+        mv.visitInsn(Opcodes.RETURN);
+        Label l3 = helper.createLabel();
+        mv.visitLabel(l3);
+       
+        mv.visitLocalVariable("this", "L" + className + "Extensibility;", null, l0, l3, 0);
+        mv.visitMaxs(5, 1);
+        mv.visitEnd();
+
+        mv = cw.visitMethod(Opcodes.ACC_PUBLIC, "setElementType", "(Ljavax/xml/namespace/QName;)V", null, null);
+        mv.visitCode();
+        l0 = helper.createLabel();
+        mv.visitLabel(l0);
+        mv.visitLineNumber(37, l0);
+        mv.visitVarInsn(Opcodes.ALOAD, 0);
+        mv.visitVarInsn(Opcodes.ALOAD, 1);
+        mv.visitFieldInsn(Opcodes.PUTFIELD, className + "Extensibility", "qn", "Ljavax/xml/namespace/QName;");
+        l1 = helper.createLabel();
+        mv.visitLabel(l1);
+        mv.visitLineNumber(38, l1);
+        mv.visitInsn(Opcodes.RETURN);
+        l2 = helper.createLabel();
+        mv.visitLabel(l2);
+        mv.visitLocalVariable("this", "L" + className + "Extensibility;", null, l0, l2, 0);
+        mv.visitLocalVariable("elementType", "Ljavax/xml/namespace/QName;", null, l0, l2, 1);
+        mv.visitMaxs(2, 2);
+        mv.visitEnd();
+
+        mv = cw.visitMethod(Opcodes.ACC_PUBLIC, "getElementType", "()Ljavax/xml/namespace/QName;", null, null);
+        av0 = mv.visitAnnotation("Ljavax/xml/bind/annotation/XmlTransient;", true);
+        av0.visitEnd();
+        mv.visitCode();
+        l0 = helper.createLabel();
+        mv.visitLabel(l0);
+        mv.visitLineNumber(40, l0);
+        mv.visitVarInsn(Opcodes.ALOAD, 0);
+        mv.visitFieldInsn(Opcodes.GETFIELD, className + "Extensibility", "qn", "Ljavax/xml/namespace/QName;");
+        mv.visitInsn(Opcodes.ARETURN);
+        l1 = helper.createLabel();
+        mv.visitLabel(l1);
+        mv.visitLocalVariable("this", "L" + className + "Extensibility;", null, l0, l1, 0);
+        mv.visitMaxs(1, 1);
+        mv.visitEnd();
+
+        if (hasAttributes) {
+            mv = cw.visitMethod(Opcodes.ACC_PUBLIC, "getRequired", "()Ljava/lang/Boolean;", null, null);
+            mv.visitCode();
+            l0 = helper.createLabel();
+            mv.visitLabel(l0);
+            mv.visitLineNumber(66, l0);
+            mv.visitVarInsn(Opcodes.ALOAD, 0);
+            mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, className + "Extensibility", "getOtherAttributes", "()Ljava/util/Map;");
+            mv.visitFieldInsn(Opcodes.GETSTATIC, className + "Extensibility", "WSDL_REQUIRED", "Ljavax/xml/namespace/QName;");
+            mv.visitMethodInsn(Opcodes.INVOKEINTERFACE, "java/util/Map", "get", "(Ljava/lang/Object;)Ljava/lang/Object;");
+            mv.visitTypeInsn(Opcodes.CHECKCAST, "java/lang/String");
+            mv.visitVarInsn(Opcodes.ASTORE, 1);
+            l1 = helper.createLabel();
+            mv.visitLabel(l1);
+            mv.visitLineNumber(67, l1);
+            mv.visitVarInsn(Opcodes.ALOAD, 1);
+            l2 = helper.createLabel();
+            mv.visitJumpInsn(Opcodes.IFNONNULL, l2);
+            mv.visitInsn(Opcodes.ACONST_NULL);
+            l3 = helper.createLabel();
+            mv.visitJumpInsn(Opcodes.GOTO, l3);
+            mv.visitLabel(l2);
+            mv.visitFrame(Opcodes.F_APPEND,1, new Object[] {"java/lang/String"}, 0, null);
+            mv.visitVarInsn(Opcodes.ALOAD, 1);
+            mv.visitMethodInsn(Opcodes.INVOKESTATIC, "java/lang/Boolean", "valueOf", "(Ljava/lang/String;)Ljava/lang/Boolean;");
+            mv.visitLabel(l3);
+            mv.visitFrame(Opcodes.F_SAME1, 0, null, 1, new Object[] {"java/lang/Boolean"});
+            mv.visitInsn(Opcodes.ARETURN);
+            Label l4 = helper.createLabel();
+            mv.visitLabel(l4);
+            mv.visitLocalVariable("this", "L" + className + "Extensibility;", null, l0, l4, 0);
+            mv.visitLocalVariable("s", "Ljava/lang/String;", null, l1, l4, 1);
+            mv.visitMaxs(2, 2);
+            mv.visitEnd();
+            
+            
+            
+            mv = cw.visitMethod(Opcodes.ACC_PUBLIC, "setRequired", "(Ljava/lang/Boolean;)V", null, null);
+            mv.visitCode();
+            l0 = helper.createLabel();
+            mv.visitLabel(l0);
+            mv.visitLineNumber(76, l0);
+            mv.visitVarInsn(Opcodes.ALOAD, 1);
+            l1 = helper.createLabel();
+            mv.visitJumpInsn(Opcodes.IFNONNULL, l1);
+            l2 = helper.createLabel();
+            mv.visitLabel(l2);
+            mv.visitLineNumber(77, l2);
+            mv.visitVarInsn(Opcodes.ALOAD, 0);
+            mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, className + "Extensibility", "getOtherAttributes", "()Ljava/util/Map;");
+            mv.visitFieldInsn(Opcodes.GETSTATIC, className + "Extensibility", "WSDL_REQUIRED", "Ljavax/xml/namespace/QName;");
+            mv.visitMethodInsn(Opcodes.INVOKEINTERFACE, "java/util/Map", "remove", "(Ljava/lang/Object;)Ljava/lang/Object;");
+            mv.visitInsn(Opcodes.POP);
+            l3 = helper.createLabel();
+            mv.visitLabel(l3);
+            mv.visitLineNumber(78, l3);
+            l4 = helper.createLabel();
+            mv.visitJumpInsn(Opcodes.GOTO, l4);
+            mv.visitLabel(l1);
+            mv.visitLineNumber(79, l1);
+            mv.visitFrame(Opcodes.F_SAME, 0, null, 0, null);
+            mv.visitVarInsn(Opcodes.ALOAD, 0);
+            mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, className + "Extensibility", "getOtherAttributes", "()Ljava/util/Map;");
+            mv.visitFieldInsn(Opcodes.GETSTATIC, className + "Extensibility", "WSDL_REQUIRED", "Ljavax/xml/namespace/QName;");
+            mv.visitVarInsn(Opcodes.ALOAD, 1);
+            mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/lang/Boolean", "toString", "()Ljava/lang/String;");
+            mv.visitMethodInsn(Opcodes.INVOKEINTERFACE, "java/util/Map", "put", "(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;");
+            mv.visitInsn(Opcodes.POP);
+            mv.visitLabel(l4);
+            mv.visitLineNumber(81, l4);
+            mv.visitFrame(Opcodes.F_SAME, 0, null, 0, null);
+            mv.visitInsn(Opcodes.RETURN);
+            Label l5 = helper.createLabel();
+            mv.visitLabel(l5);
+            mv.visitLocalVariable("this", "L" + className + "Extensibility;", null, l0, l5, 0);
+            mv.visitLocalVariable("b", "Ljava/lang/Boolean;", null, l0, l5, 1);
+            mv.visitMaxs(3, 2);
+            mv.visitEnd();            
+        } else {
+            mv = cw.visitMethod(Opcodes.ACC_PUBLIC, "getRequired", "()Ljava/lang/Boolean;", null, null);
+            mv.visitCode();
+            l0 = helper.createLabel();
+            mv.visitLabel(l0);
+            mv.visitLineNumber(68, l0);
+            mv.visitVarInsn(Opcodes.ALOAD, 0);
+            mv.visitFieldInsn(Opcodes.GETFIELD, className + "Extensibility", "required", "Ljava/lang/Boolean;");
+            mv.visitInsn(Opcodes.ARETURN);
+            l1 = helper.createLabel();
+            mv.visitLabel(l1);
+            mv.visitLocalVariable("this", "L" + className + "Extensibility;", null, l0, l1, 0);
+            mv.visitMaxs(1, 1);
+            mv.visitEnd();
+
+            mv = cw.visitMethod(Opcodes.ACC_PUBLIC, "setRequired", "(Ljava/lang/Boolean;)V", null, null);
+            mv.visitCode();
+            l0 = helper.createLabel();
+            mv.visitLabel(l0);
+            mv.visitLineNumber(71, l0);
+            mv.visitVarInsn(Opcodes.ALOAD, 0);
+            mv.visitVarInsn(Opcodes.ALOAD, 1);
+            mv.visitFieldInsn(Opcodes.PUTFIELD, className + "Extensibility", "required", "Ljava/lang/Boolean;");
+            l1 = helper.createLabel();
+            mv.visitLabel(l1);
+            mv.visitLineNumber(72, l1);
+            mv.visitInsn(Opcodes.RETURN);
+            l2 = helper.createLabel();
+            mv.visitLabel(l2);
+            mv.visitLocalVariable("this", "L" + className + "Extensibility;", null, l0, l2, 0);
+            mv.visitLocalVariable("b", "Ljava/lang/Boolean;", null, l0, l2, 1);
+            mv.visitMaxs(2, 2);
+            mv.visitEnd();
+        }
+
+        cw.visitEnd();
+
+        byte[] bytes = cw.toByteArray();
+        return helper.loadClass(className + "Extensibility", cls, bytes);
+    }    
 
 }

Copied: cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/Messages.properties (from r1490629, cxf/trunk/api/src/main/java/org/apache/cxf/wsdl/Messages.properties)
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/Messages.properties?p2=cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/Messages.properties&p1=cxf/trunk/api/src/main/java/org/apache/cxf/wsdl/Messages.properties&r1=1490629&r2=1490642&rev=1490642&view=diff
==============================================================================
    (empty)

Copied: cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/PrettyPrintXMLStreamWriter.java (from r1490629, cxf/trunk/api/src/main/java/org/apache/cxf/wsdl/PrettyPrintXMLStreamWriter.java)
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/PrettyPrintXMLStreamWriter.java?p2=cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/PrettyPrintXMLStreamWriter.java&p1=cxf/trunk/api/src/main/java/org/apache/cxf/wsdl/PrettyPrintXMLStreamWriter.java&r1=1490629&r2=1490642&rev=1490642&view=diff
==============================================================================
    (empty)

Copied: cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/TExtensibilityElementImpl.java (from r1490629, cxf/trunk/api/src/main/java/org/apache/cxf/wsdl/TExtensibilityElementImpl.java)
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/TExtensibilityElementImpl.java?p2=cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/TExtensibilityElementImpl.java&p1=cxf/trunk/api/src/main/java/org/apache/cxf/wsdl/TExtensibilityElementImpl.java&r1=1490629&r2=1490642&rev=1490642&view=diff
==============================================================================
--- cxf/trunk/api/src/main/java/org/apache/cxf/wsdl/TExtensibilityElementImpl.java (original)
+++ cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/TExtensibilityElementImpl.java Fri Jun  7 13:36:13 2013
@@ -21,6 +21,7 @@ package org.apache.cxf.wsdl;
 
 
 import javax.wsdl.extensions.ExtensibilityElement;
+import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlTransient;
 import javax.xml.namespace.QName;
 
@@ -28,16 +29,18 @@ import javax.xml.namespace.QName;
  * Implements the <code>ExtensibilityElement</code> interface.
  */
 public class TExtensibilityElementImpl
-    extends TExtensibilityElement
     implements ExtensibilityElement {
 
     @XmlTransient()
     QName elementType;
+    
+    private Boolean required;
 
     /**
      * Returns the type of this extensibility element.
      * @return QName the type of this element.
      */
+    @XmlTransient()
     public QName getElementType() {
         return elementType;
     }
@@ -55,8 +58,9 @@ public class TExtensibilityElementImpl
      * Relates to the wsdl:required attribute.
      * @return Boolean
      */
+    @XmlAttribute(name = "required", namespace = "http://schemas.xmlsoap.org/wsdl/")
     public Boolean getRequired() {
-        return isSetRequired() ? isRequired() : null;
+        return required;
     }
     public void setRequired(Boolean value) {
         this.required = value;

Copied: cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/WSAEndpointReferenceUtils.java (from r1490629, cxf/trunk/api/src/main/java/org/apache/cxf/wsdl/WSAEndpointReferenceUtils.java)
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/WSAEndpointReferenceUtils.java?p2=cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/WSAEndpointReferenceUtils.java&p1=cxf/trunk/api/src/main/java/org/apache/cxf/wsdl/WSAEndpointReferenceUtils.java&r1=1490629&r2=1490642&rev=1490642&view=diff
==============================================================================
    (empty)

Copied: cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/WSDLBuilder.java (from r1490629, cxf/trunk/api/src/main/java/org/apache/cxf/wsdl/WSDLBuilder.java)
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/WSDLBuilder.java?p2=cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/WSDLBuilder.java&p1=cxf/trunk/api/src/main/java/org/apache/cxf/wsdl/WSDLBuilder.java&r1=1490629&r2=1490642&rev=1490642&view=diff
==============================================================================
    (empty)

Copied: cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/WSDLExtensibilityPlugin.java (from r1490629, cxf/trunk/api/src/main/java/org/apache/cxf/wsdl/WSDLExtensibilityPlugin.java)
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/WSDLExtensibilityPlugin.java?p2=cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/WSDLExtensibilityPlugin.java&p1=cxf/trunk/api/src/main/java/org/apache/cxf/wsdl/WSDLExtensibilityPlugin.java&r1=1490629&r2=1490642&rev=1490642&view=diff
==============================================================================
    (empty)

Copied: cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/WSDLExtensionLoader.java (from r1490629, cxf/trunk/api/src/main/java/org/apache/cxf/wsdl/WSDLExtensionLoader.java)
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/WSDLExtensionLoader.java?p2=cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/WSDLExtensionLoader.java&p1=cxf/trunk/api/src/main/java/org/apache/cxf/wsdl/WSDLExtensionLoader.java&r1=1490629&r2=1490642&rev=1490642&view=diff
==============================================================================
    (empty)

Copied: cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/WSDLHelper.java (from r1490629, cxf/trunk/api/src/main/java/org/apache/cxf/helpers/WSDLHelper.java)
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/WSDLHelper.java?p2=cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/WSDLHelper.java&p1=cxf/trunk/api/src/main/java/org/apache/cxf/helpers/WSDLHelper.java&r1=1490629&r2=1490642&rev=1490642&view=diff
==============================================================================
--- cxf/trunk/api/src/main/java/org/apache/cxf/helpers/WSDLHelper.java (original)
+++ cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/WSDLHelper.java Fri Jun  7 13:36:13 2013
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.cxf.helpers;
+package org.apache.cxf.wsdl;
 
 import java.io.File;
 import java.util.ArrayList;
@@ -37,6 +37,8 @@ import javax.wsdl.factory.WSDLFactory;
 import javax.wsdl.xml.WSDLReader;
 import javax.xml.namespace.QName;
 
+import org.apache.cxf.helpers.CastUtils;
+
 public class WSDLHelper {
 
     public BindingOperation getBindingOperation(Definition def, String operationName) {

Copied: cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/WSDLLibrary.java (from r1490629, cxf/trunk/api/src/main/java/org/apache/cxf/wsdl/WSDLLibrary.java)
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/WSDLLibrary.java?p2=cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/WSDLLibrary.java&p1=cxf/trunk/api/src/main/java/org/apache/cxf/wsdl/WSDLLibrary.java&r1=1490629&r2=1490642&rev=1490642&view=diff
==============================================================================
    (empty)

Copied: cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/WSDLManager.java (from r1490629, cxf/trunk/api/src/main/java/org/apache/cxf/wsdl/WSDLManager.java)
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/WSDLManager.java?p2=cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/WSDLManager.java&p1=cxf/trunk/api/src/main/java/org/apache/cxf/wsdl/WSDLManager.java&r1=1490629&r2=1490642&rev=1490642&view=diff
==============================================================================
    (empty)

Copied: cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/WSDLServiceFactory.java (from r1490629, cxf/trunk/api/src/main/java/org/apache/cxf/wsdl/WSDLServiceFactory.java)
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/WSDLServiceFactory.java?p2=cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/WSDLServiceFactory.java&p1=cxf/trunk/api/src/main/java/org/apache/cxf/wsdl/WSDLServiceFactory.java&r1=1490629&r2=1490642&rev=1490642&view=diff
==============================================================================
    (empty)