[Error!]SES Level2 Filter

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[Error!]SES Level2 Filter

Dana
Hi all,
    Recently I've installed SES(1.2.2) and tried the xpath Subscription and Notification and it is working. Now I am trying to use a level 2 filter. I write a filter according the example in SES spec 08-133(ver 0.3.0) but the subscription is failing and I receive the following error message:
*********************************error message***********************************
<soap:Fault>
            <soap:Code>
                <soap:Value>soap:Receiver</soap:Value>
            </soap:Code>
            <soap:Reason>
                <soap:Text xml:lang="en-US">Expected attribute: id@http://www.opengis.net/gml/3.2 in element TimeInstant@http://www.opengis.net/gml/3.2</soap:Text>
            </soap:Reason>
            <soap:Detail>
                <ExceptionReport xmlns="http://www.opengis.net/ows" version="0.0.0">
                    <Exception exceptionCode="Unspecified">
                        <ExceptionText>
<![CDATA[Expected attribute: id@http://www.opengis.net/gml/3.2 in element TimeInstant@http://www.opengis.net/gml/3.2
org.n52.oxf.xmlbeans.parser.XMLBeansParser.validateOnParse(XMLBeansParser.java:233)
org.n52.oxf.xmlbeans.parser.XMLBeansParser.parse(XMLBeansParser.java:220)
org.n52.ses.filter.SESConstraintFilterHandler.newInstance(SESConstraintFilterHandler.java:114)
org.apache.muse.ws.notification.impl.FilterFactory.newInstance(FilterFactory.java:129)
org.apache.muse.ws.notification.impl.Subscribe.<init>(Subscribe.java:83)
org.n52.ses.wsn.SubscribeWithPolicy.<init>(SubscribeWithPolicy.java:46)
org.n52.ses.wsn.SubscribeWithPolicyHandler.fromXML(SubscribeWithPolicyHandler.java:41)
org.apache.muse.core.SimpleResource.invoke(SimpleResource.java:368)
org.apache.muse.core.routing.SimpleResourceRouter.invoke(SimpleResourceRouter.java:326)
org.n52.ses.common.SESResourceRouter.invoke(SESResourceRouter.java:57)
org.apache.muse.core.platform.mini.MiniIsolationLayer.handleRequest(MiniIsolationLayer.java:114)
org.n52.ses.common.environment.SESMiniServlet.handleSoapRequest(SESMiniServlet.java:185)
org.n52.ses.common.environment.SESMiniServlet.doPost(SESMiniServlet.java:153)
javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)
org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2500)
org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2489)
java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
java.lang.Thread.run(Unknown Source)
]]>
</ExceptionText>
                    </Exception>
                </ExceptionReport>
            </soap:Detail>
        </soap:Fault>
*********************************error message***********************************

My subscribe & notify xml are given below.
*********************************Subscribe xml ***********************************
<?xml version="1.0" encoding="UTF-8" ?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
    <env:Header>
        <wsa:To xmlns:wsa="http://www.w3.org/2005/08/addressing">http://localhost:8080/52n-ses-1.2.2/services/SesPortType</wsa:To>
        <wsa:Action xmlns:wsa="http://www.w3.org/2005/08/addressing">http://docs.oasis-open.org/wsn/bw-2/NotificationProducer/SubscribeRequest</wsa:Action>
        <wsa:MessageID xmlns:wsa="http://www.w3.org/2005/08/addressing">uuid:1b4d3025-f80a-a5b6-aa37-864c47fa1a7e</wsa:MessageID>
        <wsa:From xmlns:wsa="http://www.w3.org/2005/08/addressing">
            <wsa:Address>http://www.w3.org/2005/08/addressing/role/anonymous</wsa:Address>
        </wsa:From>
    </env:Header>
    <env:Body>
        <wsnt:Subscribe xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2">
            <wsnt:ConsumerReference>
                <wsa:Address xmlns:wsa="http://www.w3.org/2005/08/addressing">http://localhost:8092</wsa:Address>
            </wsnt:ConsumerReference>
            <wsnt:Filter>
                <wsnt:MessageContent Dialect="http://www.opengis.net/ses/filter/level2">
                    <fes:Filter xmlns:fes="http://www.opengis.net/fes/2.0"
                                                        xmlns:gml="http://www.opengis.net/gml/3.2"
                                                        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                                                        xsi:schemaLocation="http://www.opengis.net/fes/2.0
                                                        http://schemas.opengis.net/filter/2.0.0/filterAll.xsd
                                                        http://www.opengis.net/gml/3.2
                                                        http://schemas.opengis.net/gml/3.2.1/gml.xsd">
                        <fes:And>
                            <fes:PropertyIsGreaterThan>
                                                            <fes:ValueReference>AirTemperature</fes:ValueReference>
                                                                <fes:Literal>
                                   <gml:Quantity uom="Cel">30</gml:Quantity>
                                </fes:Literal>
                                                        </fes:PropertyIsGreaterThan>
                                                        <fes:Contains>
                                                            <fes:ValueReference>input/geometry</fes:ValueReference>
                                                                <gml:Envelope srsName="urn:ogc:def:crs:EPSG::4326">
                                                                <gml:lowerCorner>30.0000 114.0000</gml:lowerCorner>
                                                                <gml:upperCorner>31.0000 114.8000</gml:upperCorner>
                                                                </gml:Envelope>
                                                        </fes:Contains>
                                                        <fes:After>
                                                            <fes:ValueReference>starTime</fes:ValueReference>
                                                                <gml:TimeInstant>
                                                                   <gml:timePosition>2010-12-01T00:00:00.000+08:00</gml:timePosition>
                                                                </gml:TimeInstant>
                                                        </fes:After>
                        </fes:And>
                    </fes:Filter>
                </wsnt:MessageContent>
            </wsnt:Filter>
        </wsnt:Subscribe>
    </env:Body>
