Loading...
 
ESA > Join & Share > Forums > SSE Forum > <xsl:apply-templates select="//mass:viewEmbeddedResult"/> into getOrderOutput template

SSE Forum

Help

Show posts:
Jump to forum:

<xsl:apply-templates select="//mass:viewEmbeddedResult"/> into getOrderOutput template

Hi,
In order to view the result of an Order Operation onto the WebMapViewer, I added (like explain iin the ICD 1.5 at sections 3.2.3.10 and 4.4.1) the <xsl:strip-space elements="*"/> at the begin of file (after <xsl:param name="part"/>) and into the template getOrderOutput the xsl statment <xsl:apply-templates select="//mass:viewEmbeddedResult"/> . When I add the second element, the portal return the Web Traffic Jam error.
I tried with //mass:viewEmbeddedResult, /mass:viewEmbeddedResult and mass:viewEmbeddedResult, but nothing change

Could you point me to a service currently using this feature?


Re: <xsl:apply-templates select="//mass:viewEmbeddedResult"/> into getOrderOutput template

Marco,

That is not a bug. It may depend on the WMV config and/or the workflow response/applied transformations, but can be changed at service level.

Since the beginning of this thread we have been using the WebMapViewer Test Page and the GML posted here, the polygon has always been in Saudi Arabia, not in Croatia.

Paulo



Re: <xsl:apply-templates select="//mass:viewEmbeddedResult"/> into getOrderOutput template

Thank you very much Paulo,
but there is another mistake: the coordinates are inverted.

We copy the coordinates from searchOutput (GML 2.1.2) to the resultEmbeddedResult.
I suppose that the WMV parse it against the GML 3.1 version

see this orderId: The AOI is near Zagreb while the resultEmbeddedResult is in Saudi Arabia.

Thank you for you support,

regards

Marco



Re: <xsl:apply-templates select="//mass:viewEmbeddedResult"/> into getOrderOutput template

Hello Marco.

A long time has passed, but finally we have some news on this issue. Two weeks ago, a patch was installed on the SSE Test Portal and among several other things, it should solve this problem of the footprints not being displayed, even with valid XML and no line-breaks inside the GML string.

I accessed some of the old orderId links you posted here and the polygons are there in fact.

Sorry for the time it took to come up with a solution, but this was a very complex problem where a third-party library (Apache Xalan) was performing some unexpected changes on the string.

Paulo



Re: <xsl:apply-templates select="//mass:viewEmbeddedResult"/> into getOrderOutput template

Hi Marco.

I made a few changes to your stylesheet for the Order operation, to try to align it with a working one, but to no avail.

The problem has been escalated to Spacebel. I don't expect a quick resolution due to a temporary understaffing situation.

Paulo



Re: <xsl:apply-templates select="//mass:viewEmbeddedResult"/> into getOrderOutput template

I change all schema locations with the correct absolute path, but the issue remain: new OrderID

Marco



Re: <xsl:apply-templates select="//mass:viewEmbeddedResult"/> into getOrderOutput template

Something which may influence this are the schema locations on the schemas provided to the SSE Service (Search, Present and Order operations).

Apparently, none of the schema locations that is pointed to is correct/accessible:

http://services-test.eoportal.org/portal/service/DisplayFile.do?fileName=MEEO_Calibrated_and_pre-classified_Landsat_Cat-1_Image_Order.XSD

http://services-test.eoportal.org/portal/service/DisplayFile.do?fileName=MEEO_Calibrated_and_pre-classified_Landsat_Cat-1_Image_Search.XSD

I'm not sure if this will fix it, but it would be good to have it corrected.

Paulo



Re: <xsl:apply-templates select="//mass:viewEmbeddedResult"/> into getOrderOutput template

Hi Marco.

The WMV configuration seems fine to me. If I compare it with a service where this is working I don't see a difference that could explain this.

I will ask Gim to look at it.

Paulo



Re: <xsl:apply-templates select="//mass:viewEmbeddedResult"/> into getOrderOutput template

