Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Some of the schema types currently used in configuring the http and jms transports may be used as assertions. One advantage would be these types do not have to extend wsdl:tExtensibilityElement any more, yet the content of these elements could be verified their respectie assertion builders. Also, the types can be used much more flexibly as assertions than as extension elements registered for say the wsdl:port element only (they can be attached to the port type or the port, the service, and even appear outside of wsdl in PolicyAttachment elements). The preferred (but not mandatory) transition would be from:

Code Block
java
java
    <service name="HelloWorldPubSubService">
        <port binding="tns:HelloWorldPubSubBinding" name="HelloWorldPubSubPort">
            <jms:address
               destinationStyle="topic"
               jndiConnectionFactoryName="ConnectionFactory" 
               jndiDestinationName="dynamicTopics/test.jmstransport.oneway.topic">
               <jms:JMSNamingProperty name="java.naming.factory.initial" value="org.apache.activemq.jndi.ActiveMQInitialContextFactory"/>
               <jms:JMSNamingProperty name="java.naming.provider.url" value="tcp://localhost:61500"/>
            </jms:address>
        </port>
    </service>

to:

Code Block
java
java
    <service name="HelloWorldPubSubService">
        <port binding="tns:HelloWorldPubSubBinding" name="HelloWorldPubSubPort">
            <wsp:Policy>         
                <jms:address
                   destinationStyle="topic"
                   jndiConnectionFactoryName="ConnectionFactory" 
                   jndiDestinationName="dynamicTopics/test.jmstransport.oneway.topic">
                   <jms:JMSNamingProperty name="java.naming.factory.initial" value="org.apache.activemq.jndi.ActiveMQInitialContextFactory"/>
                   <jms:JMSNamingProperty name="java.naming.provider.url" value="tcp://localhost:61500"/>
                </jms:address>
            <wsp:Policy>
        </port>
    </service>

or:

Code Block
java
java
<definition...>
    ...
    <service name="HelloWorldPubSubService">
        <port binding="tns:HelloWorldPubSubBinding" name="HelloWorldPubSubPort">
        </port>
    </service>

</definition>

<wsp:PolicyAttachment>
    <wsp:AppliesTo>
           <wsp:URI>http://cxf.apache.org/testutils/wsl/jms_test.wsdl#wsdl.port(HelloWorldPubSubService/HelloWorldPubSubPort)</wsp:URI>
    </wsp:AppliesTo>
    <wsp:Policy>
        <jms:address
           destinationStyle="topic"
           jndiConnectionFactoryName="ConnectionFactory" 
           jndiDestinationName="dynamicTopics/test.jmstransport.oneway.topic">
           <jms:JMSNamingProperty name="java.naming.factory.initial" value="org.apache.activemq.jndi.ActiveMQInitialContextFactory"/>
           <jms:JMSNamingProperty name="java.naming.provider.url" value="tcp://localhost:61500"/>
        </jms:address>
    </wsp:Policy>
</wsp:PolicyAttachment> 

with the PolicyAtachment elemennt beign element being defined in some external document.