</env:Envelope>
*********************************Subscribe xml ***********************************
*********************************Notify xml **************************************
<?xml version="1.0" encoding="UTF-8" ?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2">
    <soap:Header>
        <wsa:To>http://localhost:8080/52n-ses-1.2.2/services/SesPortType</wsa:To>
        <wsa:Action>http://docs.oasis-open.org/wsn/bw-2/NotificationConsumer/Notify</wsa:Action>
        <wsa:MessageID>uuid:1b4d3025-f80a-a5b6-aa37-864c47fa1a7e</wsa:MessageID>
        <wsa:From>
            <wsa:Address>http://www.w3.org/2005/08/addressing/role/anonymous</wsa:Address>
        </wsa:From>
    </soap:Header>
    <soap:Body>
        <wsnt:Notify>
            <wsnt:NotificationMessage>
                <wsnt:Topic Dialect="http://docs.oasis-open.org/wsn/t-1/TopicExpression/Simple">Measurements</wsnt:Topic>
                <wsnt:Message>
                    <om:Observation gml:id="ot_279501-4" xmlns:gml="http://www.opengis.net/gml" xmlns:om="http://www.opengis.net/om/1.0" xmlns:sa="http://www.opengis.net/sampling/1.0" xmlns:swe="http://www.opengis.net/swe/1.0.1" xmlns:xlink="http://www.w3.org/1999/xlink">
                        <om:samplingTime>
                            <gml:TimeInstant>
                                <gml:timePosition>2011-01-01T00:00:00.000+08:00</gml:timePosition>
                            </gml:TimeInstant>
                        </om:samplingTime>
                        <om:procedure xlink:href="urn:liesmars:object:feature:Platform:Station:Weather:sta-a001" />
                        <om:observedProperty>
                            <swe:CompositePhenomenon gml:id="cpid0" dimension="1">
                                <gml:name>resultComponents</gml:name>
                                <swe:component xlink:href="http://www.opengis.net/def/uom/ISO-8601/0/Gregorian" />
                                <swe:component xlink:href="urn:liesmars:def:phenomenon:LIESMARS:1.0.0:Temperature" />
                                <swe:component xlink:href="urn:liesmars:def:phenomenon:LIESMARS:1.0.0:Speed" />
                                <swe:component xlink:href="urn:liesmars:def:phenomenon:LIESMARS:1.0.0:Direction" /></swe:CompositePhenomenon>
                        </om:observedProperty>
                        <om:featureOfInterest>
                            <sa:SamplingPoint gml:id="sta-a001">
                                <gml:name>station a001</gml:name>
                                <sa:sampledFeature xlink:href="" />
                                <sa:position>
                                    <gml:Point srsName="urn:ogc:def:crs:EPSG::4326">
                                        <gml:pos>30.535296 114.369321</gml:pos>
                                    </gml:Point>
                                </sa:position>
                            </sa:SamplingPoint>
                        </om:featureOfInterest>
                        <om:result>
                            <swe:DataArray>
                                <swe:elementCount>
                                    <swe:Count>
                                        <swe:value>1</swe:value>
                                    </swe:Count>
                                </swe:elementCount>
                                <swe:elementType name="Components">
                                    <swe:DataRecord>
                                        <swe:field name="Time">
                                            <swe:Time definition="http://www.opengis.net/def/uom/ISO-8601/0/Gregorian" /></swe:field>
                                        <swe:field name="AirTemperature">
                                            <swe:Quantity definition="urn:liesmars:def:phenomenon:LIESMARS:1.0.0:Temperature">
                                                <swe:uom code="Cel" /></swe:Quantity>
                                        </swe:field>
                                        <swe:field name="WindSpeed">
                                            <swe:Quantity definition="urn:liesmars:def:phenomenon:LIESMARS:1.0.0:Speed">
                                                <swe:uom code="m/s" /></swe:Quantity>
                                        </swe:field>
                                        <swe:field name="WindDirection">
                                            <swe:Quantity definition="urn:liesmars:def:phenomenon:LIESMARS:1.0.0:Direction">
                                                <swe:uom code="degree" /></swe:Quantity>
                                        </swe:field>
                                    </swe:DataRecord>
                                </swe:elementType>
                                <swe:encoding>
                                    <swe:TextBlock decimalSeparator="." tokenSeparator="," blockSeparator=";" /></swe:encoding>
                                <swe:values>2011-01-01T00:00:00.000+08:00,-0.6,11.8,226;</swe:values>
                            </swe:DataArray>
                        </om:result>
                    </om:Observation>
                </wsnt:Message>
            </wsnt:NotificationMessage>
        </wsnt:Notify>
    </soap:Body>
</soap:Envelope>
*********************************Notify xml **************************************
Any suggessition please.