AbstractThis component implements "WS-Notification", as described in the set of OASIS Specifications named "Ws-BrokeredNotification". Services provided by the petals-se-notification component are mainly those described in specification. It means that the petals-se-notification acts a broker - as described FeaturesThe "WS-Notification" features currently available are :
The "WS-Notification" specification does not fully describe all mechanism infered by the ws-notificatio paradigm and lets us some several implmentation choices respect to concernes like "how notification message are "linked" to topics or "how a Broker can know who ar the producer". This last point - aka "publishing" pattern in the "WS-BrokeredNotification" (page 12/43) - needs some words about our implementation of the in petals ESB. In our implementation choice of the "demand-base" pattern, all subscribe requests send to the broker - the petals-se-notification component -, from consumers, will be forwarded by the broker to known producers registered on related topics. That arbitrary choice have been made in order to give to consumers a means to "drive" the "eventing communication" by choising the format of the notification message they want to receive. Component ConfigurationThe component configuration is mainly defined by its "supported topics set". The "supported topics set" is defined in an xml file whose associated xml schema is the "TopicSet" xml type defined in "WS-Topic" Specification.
An exemple of "supported topics set" xml file is provided below : <xml version="1.0" encoding="UTF-8"> <wstop:TopicSet xmlns:wstop="http://docs.oasis-open.org/wsn/t-1" xmlns:internalns="http://petals.ow2.org/topicNamespace/sample/Internal" xmlns:externalns="http://petals.ow2.org/topicNamespace/sample/External" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <internalns:rootTopic1 wstop:topic="true"> <childTopic1 wstop:topic="true"/> <childTopic2> <grandChildTopic21 wstop:topic="true"> </childTopic2> <childTopic3 wstop:topic="true"/> </internalns:rootTopic1> <externalns:rootTopic2> <childTopic1> <grandChildTopic11 wstop:topic="true"> <grandGrandChildTopic111 wstop:topic="true/> <grandGrandChildTopic112 wstop:topic="true/> </grandChildTopic11> </childTopic1> <childTopic2 wstop:topic="true"> <grandChildTopic21 wstop:topic="true"/> <grandChildTopic22 wstop:topic="true"/> </childTopic2> </externalns:rootTopic2> <wstop:TopicSet> A default "supported topics set" xml file is defined and embedded in the component. This file will be used to configure topics supported by the petals-se-component unless you define your own one and set the System Environment variable "SUPPORTED_TOPICS_SET" to [path_to_supported_topics_set_xml_file]. On "Unix like" operating system, in the console window from where you intend to launch petals ESB and before starting it, do something like : "export SUPPORTED_TOPICS_SET=path_to_your_supported_topic_set_xml_file"
Unable to render {include} Couldn't find a page to include called: 0 CDK Component Configuration Table
Component installationActually, the component petals-se-notification does not requiered any service units to be configured. The only rule is that it must be deployed and started before any other component that intends to use petals ESB WS-Notification features. Installation process using Petals ESB WebconsoleIf you use to run the webconsole, you must know how to do to install the service engine component. If not, well have a look to the petals ESB Webconsole documentation and simply follow the instructions. The petals-se-notification component does not require any specific actions. You just have to install it before any other component that would use Ws-notification features.
"By hand" installation processIf you do not want to use the webconsole, you can install a petals ESB component, in "command line mode". To do tahat you simply have to copy and paste the "petals-se-notification-X.X.zip" zip archive of the component in the sub-folder of your petals ESB platform called "install/". Then, few seconds later, the embedded petals ESB autoloader mechanism will deploy and start the component. This mechanism is enabled in the default configuration of the bus.
Petals ESB "WS-Notification" usecasesDesciptionA demonstation of Petals ESB feature is provided through basic use-cases Basic WS-Notification usecases consist on sending "notification" requests - Subscribe, Unsubscribe, RegisterPublisher, DestroyRegistration or Notify requests - to the petals-se-notification component from other components that acts as Notification consumer or Notification Producer. Two components named petals-se-Wsnconsumer and petals-se-WsnProducer are available on Petals website under the Download/tool section
RequirementsBasic WS-Notification usecases require that you download and deploy additionnal components :
Service units configuration detailsService unit of petals-se-WsnConsumer service engine componentIn the jbi.xml file only one parameter is ws-notification specific : the "ws-cons:requestPayloadPath" field that specifies the Subscribe request payload to use <!-- JBI descriptor for the PEtALS' "petals-se-WsnConsumer" component (WS-Notification). <jbi:jbi version="1.0" xmlns:notification="http://petals.ow2.org/petals-se-notification" xmlns:wsn-br="http://docs.oasis-open.org/wsn/br-2" xmlns:wsn-cons="http://petals.ow2.org/petals-se-wsnconsumer" xmlns:jbi="http://java.sun.com/xml/ns/jbi" xmlns:petalsCDK="http://petals.ow2.org/components/extensions/version-5" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <!-- Import a Service into PEtALS or Expose a PEtALS Service => use a BC. --> <jbi:services binding-component="false"> <!-- Expose a PEtALS Service => consumes a Service. --> <jbi:consumes interface-name="wsn-br:NotificationBroker" service-name="notification:NotificationBrokerService"> <!-- endpoint-name="NotificationBrokerServiceEndpoint">--> <!-- CDK specific fields --> <petalsCDK:operation>Subscribe</petalsCDK:operation> <petalsCDK:mep>InOut</petalsCDK:mep> <!-- Component specific elements --> <!-- Subscription to process on init : --> <wsn-cons:requestPayloadPath>subscribe-payload.xml</wsn-cons:requestPayloadPath> </jbi:consumes> </jbi:services> </jbi:jbi> A xml representation of a "Subscribe" request payload is provided by the service unit. This file is named The content of the "subscribe-payload.xml" file : <?xml version="1.0" encoding="UTF-8"?> <wsnt:Subscribe xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:ebm="http://www.ebmwebsourcing.com/wsnotification/specificTypes" targetnamespace ="http://docs.oasis-open.org/wsn/b-2"> <wsnt:ConsumerReference> <wsa:Address>[http://petals.ow2.org/cdk</wsa:Addres> <wsa:ReferenceParameters> <ebm:SOAParameter> <ebm:ServiceName xmlns:ns8="http://www.ebmwebsourcing.com/WS-BaseNotification">ns8:SeWsnConsumerNotificationConsumerService</ebm:ServiceName> <ebm:InterfaceName xmlns:ns8="http://docs.oasis-open.org/wsn/bw-2">ns8:NotificationConsumer</ebm:InterfaceName> <ebm:Endpoint>SeWsnConsumerNotificationConsumerEndpoint</ebm:Endpoint> </ebm:SOAParameter> </wsa:ReferenceParameters> </wsnt:ConsumerReference> <wsnt:Filter> <wsnt:TopicExpression Dialect="http://docs.oasis-open.org/wsn/t-1/TopicExpression/Full" xmlns:internalns="http://petals.ow2.org/topicNamespace/sample/Internal">internalns:rootTopic1/childTopic2//*\[@wstop:topic='true'\]</wsnt:TopicExpression> </wsnt:Filter> <wsnt:InitialTerminationTime>PT1H</wsnt:InitialTerminationTime> <wsnt:SubscriptionPolicy/> </wsnt:Subscribe> Service unit of petals-se-WsnProducer service engine componentIn the jbi.xml file, two parameters are ws-notification specific : "ws-cons:requestPayloadPath" and fields that specify respectively the Subscribe request payload and the "SupportedTopicsSet.xml" file path to use. The content of the "jbi.xml" file : <?xml version="1.0" encoding="UTF-8"?> <!--JBI descriptor for the PEtALS' "petals-se-WsnProducer" component (WS-Notification). Originally created for the version 1.0-SNAPSHOT of the component.--> <jbi:jbi version="1.0" xmlns:notification="http://petals.ow2.org/petals-se-notification" xmlns:wsn-br="http://docs.oasis-open.org/wsn/br-2" xmlns:wsn-prod="http://petals.ow2.org/petals-se-wsnproducer" xmlns:jbi="http://java.sun.com/xml/ns/jbi" xmlns:petalsCDK="http://petals.ow2.org/components/extensions/version-5" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <!-- Import a Service into PEtALS or Expose a PEtALS Service => use a BC. --> <jbi:services binding-component="false"> <!-- Expose a PEtALS Service => consumes a Service. --> <jbi:consumes interface-name="wsn-br:NotificationBroker" service-name="notification:NotificationBrokerService"> <!-- endpoint-name="NotificationBrokerServiceEndpoint">--> <!-- CDK specific fields --> <petalsCDK:operation>RegisterPublisher</petalsCDK:operation> <petalsCDK:mep>InOut</petalsCDK:mep> <!-- Component specific elements --> <!-- Subscription to process on init : --> <wsn-prod:requestPayload>/registerOnStart.xml</wsn-prod:requestPayload> <wsn-prod:supportedTopicsSet>/SupportedTopicsSet.xml</wsn-prod:supportedTopicsSet> </jbi:consumes> </jbi:services> </jbi:jbi> An xml representation of a "RegisterPublisher" request payload is provided by the service unit. This file is named "registerOnStart.xml" The content of the "registerOnStart.xml" file : <?xml version="1.0" encoding="UTF-8"?> <wsn-br:RegisterPublisher xmlns:wsn-br="http://docs.oasis-open.org/wsn/br-2" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:ebm="http://www.ebmwebsourcing.com/wsnotification/specificTypes" targetnamespace ="http://docs.oasis-open.org/wsn/br-2"> <wsn-br:PublisherReference> <wsa:Address>[http://petals.ow2.org/ws-addressing/cdk</wsa:Address>]; <wsa:ReferenceParameters> <ebm:SOAParameter> <ebm:ServiceName xmlns:ns8="http://www.ebmwebsourcing.com/WS-BaseNotification">ns8:SeWsnProducerNotificationProducerService</ebm:ServiceName> <ebm:InterfaceName xmlns:ns8="http://docs.oasis-open.org/wsn/bw-2">ns8:NotificationProducer</ebm:InterfaceName> <ebm:Endpoint>SeWsnProducerNotificationProducerEndpoint</ebm:Endpoint> </ebm:SOAParameter> </wsa:ReferenceParameters> </wsn-br:PublisherReference> <wsn-br:Topic Dialect="http://docs.oasis-open.org/wsn/t-1/TopicExpression/Full> xmlns:internalns="http://petals.ow2.org/topicNamespace/sample/Internal">internalns:rootTopic1//*\[@wstop:topic='true'\]</wsn-br:Topic> <wsn-br:Demand>true</wsn-br:Demand> <wsn-br:InitialTerminationTime>2009-12-25T00:00:00.00000Z</wsn-br:InitialTerminationTime> </wsn-br:RegisterPublisher> And an xml representation of topics supported by the producer is also provided by the service unit. This file is "SupportedTopicsSet.xml" and its content : <?xml version="1.0" encoding="UTF-8"?> <wstop:TopicSet xmlns:wstop="http://docs.oasis-open.org/wsn/t-1" xmlns:internalns="http://petals.ow2.org/topicNamespace/sample/Internal" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <internalns:rootTopic1 wstop:topic="true"> <childTopic1 wstop:topic="true"/> <childTopic2> <grandChildTopic21 wstop:topic="true"/> </childTopic2> <childTopic3 wstop:topic="true"/> </internalns:rootTopic1> </wstop:TopicSet> Running WS-Notification usecasesYou can test Petals ESB WS-Notification features using the webconsole test section or you can deploy and start petals-se-Wsn Producer/Consumer components that will automatically process Notification Requests("Subscribe" and "RegisterPublisher requests on start;"Notify" request each 30 seconds) when their services assemblies are deployed and started. using petals-se-WsnProducer, petals-se-WsnConsumer componentsInstalling petals-se-WsnProducer and petals-se-WsnConsumer components and their service assemblies will automatically launch usecases. No interactions are needed. On Service assembly start, the petals-se-WsnProducer sends a RegisterPublisher request to the petals-se-notification and the petals-se-WsnConsumer do the same by sending a "Subscribe" request to the petals-se-notification component. Its Subscribe request is then forwarded to the petals-se-WsnProducer as soon as the petals-se-WsnProducer is registered.
Until the petals-se-WsnConsumer send "Unsubscribe" request, the petals-se-WsnProducer will send a Notification message - Notify request - each 30 second to the petals-se-notification.
using "test section" of the webconsoleYou can also test Petals ESB features using the webconsole. To do that you must install petals-se-notification and petals-se-rmi component
Than to interact with petals-se-notification component, go to "Test" page :
Select the endpoint respect to what Request you want to perform :
AnnexesPetals-se-notification associated wsdl file<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://petals.ow2.org/petals-se-notification" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsn-bw="http://docs.oasis-open.org/wsn/bw-2" xmlns:wsn-brw="http://docs.oasis-open.org/wsn/brw-2" xmlns:wsn-br="http://docs.oasis-open.org/wsn/br-2" xmlns:wstop="http://docs.oasis-open.org/wsn/t-1" name="WS-BrokeredNotification" targetNamespace="http://petals.ow2.org/petals-se-notification"> <!-- ================================================== --> <!-- ================== imports ======================= --> <!-- ================================================== --> <wsdl:import location="brw-2.wsdl" namespace="http://docs.oasis-open.org/wsn/brw-2" /> <wsdl:import location="bw-2.wsdl" namespace="http://docs.oasis-open.org/wsn/bw-2" /> <!-- ========================================================= --> <!-- ========= Extended or Custom Types Definitions ========== --> <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> <!-- this section describes some custom types used in child \--> <!-- nodes where allowed element type - see associated \--> <!-- XML schema - is "anyType". For example "QueryExpressionType" \--> <!-- defined in the "b-2.xsd" XML schema file - which is a part of \--> <!-- "WS-BaseNotification" specification - allowed "anyType" child \--> <!-- node. In this specific case a simple "string" child node \--> <!-- called "xpath" is used. Of course, this choice is not \--> <\!-\- restrictive and "any other type" child node can still be used instead \--> <\!-\- \~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\~ \--> <\!-\- ========================================================= \--> <wsdl:types> <xsd:schema targetNamespace="http://petals.ow2.org/petals-se-notification"> <xsd:import namespace="http://www.ebmwebsourcing.com/wsnotification/specificTypes" schemaLocation="specificTypesForNotification.xsd" /> <xsd:import namespace="http://docs.oasis-open.org/wsn/t-1" schemaLocation="t-1.xsd"/> <xsd:element name="SupportedTopicsMsgResponse" type="wstop:TopicSetType"/> </xsd:schema> </wsdl:types> <\!-\- ================================================== \--> <\!-\- ========= Message part definition ================ \--> <\!-\- ================================================== \--> <wsdl:message name="EmptyMessage"/> <wsdl:message name="SupportedTopicsMessage"> <wsdl:part name="body" element="tns:SupportedTopicsMsgResponse"/> </wsdl:message> <\!-\- =============================================== \--> <\!-\- ========= PortType definition ================ \--> <\!-\- =============================================== \--> <wsdl:portType name="SupportedTopicsSet"> <wsdl:documentation> This port type defines a Web service that provides information about Topics currently supported by the Broker. </wsdl:documentation> <wsdl:operation name="GetSupportedTopics"> <wsdl:input message="tns:EmptyMessage"/> <wsdl:output message="tns:SupportedTopicsMessage"/> </wsdl:operation> </wsdl:portType> <\!-\- ============================================= \--> <\!-\- ========== Binding definition =============== \--> <\!-\- ============================================= \--> <\!-\- NotificationBroker binding definition \--> <wsdl:binding name="NotificationBrokerBinding" type="wsn-brw:NotificationBroker"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" /> <wsdl:operation name="Notify"> <soap:operation soapAction="http://docs.oasis-open.org/wsn/b-2/Notify" /> <wsdl:input> <soap:body use="literal" /> </wsdl:input> </wsdl:operation> <wsdl:operation name="Subscribe"> <soap:operation soapAction="http://docs.oasis-open.org/wsn/b-2/Subscribe" /> <wsdl:input> <soap:body use="literal" /> </wsdl:input> <wsdl:output> <soap:body use="literal" /> </wsdl:output> <wsdl:fault name="ResourceUnknownFault"> <soap:fault use="literal" name="ResourceUnknownFault" /> </wsdl:fault> <wsdl:fault name="InvalidFilterFault"> <soap:fault use="literal" name="InvalidFilterFault" /> </wsdl:fault> <wsdl:fault name="TopicExpressionDialectUnknownFault"> <soap:fault use="literal" name="TopicExpressionDialectUnknownFault" /> </wsdl:fault> <wsdl:fault name="InvalidTopicExpressionFault"> <soap:fault use="literal" name="InvalidTopicExpressionFault" /> </wsdl:fault> <wsdl:fault name="TopicNotSupportedFault"> <soap:fault use="literal" name="TopicNotSupportedFault" /> </wsdl:fault> <wsdl:fault name="InvalidProducerPropertiesExpressionFault"> <soap:fault use="literal" name="InvalidProducerPropertiesExpressionFault" /> </wsdl:fault> <wsdl:fault name="InvalidMessageContentExpressionFault"> <soap:fault use="literal" name="InvalidMessageContentExpressionFault" /> </wsdl:fault> <wsdl:fault name="UnacceptableInitialTerminationTimeFault"> <soap:fault use="literal" name="UnacceptableInitialTerminationTimeFault" /> </wsdl:fault> <wsdl:fault name="UnrecognizedPolicyRequestFault"> <soap:fault use="literal" name="UnrecognizedPolicyRequestFault" /> </wsdl:fault> <wsdl:fault name="UnsupportedPolicyRequestFault"> <soap:fault use="literal" name="UnsupportedPolicyRequestFault" /> </wsdl:fault> <wsdl:fault name="NotifyMessageNotSupportedFault"> <soap:fault use="literal" name="NotifyMessageNotSupportedFault" /> </wsdl:fault> <wsdl:fault name="SubscribeCreationFailedFault"> <soap:fault use="literal" name="SubscribeCreationFailedFault" /> </wsdl:fault> </wsdl:operation> <wsdl:operation name="GetCurrentMessage"> <soap:operation soapAction="http://docs.oasis-open.org/wsn/b-2/GetCurrentMessage" /> <wsdl:input> <soap:body use="literal" /> </wsdl:input> <wsdl:output> <soap:body use="literal" /> </wsdl:output> <wsdl:fault name="ResourceUnknownFault"> <soap:fault use="literal" name="ResourceUnknownFault" /> </wsdl:fault> <wsdl:fault name="TopicExpressionDialectUnknownFault"> <soap:fault use="literal" name="TopicExpressionDialectUnknownFault" /> </wsdl:fault> <wsdl:fault name="InvalidTopicExpressionFault"> <soap:fault use="literal" name="InvalidTopicExpressionFault" /> </wsdl:fault> <wsdl:fault name="TopicNotSupportedFault"> <soap:fault use="literal" name="TopicNotSupportedFault" /> </wsdl:fault> <wsdl:fault name="NoCurrentMessageOnTopicFault"> <soap:fault use="literal" name="NoCurrentMessageOnTopicFault" /> </wsdl:fault> <wsdl:fault name="MultipleTopicsSpecifiedFault"> <soap:fault use="literal" name="MultipleTopicsSpecifiedFault" /> </wsdl:fault> </wsdl:operation> <wsdl:operation name="RegisterPublisher"> <soap:operation soapAction="http://docs.oasis-open.org/wsn/br-2/RegisterPublisher" /> <wsdl:input> <soap:body use="literal" /> </wsdl:input> <wsdl:output> <soap:body use="literal" /> </wsdl:output> <wsdl:fault name="ResourceUnknownFault"> <soap:fault use="literal" name="ResourceUnknownFault" /> </wsdl:fault> <wsdl:fault name="InvalidTopicExpressionFault"> <soap:fault use="literal" name="InvalidTopicExpressionFault" /> </wsdl:fault> <wsdl:fault name="TopicNotSupportedFault"> <soap:fault use="literal" name="TopicNotSupportedFault" /> </wsdl:fault> <wsdl:fault name="PublisherRegistrationRejectedFault"> <soap:fault use="literal" name="PublisherRegistrationRejectedFault" /> </wsdl:fault> <wsdl:fault name="PublisherRegistrationFailedFault"> <soap:fault use="literal" name="PublisherRegistrationFailedFault" /> </wsdl:fault> <wsdl:fault name="UnacceptableInitialTerminationTimeFault"> <soap:fault use="literal" name="UnacceptableInitialTerminationTimeFault" /> </wsdl:fault> <wsdl:operation> </wsdl:binding> <\!-\- PublisherRegistrationManager binding definition \--> <wsdl:binding name="PublisherRegistrationManagerBinding" type="wsn-brw:PublisherRegistrationManager"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" /> <wsdl:operation name="DestroyRegistration"> <soap:operation soapAction="http://docs.oasis-open.org/wsn/br-2/DestroyRegistration" /> <wsdl:input name="DestroyRegistrationRequest"> <soap:body use="literal" /> </wsdl:input> <wsdl:output name="DestroyRegistrationResponse"> <soap:body use="literal" /> </wsdl:output> <wsdl:fault name="ResourceUnknownFault"> <soap:fault use="literal" name="ResourceUnknownFault" /> </wsdl:fault> <wsdl:fault name="ResourceNotDestroyedFault"> <soap:fault use="literal" name="ResourceNotDestroyedFault" /> </wsdl:fault> </wsdl:operation> </wsdl:binding> <\!-\- SubscriptionManager binding definition \--> <wsdl:binding name="SubscriptionManagerBinding" type="wsn-bw:SubscriptionManager"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" /> <wsdl:operation name="Renew"> <soap:operation soapAction="http://docs.oasis-open.org/wsn/b-2/Renew" /> <wsdl:input name="RenewRequest"> <soap:body use="literal" /> </wsdl:input> <wsdl:output name="RenewResponse"> <soap:body use="literal" /> </wsdl:output> <wsdl:fault name="ResourceUnknownFault"> <soap:fault use="literal" name="ResourceUnknownFault" /> </wsdl:fault> <wsdl:fault name="UnacceptableTerminationTimeFault"> <soap:fault use="literal" name="UnacceptableTerminationTimeFault" /> </wsdl:fault> </wsdl:operation> <wsdl:operation name="Unsubscribe"> <soap:operation soapAction="http://docs.oasis-open.org/wsn/b-2/Unsubscribe" /> <wsdl:input name="UnsubscribeRequest"> <soap:body use="literal" /> </wsdl:input> <wsdl:output name="UnsubscribeResponse"> <soap:body use="literal" /> </wsdl:output> <wsdl:fault name="ResourceUnknownFault"> <soap:fault use="literal" name="ResourceUnknownFault" /> </wsdl:fault> <wsdl:fault name="UnableToDestroySubscriptionFault"> <soap:fault use="literal" name="UnableToDestroySubscriptionFault" /> </wsdl:fault> </wsdl:operation> </wsdl:binding> <\!-- SupportedTopicsSet portType Service binding definition \--> <wsdl:binding name="SupportedTopicsSetBinding" type="tns:SupportedTopicsSet"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" /> <wsdl:operation name="GetSupportedTopics"> <soap:operation soapAction="http://www.ebmwebsourcing.com/WS-BrokeredNotification/GetSupportedTopics" /> <wsdl:input> <soap:body use="literal" /> </wsdl:input> <wsdl:output> <soap:body use="literal" /> </wsdl:output> </wsdl:operation> </wsdl:binding> <\!-\- ============================================= \--v <\!-\- =========== Service part definition ========= \--> <\!-\- ============================================= \--> <wsdl:service name="NotificationBrokerService"> <wsdl:port name="NotificationBrokerServiceEndpoint" binding="tns:NotificationBrokerBinding"> <soap:address location="petals:autogenerate" /> </wsdl:port> </wsdl:service> <wsdl:service name="PublisherRegistrationManagerService"> <wsdl:port name="PublisherRegistrationManagerServiceEndpoint" binding="tns:PublisherRegistrationManagerBinding"> <soap:address location="petals:autogenerate" /> </wsdl:port> </wsdl:service> <wsdl:service name="SubscriptionManagerService"> <wsdl:port name="SubscriptionManagerServiceEndpoint" binding="tns:SubscriptionManagerBinding"> <soap:address location="petals:autogenerate" /> </wsdl:port> </wsdl:service> <wsdl:service name="SupportedTopicsService"> <wsdl:port name="SupportedTopicsServiceEndpoint" binding="tns:SupportedTopicsSetBinding"> <soap:address location="petals:autogenerate" /> </wsdl:port> </wsdl:service> </wsdl:definitions> Ws-Notification requests templatesSubscribe Request Payload template : <wsnt:Subscribe xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:ebm="http://www.ebmwebsourcing.com/wsnotification/specificTypes" targetnamespace ="http://docs.oasis-open.org/wsn/b-2"> <wsnt:ConsumerReference> <wsa:Address>[http://petals.ow2.org/cdk</wsa:Address>]; <wsa:ReferenceParameters> <ebm:SOAParameter> <ebm:ServiceName xmlns:ns8="http://www.ebmwebsourcing.com/WS-BaseNotification">ns8:SeWsnConsumerNotificationConsumerService</ebm:ServiceName> <ebm:InterfaceName xmlns:ns8="http://docs.oasis-open.org/wsn/bw-2">ns8:NotificationConsumer</ebm:InterfaceName> <ebm:Endpoint>SeWsnConsumerNotificationConsumerEndpoint</ebm:Endpoint> </ebm:SOAParameter> </wsa:ReferenceParameters> </wsnt:ConsumerReference> <wsnt:Filter> <wsnt:TopicExpression Dialect="http://docs.oasis-open.org/wsn/t-1/TopicExpression/Full" xmlns:internalns="http://petals.ow2.org/topicNamespace/sample/Internal"> internalns:rootTopic1/childTopic2//*\[@wstop:topic='true'\] </wsnt:TopicExpression> </wsnt:Filter> <wsnt:InitialTerminationTime>PT1H</wsnt:InitialTerminationTime> <wsnt:SubscriptionPolicy/> </wsnt:Subscribe> Unsubscribe Request Payload template : <wsnt:Unsubscribe xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:ebm="http://www.ebmwebsourcing.com/wsnotification/specificTypes" targetnamespace="http://docs.oasis-open.org/wsn/b-2"> <wsa:EndpointReference> <wsa:Address>my_mail@ebmwebsourcing.com</wsa:Address> </wsa:EndpointReference> <ebm:ResourceUuidList> <ebm:Uuid>\[Copy_and_Paste_Uuid_value_returned_in_SubscribeResponse\]</ebm:Uuid> </ebm:ResourceUuidList> </wsnt:Unsubscribe> RegisterPublisher Request Payload template : <wsn-br:RegisterPublisher xmlns:wsn-br="http://docs.oasis-open.org/wsn/br-2" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:ebm="http://www.ebmwebsourcing.com/wsnotification/specificTypes" targetnamespace ="http://docs.oasis-open.org/wsn/br-2"> <wsn-br:PublisherReference> <wsa:Address>[http://petals.ow2.org/ws-addressing/cdk</wsa:Address>]; <wsa:ReferenceParameters> <ebm:SOAParameter> <ebm:ServiceName xmlns:ns8="http://www.ebmwebsourcing.com/WS-BaseNotification">ns8:SeWsnProducerNotificationProducerService</ebm:ServiceName> <ebm:InterfaceName xmlns:ns8="http://docs.oasis-open.org/wsn/bw-2">ns8:NotificationProducer</ebm:InterfaceName> <ebm:Endpoint>SeWsnProducerNotificationProducerEndpoint</ebm:Endpoint> </ebm:SOAParameter> </wsa:ReferenceParameters> </wsn-br:PublisherReference> <wsn-br:Topic Dialect="http://docs.oasis-open.org/wsn/t-1/TopicExpression/Full" xmlns:internalns="http://petals.ow2.org/topicNamespace/sample/Internal">internalns:rootTopic1//*\[@wstop:topic='true'\]</wsn-br:Topic> <wsn-br:Demand>true</wsn-br:Demand> <wsn-br:InitialTerminationTime>2009-12-25T00:00:00.00000Z</wsn-br:InitialTerminationTime> </wsn-br:RegisterPublisher> DestroyRegistration Request Payload template : <wsn-br:DestroyRegistration xmlns:wsn-br="http://docs.oasis-open.org/wsn/br-2" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:ebm="http://www.ebmwebsourcing.com/wsnotification/specificTypes" targetnamespace="http://docs.oasis-open.org/wsn/br-2"> <ebm:ResourceUuidList> <ebm:Uuid>\[Copy_and_Paste_Uuid_value_returned_in_RegisterPublisherResponse\]</ebm:Uuid> </ebm:ResourceUuidList> </wsn-br:DestroyRegistration> Notify Request Payload template : <wsnt:Notify xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:ebm="http://www.ebmwebsourcing.com/wsnotification/specificTypes" targetnamespace="http://docs.oasis-open.org/wsn/b-2"> <wsnt:NotificationMessage> <wsnt:SubscriptionReference> <wsa:Address>[http://petals.ow2.org/cdk</wsa:Address>]; <wsa:ReferenceParameters> <ebm:SOAParameter> <ebm:ServiceName xmlns:ns8="http://petals.ow2.org/petals-se-notification">ns8:SubscriptionManagerService</ebm:ServiceName> <ebm:InterfaceName xmlns:ns8="http://docs.oasis-open.org/wsn/bw-2">ns8:SubscriptionManager</ebm:InterfaceName> <ebm:Endpoint>SubscriptionManagerEndpoint</ebm:Endpoint> </ebm:SOAParameter> <ebm:ResourceUuidList> <ebm:Uuid>f6324db3-486e-46b0-a6aa-eecc76a92eb1</ebm:Uuid> </ebm:ResourceUuidList> </wsa:ReferenceParameters> </wsnt:SubscriptionReference> <wsnt:Topic Dialect="http://docs.oasis-open.org/wsn/t-1/TopicExpression/Concrete" xmlns:internalns="http://petals.ow2.org/topicNamespace/sample/Internal">internalns:rootTopic1/childTopic2/grandChildTopic21</wsnt:Topic> <wsnt:ProducerReference> <wsa:Address>[http://petals.ow2.org/ws-addressing/default</wsa:Address>]; <wsa:ReferenceParameters> <ebm:SOAParameter> <ebm:ServiceName xmlns:ns8="http://petals.ow2.org/petals-se-notification">ns8:NotificationProducerService</ebm:ServiceName> <ebm:InterfaceName xmlns:ns8="http://docs.oasis-open.org/wsn/bw-2">ns8:NotificationProducer</ebm:InterfaceName> <ebm:Endpoint>NotificationProducerEndpoint</ebm:Endpoint> </ebm:SOAParameter> </wsa:ReferenceParameters> </wsnt:ProducerReference> <wsnt:Message> <npex:NotifyContent xmlns:npex="http://petals.ow2.org/aNamespaceSample">This is the content - payload - of the notification</npex:NotifyContent> </wsnt:Message> </wsnt:NotificationMessage> </wsnt:Notify> |
Table of contents
Contributors
No contributors found for: authors on selected page(s)
|