ws-eventing notification validation
narensb Dec 12, 2008 1:20 AMCan 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