Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

There are several versions of the WS-Policy Framework and WS-Policy Attachment specifications out there at the moment, not sure which one(s) CXF should aim to support:

September 2004:

Web Services Policy Framework
Web Services Policy Attachment

...

Web Services Policy 1.5 - Framework
Web Services Policy 1.5 - Attachment

CXF supports Version 1.5 (but will not initially include support for WSDL 2.0 attachments). Version 1.2 is the one supported by Neethi. Version 1.5 covers attachment in WSDL 2.0.

APIs

The following are tentative suggestions for the APIs as part of the CXF policy framework.

...

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 mor. Instead the content of these elements could be verified by their respectie respective 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 (as assertions, 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="HelloWorldPubSubServiceGreeterService">
    <port binding="tns:HelloWorldPubSubBindingGreeterSOAPBinding" name="HelloWorldPubSubPortGreeterPort">
        <jms<http:address
           destinationStyle="topic"
           jndiConnectionFactoryName="ConnectionFactory" 
           jndiDestinationName="dynamicTopics/test.jmstransport.oneway.topic">
           <jms:JMSNamingProperty name="java.naming.factory.initial" value="org.apache.activemq.jndi.ActiveMQInitialContextFactory" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" location="http://localhost:9020/SoapContext/GreeterPort"/>
           <jms:JMSNamingProperty name="java.naming.provider.url" value="tcp://localhost:61500"/>
    <http-conf:client xmlns:http-conf="http://cxf.apache.org/transports/http/configuration" ReceiveTimeout="60000"/>
    </jms:address>
    </port>
</service>

to:

Code Block
java
java
<service name="HelloWorldPubSubServiceGreeterService">
    <port binding="tns:HelloWorldPubSubBindingGreeterSOAPBinding" name="HelloWorldPubSubPortGreeterPort">
        <wsp<http:Policy>         
            <jms:address
               destinationStyle="topic"
               jndiConnectionFactoryName="ConnectionFactory" 
               jndiDestinationName="dynamicTopics/test.jmstransport.oneway.topic"address xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" location="http://localhost:9020/SoapContext/GreeterPort"/>
        <wsp:Policy>       <jms:JMSNamingProperty name="java.naming.factory.initial" value="org.apache.activemq.jndi.ActiveMQInitialContextFactory"/>
               <jms:JMSNamingProperty name="java.naming.provider.url" value="tcp://localhost:61500"/>
    <http-conf:client xmlns:http-conf="http://cxf.apache.org/transports/http/configuration" ReceiveTimeout="60000"/>
        </jms:address>
        <wsp:Policy>
    </port>
</service>

...

Code Block
java
java
<definition...>
    ...
    <service name="HelloWorldPubSubServiceGreeterService">
        <port binding="tns:HelloWorldPubSubBindingGreeterSOAPBinding" name="HelloWorldPubSubPort"="GreeterPort">
            <http:address xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" location="http://localhost:9020/SoapContext/GreeterPort"/>
        </port>
    </service>

</definition>

<wsp:PolicyAttachment>
    <wsp:AppliesTo>
           <wsp:URI>http://cxf.apache.org/testutils/wslwsdl/jmsgreeter_testcontrol.wsdl#wsdl.port(HelloWorldPubSubServiceGreeterService/HelloWorldPubSubPortGreeterPort)</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 <http-conf:client xmlns:http-conf="http://cxf.apache.org/transports/http/configuration" ReceiveTimeout="60000"/>
        </jms:address>
    </wsp<wsp:Policy>
</wsp:PolicyAttachment> 

...