0 Replies Latest reply on Dec 12, 2008 1:20 AM by Narender Bisht

    ws-eventing notification validation

    Narender Bisht Newbie

      Can i have multiple notification schema in a single event source wsdl?
      I am trying to dipatch 2 different notifications from a single event source.
      this is my event source wsdl

      <?xml version="1.0" encoding="UTF-8"?>
      
      <wsdl:definitions
       targetNamespace="http://com.infy"
       xmlns:tns="http://com.infy"
       xmlns:tns1="http://com.infy/SystemStatus"
       xmlns:tns2="http://com.infy/WindReport"
       xmlns:wse='http://schemas.xmlsoap.org/ws/2004/08/eventing'
       xmlns:wsdl='http://schemas.xmlsoap.org/wsdl/'
       xmlns:wsa10='http://www.w3.org/2005/08/addressing'
       xmlns:xs='http://www.w3.org/2001/XMLSchema'
       xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
      
       <wsdl:import
       namespace='http://schemas.xmlsoap.org/ws/2004/08/eventing'
       location='ws-eventing.wsdl' />
      
       <!--wsdl:import
       namespace='http://com.infy'
       location='sysmon1.wsdl' />-->
      
       <wsdl:types>
      
       <xs:schema targetNamespace='http://schemas.xmlsoap.org/ws/2004/08/eventing'>
       <xs:include schemaLocation='ws-eventing.xsd'/>
       </xs:schema>
      
      
      
       <xs:schema elementFormDefault="qualified" targetNamespace="http://com.infy"
       xmlns:tns1="http://com.infy/SystemStatus">
       <xs:import namespace="http://com.infy/SystemStatus" schemaLocation='SystemStatus.xsd'/>
       <!--xs:import namespace="http://com.infy/SystemStatus" schemaLocation='WindReport.xsd'/>-->
       </xs:schema>
      
       <xs:schema elementFormDefault="qualified" targetNamespace="http://com.infy"
       xmlns:tns2="http://com.infy/WindReport">
       <xs:import namespace="http://com.infy/WindReport" schemaLocation='WindReport.xsd'/>
       </xs:schema>
      
      
      
       </wsdl:types>
      
       <wsdl:message name='SystemInfoMsg'>
       <wsdl:part name='body' element='tns1:SystemStatus'/>
       </wsdl:message>
      
       <wsdl:message name='WindReportMsg'>
       <wsdl:part name='body' element='tns2:WindReport'/>
       </wsdl:message>
      
       <wsdl:portType name='SystemInfo' wse:EventSource='true'>
       <wsdl:operation name='WindRep'>
       <wsdl:output message='tns:WindReportMsg'/>
       </wsdl:operation>
       <wsdl:operation name='SysmonOp'>
       <wsdl:output message='tns:SystemInfoMsg'/>
       </wsdl:operation>
      
       </wsdl:portType>
      
       <wsdl:binding name="SystemInfoBinding" type="tns:SystemInfo">
       <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
       <wsdl:operation name="WindRep">
       <soap:operation soapAction=""/>
       <wsdl:output>
       <soap:body use="literal"/>
       </wsdl:output>
       </wsdl:operation>
       <wsdl:operation name="SysmonOp">
       <soap:operation soapAction=""/>
       <wsdl:output>
       <soap:body use="literal"/>
       </wsdl:output>
       </wsdl:operation>
      
       </wsdl:binding>
      
      </wsdl:definitions>

      I am importing 2 different schema file in the wsdl.
      when i try to dispatch "WindReport" notification it works fine.
      but when i dispatch "SystemStatus" notification it gives this error
      ERROR [SubscriptionManager] Root element expected namespace: http://com.infy/WindReport

      this is the notification payload for "SystemStatus" notification
      <h:SystemStatus xmlns:h='http://com.infy/SystemStatus'>
       <h:HostName>030701</h:HostName>
       <h:HostAddress>0041</h:HostAddress>
       <h:ActiveThreadCount>65</h:ActiveThreadCount>
       <h:FreeMemory>BRADENTON BEACH</h:FreeMemory>
       <h:MaxMemory>MANATEE</h:MaxMemory>
      </h:SystemStatus>


      what am i doing wrong here?
      please help