Nothing changed.
See this order. I notice that there is, in the Layer Manager, the feature"Service Result Features", but there is no visualization. Could it be an WMV configuration issue?

Regards



Re: <xsl:apply-templates select="//mass:viewEmbeddedResult"/> into getOrderOutput template

Hi Marco.

You're right in fact. Both messages are OK.

I don't know exactly why, but in the orderId that you mention, the message that the WMV is trying to display is:

<featureCollection xmlns="http://www.esa.int/xml/schemas/mass/serviceresult" xmlns:sse="http://www.esa.int/mass" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><gml:boundedBy><gml:Box srsName="EPSG:4326"><gml:coordinates>-180,-90 180,90</gml:coordinates></gml:Box></gml:boundedBy><gml:featureMember><Feature><id>result</id><tooltip>result</tooltip><Geometry><gml:Polygon srsName="EPSG:4326"><gml:outerBoundaryIs><gml:LinearRing><gml:coordinates>46.92,13.96 46.57,16.34 45.16,15.79 45.49,13.47</gml:coordinates></gml:LinearRing></gml:outerBoundaryIs></gml:Polygon></Geometry></Feature></gml:featureMember></featureCollection>


You can see this by clicking "View Page Source" on the Order Result page. I tried with exactly the same message that you posted here (the second one on your last reply), on the WMV Test Page and I confirm that it can be displayed (I see a polygon around the Golf of Aden, in Somalia).

I checked your BPEL instance and the message that is there is the one you posted, so there is some processing in the middle.

Could you try to have the featureCollection element be declared exactly like this:

<featureCollection xmlns=" http://www.esa.int/xml/schemas/mass/serviceresult" xmlns:sr=" http://www.esa.int/xml/schemas/mass/serviceresult"
xmlns:gml="http://www.opengis.net/gml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.esa.int/xml/schemas/mass/serviceresult
http://services.eoportal.org/schemas/1.6/gml/GML2.1.2.1/serviceresult.xsd"<


? I say this based on section 3.2.2.5 of the ICD. See the warning on that section.

Thanks,

Paulo



Re: <xsl:apply-templates select="//mass:viewEmbeddedResult"/> into getOrderOutput template

The message was already valid because the two "root" gml tags (boundedBy and featureMember) have the correctly namespace specified:

<featureCollection xmlns="http://www.esa.int/xml/schemas/mass/serviceresult">
  <gml:boundedBy xmlns:gml="http://www.opengis.net/gml">
    <gml:Box srsName="EPSG:4326">
      <gml:coordinates>-180,-90 180,90</gml:coordinates>
    </gml:Box>
  </gml:boundedBy>
  <gml:featureMember xmlns:gml="http://www.opengis.net/gml">
    <Feature>
      <id>result</id>
      <tooltip>result</tooltip>
      <Geometry>
        <gml:Polygon srsName="EPSG:4326">
          <gml:outerBoundaryIs>
            <gml:LinearRing>
              <gml:coordinates>46.92,15.51 46.57,17.89 45.16,17.34 45.49,15.02</gml:coordinates>
            </gml:LinearRing>
          </gml:outerBoundaryIs>
        </gml:Polygon>
      </Geometry>
    </Feature>
  </gml:featureMember>
</featureCollection>


I've changed the message adding the gml namespace into the tag featureCollection as you suggested and removed it form the previous two elements, but the result doesn't change.

<featureCollection xmlns="http://www.esa.int/xml/schemas/mass/serviceresult" xmlns:gml="http://www.opengis.net/gml">
  <gml:boundedBy>
    <gml:Box srsName="EPSG:4326">
      <gml:coordinates>-180,-90 180,90</gml:coordinates>
    </gml:Box>
  </gml:boundedBy>
  <gml:featureMember>
    <Feature>
      <id>result</id>
      <tooltip>result</tooltip>
      <Geometry>
        <gml:Polygon srsName="EPSG:4326">
          <gml:outerBoundaryIs>
            <gml:LinearRing>
              <gml:coordinates>46.92,13.96 46.57,16.34 45.16,15.79 45.49,13.47</gml:coordinates>
            </gml:LinearRing>
          </gml:outerBoundaryIs>
        </gml:Polygon>
      </Geometry>
    </Feature>
  </gml:featureMember>
