← Prev in month
← Prev in thread
Event Definitions and Payload XMLs
Kevin, We’ve revamped our interop producer to generate the different type of payloads that we may run into. The producer can be found in: http://www.netunitysoftware.com/wsrp2interop/WsrpProducer.asmx?WSDL There are two portlets dealing with events: 1) NetUnity WSRP 2 Interop – Events Generates events 2) NetUnity WSRP 2 Interop - Event Receiver Listens to events from #1 The four events are: 1) NoPayloadEvent Obviously an event without a payload <eventDescriptions xmlns:q21="urn:netunitysoftware:wsrp2interop" name="q21:NoPayloadEvent" xmlns="urn:oasis:names:tc:wsrp:v2:types"> <description xml:lang="en"> <value>No Payload Event</value> </description> <label xml:lang="en"> <value>No Payload Event</value> </label> </eventDescriptions> 2) DefaultPayloadEvent An event with a WSRP NamedStringArray payload <eventDescriptions xmlns:q18="urn:netunitysoftware:wsrp2interop" name="q18:DefaultPayloadEvent" type="NamedStringArray" xmlns="urn:oasis:names:tc:wsrp:v2:types"> <description xml:lang="en"> <value>Default Payload Event</value> </description> <label xml:lang="en"> <value>Default Payload Event</value> </label> </eventDescriptions> 3) SimplePayloadEvent An event with a simple string (xsd:string) payload <ServiceDescription xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> … <eventDescriptions xmlns:q20="urn:netunitysoftware:wsrp2interop" name="q20:SimplePayloadEvent" type="xsd:string" xmlns="urn:oasis:names:tc:wsrp:v2:types"> <description xml:lang="en"> <value>Simple Payload Event</value> </description> <label xml:lang="en"> <value>Simple Payload Event</value> </label> <schemaType> <xs:schema xmlns:tns="urn:netunitysoftware:wsrp2interop" elementFormDefault="qualified" targetNamespace="urn:netunitysoftware:wsrp2interop" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="SimplePayloadEvent" nillable="true" type="xs:string" /> </xs:schema> </schemaType> </eventDescriptions> 4) ComplexPayloadEvent An event with a complex payload containing multiple elements and sub-elements <eventDescriptions xmlns:q19="urn:netunitysoftware:wsrp2interop" name="q19:ComplexPayloadEvent" type="q19:ComplexPayload" xmlns="urn:oasis:names:tc:wsrp:v2:types"> <description xml:lang="en"> <value>Complex Payload Event</value> </description> <label xml:lang="en"> <value>Complex Payload Event</value> </label> <schemaType> <xs:schema xmlns:tns="urn:netunitysoftware:wsrp2interop" elementFormDefault="qualified" targetNamespace="urn:netunitysoftware:wsrp2interop" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="ComplexPayloadEvent" nillable="true" type="tns:ComplexPayload" /> <xs:complexType name="ComplexPayload"> <xs:sequence> <xs:element minOccurs="1" maxOccurs="1" name="IntValue" type="xs:int" /> <xs:element minOccurs="0" maxOccurs="1" name="StringValue" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="1" name="NestedData" type="tns:NestedData" /> </xs:sequence> </xs:complexType> <xs:complexType name="NestedData"> <xs:sequence> <xs:element minOccurs="0" maxOccurs="1" name="NestedStringValue" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:schema> </schemaType> </eventDescriptions> One question is: should/can the DefaultPayloadEvent event description specify a schema? Our current implementation does not given the element and the type are already defined in the WSRP schemas. There are some other questions as well related to generation of very complex schemas right in the web service when that generated schema needs to import other generated schemas. How are the imported schemas located/loaded? Do you wind with a combination where the main schema is in the web service and others have to be load using straight HTTP? Below is the blocking interaction for generating the above 4 events with appropriate payloads: <?xml version="1.0" encoding="utf-16"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <performBlockingInteractionResponse xmlns="urn:oasis:names:tc:wsrp:v2:types"> <updateResponse> <events xmlns:q1="urn:netunitysoftware:wsrp2interop" name="q1:DefaultPayloadEvent" type="NamedStringArray"> <payload> <namedStringArray> <NamedString name="ParameterOne"> <value>Parameter One</value> </NamedString> <NamedString name="ParameterTwo"> <value>Parameter Two</value> </NamedString> </namedStringArray> </payload> </events> <events xmlns:q2="urn:netunitysoftware:wsrp2interop" name="q2:ComplexPayloadEvent" type="q2:ComplexPayload"> <payload> <ComplexPayloadEvent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:netunitysoftware:wsrp2interop"> <IntValue>10</IntValue> <StringValue>String value</StringValue> <NestedData> <NestedStringValue>nested string value</NestedStringValue> </NestedData> </ComplexPayloadEvent> </payload> </events> <events xmlns:q3="urn:netunitysoftware:wsrp2interop" name="q3:SimplePayloadEvent" type="xsd:string"> <payload> <SimplePayloadEvent xmlns="urn:netunitysoftware:wsrp2interop">String Value</SimplePayloadEvent> </payload> </events> <events xmlns:q4="urn:netunitysoftware:wsrp2interop" name="q4:NoPayloadEvent" /> <navigationalContext /> </updateResponse> </performBlockingInteractionResponse> </soap:Body> </soap:Envelope> Please let me know if you need anything else from my end. Nader NetUnity Software From: Nathan Lipke [mailto:] Sent: Thursday, January 14, 2010 11:54 AM To: WSRP Subject: [wsrp] TC Call Jan 14. 2010 minutes Attendees: Dina Kevin Mike F Nadar Scott Nate Discussed event payload proposal at bottom of: http://wiki.oasis-open.org/wsrp/Event%20Payloads Nadar: Raised issues with the proposal: Need to investigate if the type holder elements are defined by some other W3C or OASIS group Thinks we should just require complex types Proposes modify option #2 to get rid of element will match TODO: Will investigate the proposal TODO: Will post his current payload XML for simple and complex types Kevin: TODO: Investigate can we parse NetUnity's current XML TODO: Investigate sending simple types without well-defined types TODO: Provide XML payloads with well-defined types Nate
← Prev in month
← Prev in thread