opengeospatial / ets-wcs20

Executable Test Suite for WCS 2.0.1
Other
1 stars 2 forks source link

WCS 2.0.1 compliance test (te2) has problem in wcs2:post-xml-req5 #119

Closed greatzzk closed 11 months ago

greatzzk commented 1 year ago

request and failure msg is like: image

but it works on my side with a proper response. It looks to me that the test fails to parse the returned multipart tiff image

dstenger commented 1 year ago

Thank you for reporting.

There might be a connection to issue https://github.com/opengeospatial/ets-wcs20/issues/55.

Is it possible to provide a test service instance so that we can analyze the TEAM Engine logging?

greatzzk commented 1 year ago

@dstenger http://54.90.187.123:6080/arcgis/services/mynetcdf/ImageServer/WCSServer?request=GetCapabilities&service=WCS

dstenger commented 1 year ago

Full error message: Error in call to extension function {public org.w3c.dom.NodeList com.occamlab.te.TECore.request(org.w3c.dom.Document,java.lang.String) throws java.lang.Throwable}: Exception in extension function java.lang.RuntimeException: Parser {http://www.occamlab.com/te/parsers}HTTPParser threw an exception.

Indeed, it seems that the HTTPParser cannot handle the response of your service. Thus, I label this issue as bug and the CITE developer team will take a closer look at this.

bpross-52n commented 1 year ago

@greatzzk My findings are that the response has probably a syntax issue. According to this RFC, there needs to be an empty line after the header section of each (multi)-part. Example of a response from your server:

--wcs
Content-Type: text/xml
Content-ID: GML-Part
<?xml version="1.0" encoding="UTF-8"?>

I did some test with multipart libraries and they could read the response only after I manually added an empty line after the header section:

--wcs
Content-Type: text/xml
Content-ID: GML-Part

<?xml version="1.0" encoding="UTF-8"?>
ghobona commented 1 year ago

@greatzzk Please let us know when you have fixed the issue on your server.

greatzzk commented 1 year ago

Thanks!! We will change accordingly and retest against TE2

greatzzk commented 11 months ago

@ghobona @bpross-52n we updated our server to included the blank line as suggested, but te2 wcs2:post-xml-req5 still fails. could you take a look? image

dstenger commented 11 months ago

Thank you reporting back. We will take a look at your results.

bpross-52n commented 11 months ago

@greatzzk My tests show that there is still no new line after the header section of the second (inline tiff) part. That is the reason the parsing still fails.

greatzzk commented 11 months ago

@bpross-52n thanks for analyzing the problem and apparently we have added that blank line as showing in the screenshot above. how do we fix our server? or will you debug into your test code?

bpross-52n commented 11 months ago

@greatzzk Yes, the parser can now read the first part (GML), but the second part still looks like this:

Content-Type: image/tiff
Content-Description: coverage data
Content-Transfer-Encoding: binary
Content-ID: mynetcdf.tif
Content-Disposition: inline
II*

when it should look like this:

Content-Type: image/tiff
Content-Description: coverage data
Content-Transfer-Encoding: binary
Content-ID: mynetcdf.tif
Content-Disposition: inline

II*
greatzzk commented 11 months ago

@bpross-52n thanks. we will fix accordingly and retest here

greatzzk commented 11 months ago

it passed all wcs 2.0.1 post-xml test on TE2 now. We added a blank line between each header and body inside the multi-part response.