</featureCollection>


This is the last orderId

Regards



Re: <xsl:apply-templates select="//mass:viewEmbeddedResult"/> into getOrderOutput template

Hi Marco.

I was looking in the wrong direction.

The problem seems just to be that the gml namespace is not declared in the GML string. If you read in the ICD section 3.2.3.10.1, it says that the string needs to be valid on its own.

I made a test and managed to display your footprint just by adding the following attribute to your featureCollection element:

xmlns:gml="http://www.opengis.net/gml"

Could you try it and let me know if it doesn't work?

Thanks,

Paulo



Re: <xsl:apply-templates select="//mass:viewEmbeddedResult"/> into getOrderOutput template

Hi,
I created the service on the eoportal. This is the oder.
There are no footprint...

Regards,
Marco



Re: <xsl:apply-templates select="//mass:viewEmbeddedResult"/> into getOrderOutput template

Hi Marco,

Is it easy for you to test this on the Test Portal, just to confirm or not a possibility?

Thanks,

Paulo



Re: <xsl:apply-templates select="//mass:viewEmbeddedResult"/> into getOrderOutput template

Hi Paulo,
you can find the service at this link.
Sorry, I don't remember the last correct id and II'm not on my pc.
I'll give you the exact order on monday.

EDIT:
Here the service
And here the orderId


Thanks and regards

Marco



Re: <xsl:apply-templates select="//mass:viewEmbeddedResult"/> into getOrderOutput template

Could you point me to the portal, service and an orderId?

Thanks,

Paulo



Re: <xsl:apply-templates select="//mass:viewEmbeddedResult"/> into getOrderOutput template

Thank you, now I don't have any errors: I have to insert the statment after the "table" tag instead before

[..]
<xsl:template match="sns:getOrderOutput">
    <!-- DO NOT PUT THIS STATMENT HERE, BUT AFTER TABLE
    <xsl:apply-templates select="mass:viewEmbeddedResult"/>
    -->
    <table width="640">
    <!-- Show result in WMV -->
    <xsl:apply-templates select="mass:viewEmbeddedResult"/>
    [..]


Now in the source code of the result page there is this JS:

displaySingleEmbeddedResultFromPortal('GML','<featureCollection xmlns="http://www.esa.int/xml/schemas/mass/serviceresult" xmlns:sse="http://www.esa.int/mass" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><gml:boundedBy><gml:Box srsName="EPSG:4326"><gml:coordinates>-180,-90 180,90</gml:coordinates></gml:Box></gml:boundedBy><gml:featureMember><Feature><id>result</id><tooltip>result</tooltip><Geometry><gml:Polygon srsName="EPSG:4326"><gml:outerBoundaryIs><gml:LinearRing><gml:coordinates>45.49,10.38 45.16,12.70 43.74,12.18 44.06,9.91</gml:coordinates></gml:LinearRing></gml:outerBoundaryIs></gml:Polygon></Geometry></Feature></gml:featureMember></featureCollection>');
but there are not polygon on the WMV.

I use the xsl:strip-space at the beginning of the file for all the message, so I think there are not white-spaces .....

Where's the mistake??


I use always the ICD 1.6, but this is an old service, so I have to use the relative ICD...



Re: <xsl:apply-templates select="//mass:viewEmbeddedResult"/> into getOrderOutput template

Hi Marco.

The current ICD version is 1.6, although this works the same way in 1.5.

Could you point me to the SSE service and a relevant orderId?

As an example of a service where this is used, see "MERIS RR Cloud-free Product for Cat-1 Users" on the Operational Portal (the XSL is here).

The most common problem that Service Providers find with this feature is just that the result is not displayed, but you shouldn't get a portal error, so there's probably some problem on your XSL, maybe a parsing error. The result is usually not displayed due to white-space inside the XML element value, which causes a javascript error.

Paulo



Show posts:
Jump to forum: