Encoding of parameter in describeSensor-request in sos4R

classic Classic list List threaded Threaded
16 messages Options
Reply | Threaded
Open this post in threaded view
|

Encoding of parameter in describeSensor-request in sos4R

mjacke
Hey,

I try to connect by sos4R to the 52 North SOS 4.x:

> mysos=SOS("http://myserver/mySOS/sos/pox")

(Is "pox the right choice?)
After opening port 8080 (seem to be hardcoded, port-forwarding is not possible) the connection seem to work. Ongoing I requested the offerings by

> sosOffering(mysos)

One of the procedures I copied to the "describeSensor"-command.

> describeSensor(sos=mysos,procedure="http://my/procedure/1",verbose=TRUE)

Unfortunately I got an internal server error caused by the encoding of the parameter "outputformat":

[.describeSensor_1.0.0]  http://my/procedure/1 @ http://myserver/mySOS/sos/pox 
[.describeSensor_1.0.0] REQUEST:
 Object of class SosDescribeSensor:  service:  SOS , version:  1.0.0 , outputFormat:  text/xml;subtype="sensorML/1.0.1"
Procedure:  http://my/procedure/1 
[checkRequest] Checking DescribeSensor... [checkRequest] Checks: procedure contained = TRUE , output supported = FALSE , method supported = TRUE
Warning in .sosRequest_1.0.0(sos = sos, request = request, verbose = verbose,  :
  Check returned FALSE! Turn on verbose option for possible details.
[.sosRequest_1.0.0] Encoding Function (beginning of function body):  { standardGeneric("encodeRequestXML")  ... [ 0  more chrs].
[encodeRequestXML] SosDescribeSensor
[.sosRequest_1.0.0] POST!
[.sosRequest_1.0.0] REQUEST:<sos:DescribeSensor xsi:schemaLocation="http://www.opengis.net/sos/1.0 http://schemas.opengis.net/sos/1.0.0/sosAll.xsd" service="SOS" outputFormat="text/xml;subtype=&amp;quot;sensorML/1.0.1&amp;quot;" version="1.0.0" xmlns:sos="http://www.opengis.net/sos/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <sos:procedure>http://my/procedure/1</sos:procedure>
</sos:DescribeSensor>
Error: Internal Server Error
In addition: Warning message:
In checkRequest(service = sos, operation = request, verbose = verbose) :
  Outputformat has to be one of text/xml; subtype="sensorML/1.0.1"


I would be glad if someone could help me to handle this parameter correct.

Thanks!

Best,
Markus







Reply | Threaded
Open this post in threaded view
|

Re: Encoding of parameter in describeSensor-request in sos4R

Daniel Nüst - 52N
Administrator
Hi Markus!

Which version of sos4R are you using? Please post the output of
sessionInfo(). Thanks!

Am 22/01/2015 um 17:42 schrieb mjacke:
> I try to connect by sos4R to the 52 North SOS 4.x:
>
> /> mysos=SOS("http://myserver/mySOS/sos/pox")/
>
> (Is "pox the right choice?)

sos4R supports both GET and POX binding for SOS 1.0.0. The URL looks
like you are using the 52°North SOS, so this should be OK. Please make
sure the the SOS 1.0.0 binding is activated in the SOS settings.

> After opening port 8080 (seem to be hardcoded, port-forwarding is not
> possible) the connection seem to work. Ongoing I requested the offerings by
> /> sosOffering(mysos)/

Good - that means that GetCapabilities worked.

> One of the procedures I copied to the "describeSensor"-command.
> /> describeSensor(sos=mysos,procedure="http://my/procedure/1",verbose=TRUE)/

> Unfortunately I got an internal server error caused by the encoding of the
> parameter "outputformat":
>
> /[.describeSensor_1.0.0]  http://my/procedure/1 @
> http://myserver/mySOS/sos/pox
> [.describeSensor_1.0.0] REQUEST:
>   Object of class SosDescribeSensor:  service:  SOS , version:  1.0.0 ,
> outputFormat:  text/xml;subtype=&quot;sensorML/1.0.1&quot;
> Procedure:  http://my/procedure/1
> [checkRequest] Checking DescribeSensor... [checkRequest] Checks: procedure
> contained = TRUE , output supported = FALSE , method supported = TRUE
> Warning in .sosRequest_1.0.0(sos = sos, request = request, verbose =
> verbose,  :
>    Check returned FALSE! Turn on verbose option for possible details.
> [.sosRequest_1.0.0] Encoding Function (beginning of function body):  {
> standardGeneric("encodeRequestXML")  ... [ 0  more chrs].
> [encodeRequestXML] SosDescribeSensor
> [.sosRequest_1.0.0] POST!
> [.sosRequest_1.0.0] REQUEST:<sos:DescribeSensor
> xsi:schemaLocation="http://www.opengis.net/sos/1.0
> http://schemas.opengis.net/sos/1.0.0/sosAll.xsd" service="SOS"
> outputFormat="text/xml;subtype=&amp;quot;sensorML/1.0.1&amp;quot;"
> version="1.0.0" xmlns:sos="http://www.opengis.net/sos/1.0"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
>   <sos:procedure>http://my/procedure/1</sos:procedure>
> </sos:DescribeSensor>
> Error: Internal Server Error
> In addition: Warning message:
> In checkRequest(service = sos, operation = request, verbose = verbose) :
>    Outputformat has to be one of text/xml; subtype="sensorML/1.0.1"/

First of all: The warning message is weird and should not happen, since
you do not configure the OutputFormat yourself. But it is not crucial,
the request should be sent out by sos4R. The Internal Server Error is
the problem that must be solved.

> I would be glad if someone could help me to handle this parameter correct.

Could you please try to send the request, which is printed out in the
verbose output, to the SOS using the SOS browser test client? Does it
work there? Just to make sure.

Is your SOS publicly available, so that we can test it?

Which version of the SOS are you using?

Best regards,
Daniel



--
Daniel Nüst
52°North Initiative for Geospatial Open Source Software GmbH
Martin-Luther-King-Weg 24
48155 Münster, Germany
E-Mail: [hidden email]
Fon: +49-(0)-251–396371-36
Fax: +49-(0)-251–396371-11

http://52north.org/
Twitter: @FiveTwoN

General Managers: Dr. Albert Remke, Dr. Andreas Wytzisk
Local Court Muenster HRB 10849
_______________________________________________
Geostatistics mailing list
[hidden email]
http://list.52north.org/mailman/listinfo/geostatistics
http://geostatistics.forum.52north.org
Please respect our mailing list guidelines:
http://52north.org/resources/mailing-lists-and-forums/guidelines
Reply | Threaded
Open this post in threaded view
|

Re: Encoding of parameter in describeSensor-request in sos4R

mjacke
Hey Daniel,

thank you for the support.

I am using sos4R_0.2-11.

The answer of sessionInfo():
------------------
R version 3.0.2 (2013-09-25)
Platform: x86_64-pc-linux-gnu (64-bit)

locale:
  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
  [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8
  [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8
  [7] LC_PAPER=en_US.UTF-8       LC_NAME=C
  [9] LC_ADDRESS=C               LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

other attached packages:
[1] sos4R_0.2-11   sp_1.0-17      RCurl_1.95-4.5 bitops_1.0-6   XML_3.98-1.1

loaded via a namespace (and not attached):
[1] grid_3.0.2      lattice_0.20-24 tools_3.0.2
------------------

The SOS is the actual one of the 52 North website, downloaded this month.

Do you have an idea what's the problem?

Best
Markus


Reply | Threaded
Open this post in threaded view
|

Re: Encoding of parameter in describeSensor-request in sos4R

mjacke
In reply to this post by Daniel Nüst - 52N
Hey Daniel,

additional to my first information here some more:
The SOS is the actual, downloaded and installed during January.
In the 52 N SOS Test Client I sent the request, which was printed in  
the verbose-output. I got the same answer:

Error! Request failed: 500 Internal Server Error

I played around with the request. I think the error is a result of  
"&amp;quot;" in the outputFormat. After deleting the "amp;"s the SOS  
sends a result in the SOS Test Client.
Unfortunately I had no success with the following request in sos4R:

> describeSensor(sos=mysos,procedure="http://my/procedure/1",outputFormat="text/xml;subtype=&quot;sensorML/1.0.1&quot;",verbose=TRUE)

Again an error appeared:
....
Error: Internal Server Error
In addition: Warning message:
In checkRequest(service = sos, operation = request, verbose = verbose) :
   Outputformat has to be one of text/xml; subtype="sensorML/1.0.1"

Any ideas?

Thanks!
Markus


Reply | Threaded
Open this post in threaded view
|

Re: Encoding of parameter in describeSensor-request in sos4R

Daniel Nüst - 52N
Administrator
Hi Markus!

Am 26/01/2015 um 22:43 schrieb mjacke:

> additional to my first information here some more:
> The SOS is the actual, downloaded and installed during January.
> In the 52 N SOS Test Client I sent the request, which was printed in
> the verbose-output. I got the same answer:
>
> Error! Request failed: 500 Internal Server Error
>
> I played around with the request. I think the error is a result of
> "&amp;quot;" in the outputFormat. After deleting the "amp;"s the SOS
> sends a result in the SOS Test Client.

Ok - thanks for finding the error! I guess the newer SOS 4.x might
handle this somewhat differently.

First of all, have you tried using the KVP binding?

mysos <- SOS(url = ..., binding = "KVP")

Then

describeSensor(sos=mysos,procedure="http://my/procedure/1",outputFormat="text/xml;subtype=&quot;sensorML/1.0.1&quot;",verbose=TRUE)

and

describeSensor(sos=mysos,procedure="http://my/procedure/1",verbose=TRUE)

> Unfortunately I had no success with the following request in sos4R:
>
>> describeSensor(sos=mysos,procedure="http://my/procedure/1",outputFormat="text/xml;subtype=&quot;sensorML/1.0.1&quot;",verbose=TRUE)

Can you please try (using POX binding):

describeSensor(sos=mysos,procedure="http://my/procedure/1",outputFormat="text/xml;
subtype=\"sensorML/1.0.1\"",verbose=TRUE)

and

describeSensor(sos=mysos,procedure="http://my/procedure/1",outputFormat="text/xml;subtype=\"sensorML/1.0.1\"",verbose=TRUE)


/Daniel

> Again an error appeared:
> ....
> Error: Internal Server Error
> In addition: Warning message:
> In checkRequest(service = sos, operation = request, verbose = verbose) :
>     Outputformat has to be one of text/xml; subtype="sensorML/1.0.1"
>
> Any ideas?
>
> Thanks!
> Markus
>
>
>
>
>
>
> --
> View this message in context: http://geostatistics.forum.52north.org/Encoding-of-parameter-in-describeSensor-request-in-sos4R-tp4022931p4022934.html
> Sent from the 52° North - Geostatistics Community Forum mailing list archive at Nabble.com.
> _______________________________________________
> Geostatistics mailing list
> [hidden email]
> http://list.52north.org/mailman/listinfo/geostatistics
> http://geostatistics.forum.52north.org
> Please respect our mailing list guidelines:
> http://52north.org/resources/mailing-lists-and-forums/guidelines
>


--
Daniel Nüst
52°North Initiative for Geospatial Open Source Software GmbH
Martin-Luther-King-Weg 24
48155 Münster, Germany
E-Mail: [hidden email]
Fon: +49-(0)-251–396371-36
Fax: +49-(0)-251–396371-11

http://52north.org/
Twitter: @FiveTwoN

General Managers: Dr. Albert Remke, Dr. Andreas Wytzisk
Local Court Muenster HRB 10849
_______________________________________________
Geostatistics mailing list
[hidden email]
http://list.52north.org/mailman/listinfo/geostatistics
http://geostatistics.forum.52north.org
Please respect our mailing list guidelines:
http://52north.org/resources/mailing-lists-and-forums/guidelines
Reply | Threaded
Open this post in threaded view
|

Re: Encoding of parameter in describeSensor-request in sos4R

mjacke
Hey Daniel,

I am not sure if I did it correct. I entered:

> mysos=SOS("http://myserver/mysos/sos/kvp")
Error: Method Not Allowed

And also tried

> mysos=SOS("http://myserver/mysos/sos",binding="KVP")
Error in getCapabilities(sos = .sos, verbose = verboseOutput, ...) :
   unused argument (binding = "KVP")


So I did further testing:

> describeSensor(sos=mysos,procedure="http://my/procedure/1",outputFormat="text/xml;subtype=\"sensorML/1.0.1\"",verbose=TRUE)

[.describeSensor_1.0.0]  http://my/procedure/1 @ http://myserver/mysos/sos/pox
[.describeSensor_1.0.0] REQUEST:
  Object of class SosDescribeSensor:  service:  SOS , version:  1.0.0  
, outputFormat:  text/xml;subtype="sensorML/1.0.1"
Procedure:  http://my/procedure/1
[checkRequest] Checking DescribeSensor... [checkRequest] Checks:  
procedure contained = TRUE , output supported = FALSE , method  
supported = TRUE
Warning in .sosRequest_1.0.0(sos = sos, request = request, verbose =  
verbose,  :
   Check returned FALSE! Turn on verbose option for possible details.
[.sosRequest_1.0.0] Encoding Function (beginning of function body):  {  
standardGeneric("encodeRequestXML")  ... [ 0  more chrs].
[encodeRequestXML] SosDescribeSensor
[.sosRequest_1.0.0] POST!
[.sosRequest_1.0.0] REQUEST:<sos:DescribeSensor  
xsi:schemaLocation="http://www.opengis.net/sos/1.0 
http://schemas.opengis.net/sos/1.0.0/sosAll.xsd" service="SOS"  
outputFormat="text/xml;subtype=&quot;sensorML/1.0.1&quot;"  
version="1.0.0" xmlns:sos="http://www.opengis.net/sos/1.0"  
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <sos:procedure>http://my/procedure/1</sos:procedure>
</sos:DescribeSensor>
[.sosRequest_1.0.0] response:
[1] "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<ows:ExceptionReport  
xmlns:ows=\"http://www.opengis.net/ows/1.1\"  
xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"  
version=\"1.0.0\" xsi:schemaLocation=\"http://www.opengis.net/ows/1.1 
http://schemas.opengis.net/ows/1.1.0/owsAll.xsd\">\n  <ows:Exception  
exceptionCode=\"NoApplicableCode\">\n    <ows:ExceptionText>No  
converter (http://www.opengis.net/sensorML/1.0.1 -> text/xml;  
subtype=\"sensorML/1.0.1\") found!</ows:ExceptionText>\n  
</ows:Exception>\n</ows:ExceptionReport>"
attr(,"Content-Type")
                             charset
"application/xml"           "UTF-8"
[.describeSensor_1.0.0] RESPONSE:
  <?xml version="1.0" encoding="UTF-8"?>
<ows:ExceptionReport xmlns:ows="http://www.opengis.net/ows/1.1"  
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0"  
xsi:schemaLocation="http://www.opengis.net/ows/1.1 
http://schemas.opengis.net/ows/1.1.0/owsAll.xsd">
   <ows:Exception exceptionCode="NoApplicableCode">
     <ows:ExceptionText>No converter  
(http://www.opengis.net/sensorML/1.0.1 -> text/xml;  
subtype="sensorML/1.0.1") found!</ows:ExceptionText>
   </ows:Exception>
</ows:ExceptionReport>
[.describeSensor_1.0.0] RESPONSE DOC:
<?xml version="1.0" encoding="UTF-8"?>
<ows:ExceptionReport xmlns:ows="http://www.opengis.net/ows/1.1"  
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0"  
xsi:schemaLocation="http://www.opengis.net/ows/1.1 
http://schemas.opengis.net/ows/1.1.0/owsAll.xsd">
   <ows:Exception exceptionCode="NoApplicableCode">
     <ows:ExceptionText>No converter  
(http://www.opengis.net/sensorML/1.0.1 -&gt; text/xml;  
subtype="sensorML/1.0.1") found!</ows:ExceptionText>
   </ows:Exception>
</ows:ExceptionReport>

Object of class OwsExceptionReport; version: 1.0.0; lang: NA;
  1 exception(s) (code @ locator : text):
   NoApplicableCode @ NA :
         No converter (http://www.opengis.net/sensorML/1.0.1 ->  
text/xml; subtype="sensorML/1.0.1") found!

Warning messages:
1: In checkRequest(service = sos, operation = request, verbose = verbose) :
   Outputformat has to be one of text/xml; subtype="sensorML/1.0.1"
2: In .handleExceptionReport(sos, .response) :
   Object of class OwsExceptionReport; version: 1.0.0; lang: NA;
  1 exception(s) (code @ locator : text):
   NoApplicableCode @ NA :
         No converter (http://www.opengis.net/sensorML/1.0.1 ->  
text/xml; subtype="sensorML/1.0.1") found!

Looks interesting. But what does it want to tell me?

KR,
Markus

Reply | Threaded
Open this post in threaded view
|

Re: Encoding of parameter in describeSensor-request in sos4R

Daniel Nüst - 52N
Administrator
Hi lists!

We need some help fixing the communication between sos4R and 52N SOS
4.x. SOS experts, read on below.

Am 27/01/2015 um 23:16 schrieb mjacke:
> I am not sure if I did it correct. I entered:
>
>> mysos=SOS("http://myserver/mysos/sos/kvp")
> Error: Method Not Allowed

If you use the kvp endpoint then you also have to tell sos4R to connect
via KVP:

mysos <- SOS(url = "http://myserver/mysos/sos/kvp", binding = "KVP")

I added this error to an open issue on this topic:
https://github.com/52North/sos4R/issues/25

> And also tried
>
>> mysos=SOS("http://myserver/mysos/sos",binding="KVP")
> Error in getCapabilities(sos = .sos, verbose = verboseOutput, ...) :
>     unused argument (binding = "KVP")

Again, try both the url ending in /kvp and the binding parameter. In the
future sos4R will hopefully support the "/service" endpoint of the 52N SOS.

> So I did further testing:
>
>> describeSensor(sos=mysos,procedure="http://my/procedure/1",outputFormat="text/xml;subtype=\"sensorML/1.0.1\"",verbose=TRUE)
>
> [.describeSensor_1.0.0]  http://my/procedure/1 @ http://myserver/mysos/sos/pox
> [.describeSensor_1.0.0] REQUEST:
>    Object of class SosDescribeSensor:  service:  SOS , version:  1.0.0
> , outputFormat:  text/xml;subtype="sensorML/1.0.1"
> Procedure:  http://my/procedure/1
> [checkRequest] Checking DescribeSensor... [checkRequest] Checks:
> procedure contained = TRUE , output supported = FALSE , method
> supported = TRUE
> Warning in .sosRequest_1.0.0(sos = sos, request = request, verbose =
> verbose,  :
>     Check returned FALSE! Turn on verbose option for possible details.
> [.sosRequest_1.0.0] Encoding Function (beginning of function body):  {
> standardGeneric("encodeRequestXML")  ... [ 0  more chrs].
> [encodeRequestXML] SosDescribeSensor
> [.sosRequest_1.0.0] POST!
> [.sosRequest_1.0.0] REQUEST:<sos:DescribeSensor
> xsi:schemaLocation="http://www.opengis.net/sos/1.0
> http://schemas.opengis.net/sos/1.0.0/sosAll.xsd" service="SOS"
> outputFormat="text/xml;subtype=&quot;sensorML/1.0.1&quot;"
> version="1.0.0" xmlns:sos="http://www.opengis.net/sos/1.0"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
>    <sos:procedure>http://my/procedure/1</sos:procedure>
> </sos:DescribeSensor>
> [.sosRequest_1.0.0] response:
> [1] "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<ows:ExceptionReport
> xmlns:ows=\"http://www.opengis.net/ows/1.1\"
> xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
> version=\"1.0.0\" xsi:schemaLocation=\"http://www.opengis.net/ows/1.1
> http://schemas.opengis.net/ows/1.1.0/owsAll.xsd\">\n  <ows:Exception
> exceptionCode=\"NoApplicableCode\">\n    <ows:ExceptionText>No
> converter (http://www.opengis.net/sensorML/1.0.1 -> text/xml;
> subtype=\"sensorML/1.0.1\") found!</ows:ExceptionText>\n
> </ows:Exception>\n</ows:ExceptionReport>"
> attr(,"Content-Type")
>                               charset
> "application/xml"           "UTF-8"
> [.describeSensor_1.0.0] RESPONSE:
>    <?xml version="1.0" encoding="UTF-8"?>
> <ows:ExceptionReport xmlns:ows="http://www.opengis.net/ows/1.1"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0"
> xsi:schemaLocation="http://www.opengis.net/ows/1.1
> http://schemas.opengis.net/ows/1.1.0/owsAll.xsd">
>     <ows:Exception exceptionCode="NoApplicableCode">
>       <ows:ExceptionText>No converter
> (http://www.opengis.net/sensorML/1.0.1 -> text/xml;
> subtype="sensorML/1.0.1") found!</ows:ExceptionText>
>     </ows:Exception>
> </ows:ExceptionReport>
> [.describeSensor_1.0.0] RESPONSE DOC:
> <?xml version="1.0" encoding="UTF-8"?>
> <ows:ExceptionReport xmlns:ows="http://www.opengis.net/ows/1.1"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0"
> xsi:schemaLocation="http://www.opengis.net/ows/1.1
> http://schemas.opengis.net/ows/1.1.0/owsAll.xsd">
>     <ows:Exception exceptionCode="NoApplicableCode">
>       <ows:ExceptionText>No converter
> (http://www.opengis.net/sensorML/1.0.1 -&gt; text/xml;
> subtype="sensorML/1.0.1") found!</ows:ExceptionText>
>     </ows:Exception>
> </ows:ExceptionReport>
>
> Object of class OwsExceptionReport; version: 1.0.0; lang: NA;
>    1 exception(s) (code @ locator : text):
>     NoApplicableCode @ NA :
>           No converter (http://www.opengis.net/sensorML/1.0.1 ->
> text/xml; subtype="sensorML/1.0.1") found!
>
> Warning messages:
> 1: In checkRequest(service = sos, operation = request, verbose = verbose) :
>     Outputformat has to be one of text/xml; subtype="sensorML/1.0.1"
> 2: In .handleExceptionReport(sos, .response) :
>     Object of class OwsExceptionReport; version: 1.0.0; lang: NA;
>    1 exception(s) (code @ locator : text):
>     NoApplicableCode @ NA :
>           No converter (http://www.opengis.net/sensorML/1.0.1 ->
> text/xml; subtype="sensorML/1.0.1") found!
>
> Looks interesting. But what does it want to tell me?

Ok - let's ignore the first warning message for now - it basically tries
to see if the request is correct with what the client knows. But our
issue is that we're not providing the correct parameter to the service.

I am really sorry but I must have copied and pasted something from my
test scripts, because the subtype is incomplete in your request. Please
try these two variations.

describeSensor(sos=mysos,procedure="http://my/procedure/1",outputFormat="text/xml;subtype=\"http://www.opengis.net/sensorML/1.0.1\"",verbose=TRUE)

describeSensor(sos=mysos,procedure="http://my/procedure/1",outputFormat="http://www.opengis.net/sensorML/1.0.1",verbose=TRUE)

Also, please attache a complete capabilities document to the next email.
Thanks!


*** TO THE SOS EXPERTS:

When I try the following request created by sos4R in the test client, it
works for me (after switching the procedure name):

<sos:DescribeSensor
  xsi:schemaLocation="http://www.opengis.net/sos/1.0
  http://schemas.opengis.net/sos/1.0.0/sosAll.xsd" service="SOS"
  outputFormat="text/xml;subtype=&quot;sensorML/1.0.1&quot;"
  version="1.0.0" xmlns:sos="http://www.opengis.net/sos/1.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <sos:procedure>http://my/procedure/1</sos:procedure>
</sos:DescribeSensor>

How can the error "No converter (http://www.opengis.net/sensorML/1.0.1 
-> text/xml; subtype="sensorML/1.0.1") be fixed?


/Daniel

--
Daniel Nüst
52°North Initiative for Geospatial Open Source Software GmbH
Martin-Luther-King-Weg 24
48155 Münster, Germany
E-Mail: [hidden email]
Fon: +49-(0)-251–396371-36
Fax: +49-(0)-251–396371-11

http://52north.org/
Twitter: @FiveTwoN

General Managers: Dr. Albert Remke, Dr. Andreas Wytzisk
Local Court Muenster HRB 10849
_______________________________________________
Geostatistics mailing list
[hidden email]
http://list.52north.org/mailman/listinfo/geostatistics
http://geostatistics.forum.52north.org
Please respect our mailing list guidelines:
http://52north.org/resources/mailing-lists-and-forums/guidelines
Reply | Threaded
Open this post in threaded view
|

Re: [52N SWE] Encoding of parameter in describeSensor-request in sos4R

Carsten Hollmann
Hi,

> Ok - let's ignore the first warning message for now - it basically tries
> to see if the request is correct with what the client knows. But our
> issue is that we're not providing the correct parameter to the service.
>
> I am really sorry but I must have copied and pasted something from my
> test scripts, because the subtype is incomplete in your request. Please
> try these two variations.
>
> describeSensor(sos=mysos,procedure="http://my/procedure/1",outputFormat="text/xml;subtype=\"http://www.opengis.net/sensorML/1.0.1\"",verbose=TRUE)
>
>
> describeSensor(sos=mysos,procedure="http://my/procedure/1",outputFormat="http://www.opengis.net/sensorML/1.0.1",verbose=TRUE)

If you send an OGC SOS 1.0.0 DescribeSensor request the outputFormat
should be the SensorML 1.0.1 mime type (text/xml; subtype="sensorML/1.0.1").

The procedureDescriptionFormat of a OGC SOS 2.0 DescribeSensor request
should be the URL (http://www.opengis.net/sensorML/1.0.1).

> Also, please attache a complete capabilities document to the next email.
> Thanks!
>
>
> *** TO THE SOS EXPERTS:
>
> When I try the following request created by sos4R in the test client, it
> works for me (after switching the procedure name):
>
> <sos:DescribeSensor
>   xsi:schemaLocation="http://www.opengis.net/sos/1.0
>   http://schemas.opengis.net/sos/1.0.0/sosAll.xsd" service="SOS"
>   outputFormat="text/xml;subtype=&quot;sensorML/1.0.1&quot;"
>   version="1.0.0" xmlns:sos="http://www.opengis.net/sos/1.0"
>   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
>      <sos:procedure>http://my/procedure/1</sos:procedure>
> </sos:DescribeSensor>
>
> How can the error "No converter (http://www.opengis.net/sensorML/1.0.1
> -> text/xml; subtype="sensorML/1.0.1") be fixed?

Which 52N SOS version is used?

There was an issue with the same exception message [0] reported but this
has been fixed in 52N SOS 4.1.0.

Best,
Carsten

[0] https://github.com/52North/SOS/issues/74
_______________________________________________
Geostatistics mailing list
[hidden email]
http://list.52north.org/mailman/listinfo/geostatistics
http://geostatistics.forum.52north.org
Please respect our mailing list guidelines:
http://52north.org/resources/mailing-lists-and-forums/guidelines
Reply | Threaded
Open this post in threaded view
|

Re: Encoding of parameter in describeSensor-request in sos4R

mjacke
In reply to this post by Daniel Nüst - 52N
Hey,

thanks for activating the SOS-experts. I tried:

mysos <- SOS(url = "http://myserver/mysos/sos/kvp", binding = "KVP")

The result:

Error in getCapabilities(sos = .sos, verbose = verboseOutput, ...) :
   unused argument (binding = "KVP")

I also tried the connection from the open issue (linked to  
http://sensorweb.demo.52north.org/52n-sos-webapp). The result was the  
same.

I tried the describeSensor-requests:

> describeSensor(sos=mysos,procedure="http://my/procedure/1",outputFormat="text/xml;subtype=\"http://www.opengis.net/sensorML/1.0.1\"",verbose=TRUE)

[.describeSensor_1.0.0]  http://my/procedure/1 @ http://myserver/mysos/sos/pox
[.describeSensor_1.0.0] REQUEST:
  Object of class SosDescribeSensor:  service:  SOS , version:  1.0.0  
, outputFormat:  
text/xml;subtype="http://www.opengis.net/sensorML/1.0.1"
Procedure:  http://my/procedure/1
[checkRequest] Checking DescribeSensor... [checkRequest] Checks:  
procedure contained = TRUE , output supported = FALSE , method  
supported = TRUE
Warning in .sosRequest_1.0.0(sos = sos, request = request, verbose =  
verbose,  :
   Check returned FALSE! Turn on verbose option for possible details.
[.sosRequest_1.0.0] Encoding Function (beginning of function body):  {  
standardGeneric("encodeRequestXML")  ... [ 0  more chrs].
[encodeRequestXML] SosDescribeSensor
[.sosRequest_1.0.0] POST!
[.sosRequest_1.0.0] REQUEST:<sos:DescribeSensor  
xsi:schemaLocation="http://www.opengis.net/sos/1.0 
http://schemas.opengis.net/sos/1.0.0/sosAll.xsd" service="SOS"  
outputFormat="text/xml;subtype=&quot;http://www.opengis.net/sensorML/1.0.1&quot;" version="1.0.0" xmlns:sos="http://www.opengis.net/sos/1.0"  
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <sos:procedure>http://my/procedure/1</sos:procedure>
</sos:DescribeSensor>
[.sosRequest_1.0.0] response:
[1] "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<ows:ExceptionReport  
xmlns:ows=\"http://www.opengis.net/ows/1.1\"  
xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"  
version=\"1.0.0\" xsi:schemaLocation=\"http://www.opengis.net/ows/1.1 
http://schemas.opengis.net/ows/1.1.0/owsAll.xsd\">\n  <ows:Exception  
exceptionCode=\"InvalidParameterValue\" locator=\"outputFormat\">\n    
<ows:ExceptionText>The value 'text/xml;  
subtype=\"http://www.opengis.net/sensorML/1.0.1\"' of the parameter  
'outputFormat' is invalid</ows:ExceptionText>\n  
</ows:Exception>\n</ows:ExceptionReport>"
attr(,"Content-Type")
                             charset
"application/xml"           "UTF-8"
[.describeSensor_1.0.0] RESPONSE:
  <?xml version="1.0" encoding="UTF-8"?>
<ows:ExceptionReport xmlns:ows="http://www.opengis.net/ows/1.1"  
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0"  
xsi:schemaLocation="http://www.opengis.net/ows/1.1 
http://schemas.opengis.net/ows/1.1.0/owsAll.xsd">
   <ows:Exception exceptionCode="InvalidParameterValue" locator="outputFormat">
     <ows:ExceptionText>The value 'text/xml;  
subtype="http://www.opengis.net/sensorML/1.0.1"' of the parameter  
'outputFormat' is invalid</ows:ExceptionText>
   </ows:Exception>
</ows:ExceptionReport>
[.describeSensor_1.0.0] RESPONSE DOC:
<?xml version="1.0" encoding="UTF-8"?>
<ows:ExceptionReport xmlns:ows="http://www.opengis.net/ows/1.1"  
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0"  
xsi:schemaLocation="http://www.opengis.net/ows/1.1 
http://schemas.opengis.net/ows/1.1.0/owsAll.xsd">
   <ows:Exception exceptionCode="InvalidParameterValue" locator="outputFormat">
     <ows:ExceptionText>The value 'text/xml;  
subtype="http://www.opengis.net/sensorML/1.0.1"' of the parameter  
'outputFormat' is invalid</ows:ExceptionText>
   </ows:Exception>
</ows:ExceptionReport>

Object of class OwsExceptionReport; version: 1.0.0; lang: NA;
  1 exception(s) (code @ locator : text):
   InvalidParameterValue @ outputFormat :
         The value 'text/xml;  
subtype="http://www.opengis.net/sensorML/1.0.1"' of the parameter  
'outputFormat' is invalid

Warning messages:
1: In checkRequest(service = sos, operation = request, verbose = verbose) :
   Outputformat has to be one of text/xml; subtype="sensorML/1.0.1"
2: In .handleExceptionReport(sos, .response) :
   Object of class OwsExceptionReport; version: 1.0.0; lang: NA;
  1 exception(s) (code @ locator : text):
   InvalidParameterValue @ outputFormat :
         The value 'text/xml;  
subtype="http://www.opengis.net/sensorML/1.0.1"' of the parameter  
'outputFormat' is invalid

>
>
> describeSensor(sos=mysos,procedure="http://my/procedure/1",outputFormat="http://www.opengis.net/sensorML/1.0.1",verbose=TRUE)

[.describeSensor_1.0.0]  http://my/procedure/1 @ http://myserver/mysos/sos/pox
[.describeSensor_1.0.0] REQUEST:
  Object of class SosDescribeSensor:  service:  SOS , version:  1.0.0  
, outputFormat:  http://www.opengis.net/sensorML/1.0.1
Procedure:  http://my/procedure/1
[checkRequest] Checking DescribeSensor... [checkRequest] Checks:  
procedure contained = TRUE , output supported = FALSE , method  
supported = TRUE
Warning in .sosRequest_1.0.0(sos = sos, request = request, verbose =  
verbose,  :
   Check returned FALSE! Turn on verbose option for possible details.
[.sosRequest_1.0.0] Encoding Function (beginning of function body):  {  
standardGeneric("encodeRequestXML")  ... [ 0  more chrs].
[encodeRequestXML] SosDescribeSensor
[.sosRequest_1.0.0] POST!
[.sosRequest_1.0.0] REQUEST:<sos:DescribeSensor  
xsi:schemaLocation="http://www.opengis.net/sos/1.0 
http://schemas.opengis.net/sos/1.0.0/sosAll.xsd" service="SOS"  
outputFormat="http://www.opengis.net/sensorML/1.0.1" version="1.0.0"  
xmlns:sos="http://www.opengis.net/sos/1.0"  
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <sos:procedure>http://my/procedure/1</sos:procedure>
</sos:DescribeSensor>
[.sosRequest_1.0.0] response:
[1] "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<ows:ExceptionReport  
xmlns:ows=\"http://www.opengis.net/ows/1.1\"  
xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"  
version=\"1.1.0\" xsi:schemaLocation=\"http://www.opengis.net/ows/1.1 
http://schemas.opengis.net/ows/1.1.0/owsAll.xsd\">\n  <ows:Exception  
exceptionCode=\"InvalidRequest\" locator=\"string value  
'http://www.opengis.net/sensorML/1.0.1' does not match pattern for  
MimeType in namespace http://www.opengis.net/ows/1.1\">\n    
<ows:ExceptionText>[XmlBeans validation error:] string value  
'http://www.opengis.net/sensorML/1.0.1' does not match pattern for  
MimeType in namespace  
http://www.opengis.net/ows/1.1</ows:ExceptionText>\n  
</ows:Exception>\n</ows:ExceptionReport>"
attr(,"Content-Type")
                             charset
"application/xml"           "UTF-8"
[.describeSensor_1.0.0] RESPONSE:
  <?xml version="1.0" encoding="UTF-8"?>
<ows:ExceptionReport xmlns:ows="http://www.opengis.net/ows/1.1"  
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.1.0"  
xsi:schemaLocation="http://www.opengis.net/ows/1.1 
http://schemas.opengis.net/ows/1.1.0/owsAll.xsd">
   <ows:Exception exceptionCode="InvalidRequest" locator="string value  
'http://www.opengis.net/sensorML/1.0.1' does not match pattern for  
MimeType in namespace http://www.opengis.net/ows/1.1">
     <ows:ExceptionText>[XmlBeans validation error:] string value  
'http://www.opengis.net/sensorML/1.0.1' does not match pattern for  
MimeType in namespace http://www.opengis.net/ows/1.1</ows:ExceptionText>
   </ows:Exception>
</ows:ExceptionReport>
[.describeSensor_1.0.0] RESPONSE DOC:
<?xml version="1.0" encoding="UTF-8"?>
<ows:ExceptionReport xmlns:ows="http://www.opengis.net/ows/1.1"  
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.1.0"  
xsi:schemaLocation="http://www.opengis.net/ows/1.1 
http://schemas.opengis.net/ows/1.1.0/owsAll.xsd">
   <ows:Exception exceptionCode="InvalidRequest" locator="string value  
'http://www.opengis.net/sensorML/1.0.1' does not match pattern for  
MimeType in namespace http://www.opengis.net/ows/1.1">
     <ows:ExceptionText>[XmlBeans validation error:] string value  
'http://www.opengis.net/sensorML/1.0.1' does not match pattern for  
MimeType in namespace http://www.opengis.net/ows/1.1</ows:ExceptionText>
   </ows:Exception>
</ows:ExceptionReport>

Object of class OwsExceptionReport; version: 1.1.0; lang: NA;
  1 exception(s) (code @ locator : text):
   InvalidRequest @ string value  
'http://www.opengis.net/sensorML/1.0.1' does not match pattern for  
MimeType in namespace http://www.opengis.net/ows/1.1 :
         [XmlBeans validation error:] string value  
'http://www.opengis.net/sensorML/1.0.1' does not match pattern for  
MimeType in namespace http://www.opengis.net/ows/1.1

Warning messages:
1: In checkRequest(service = sos, operation = request, verbose = verbose) :
   Outputformat has to be one of text/xml; subtype="sensorML/1.0.1"
2: In .handleExceptionReport(sos, .response) :
   Object of class OwsExceptionReport; version: 1.1.0; lang: NA;
  1 exception(s) (code @ locator : text):
   InvalidRequest @ string value  
'http://www.opengis.net/sensorML/1.0.1' does not match pattern for  
MimeType in namespace http://www.opengis.net/ows/1.1 :
         [XmlBeans validation error:] string value  
'http://www.opengis.net/sensorML/1.0.1' does not match pattern for  
MimeType in namespace http://www.opengis.net/ows/1.1

>


Attached you find the Capabilities.

Thanks in advance!

Markus

getCapabilities.xml (22K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [52N SWE] Encoding of parameter in describeSensor-request in sos4R

mjacke
In reply to this post by Carsten Hollmann
Hey Carsten,

maybe my installed SOS is not the latest version, like I was convinced  
until I logged in the Admin of the 52N SOS five minutes ago:
Version: 4.0.0
Revision: 22469
Build date: 2014-03-19 15:57:32

Ohoh! I will download the 4.1.0 now and try again.

I inform you about the behavior,
Markus



Reply | Threaded
Open this post in threaded view
|

Re: [52N SWE] Encoding of parameter in describeSensor-request in sos4R

mjacke
In reply to this post by Carsten Hollmann
Hey Carsten,

I downloaded the 4.1.0-zip-file from
http://52north.org/downloads/sensor-web/sos and used the war-file
from /bin/52n-sos-webapp/target. The same errors as before appeared. So
I logged in at the 52N-Admin. This is what I got there:
Version: 4.0.0
Revision: 22469
Build date: 2014-03-19 15:57:32
Installation date: 2015-01-29 22:02:40

Is the war not in the correct version or is it just the information
about the version?

KR
Markus

Reply | Threaded
Open this post in threaded view
|

Re: [52N SWE] Encoding of parameter in describeSensor-request in sos4R

Carsten Hollmann
Hi Markus,

maybe the SOS page from the browser cache is shown because I downloaded the package, deployed the SOS war file and checked the version info in the admin interface, what looks right.

Version: 4.1.0
Branch: master
Revision: 0121151a81f244971aa933a9af09696721aa4669
Build date: 2014-08-26 10:51:17+0200
Installation date: 2015-02-02 08:28:39

Does the SOS libs contain the version number "-4.1.0" (located in [TOMCAT_HOME]\webapps\52n-sos-webapp\WEB-INF\lib)?

Best,
Carsten
Reply | Threaded
Open this post in threaded view
|

Re: [52N SWE] Encoding of parameter in describeSensor-request in sos4R

mjacke
Hey Carsten,

looks better now:
Version: 4.1.0
Branch: master
Revision: 0121151a81f244971aa933a9af09696721aa4669
Build date: 2014-08-26 10:51:17+0200
Installation date: 2015-02-02 22:34:46

Unfortunately the behaviour is still the same. I can not use the  
describeSensor-command or connect to the kvp-interface from the  
sos4R-environment.

Any idea?

Best,
Markus

_______________________________________________
Geostatistics mailing list
[hidden email]
http://list.52north.org/mailman/listinfo/geostatistics
http://geostatistics.forum.52north.org
Please respect our mailing list guidelines:
http://52north.org/resources/mailing-lists-and-forums/guidelines
Reply | Threaded
Open this post in threaded view
|

Re: [52N SWE] Encoding of parameter in describeSensor-request in sos4R

Daniel Nüst - 52N
Administrator
Am 03/02/2015 um 21:17 schrieb [hidden email]:

> looks better now:
> Version: 4.1.0
> Branch: master
> Revision: 0121151a81f244971aa933a9af09696721aa4669
> Build date: 2014-08-26 10:51:17+0200
> Installation date: 2015-02-02 22:34:46
>
> Unfortunately the behaviour is still the same. I can not use the
> describeSensor-command or connect to the kvp-interface from the
> sos4R-environment.
>
> Any idea?

I am running out of ideas a bit I have to say. But I don't think we have
exploited all of the previous ideas yet:

 >
 > Warning messages:
 > 1: In checkRequest(service = sos, operation = request, verbose =
verbose) :
 >     Outputformat has to be one of text/xml; subtype="sensorML/1.0.1"
 > 2: In .handleExceptionReport(sos, .response) :
 >     Object of class OwsExceptionReport; version: 1.0.0; lang: NA;
 >    1 exception(s) (code @ locator : text):
 >     NoApplicableCode @ NA :
 >           No converter (http://www.opengis.net/sensorML/1.0.1 ->
 > text/xml; subtype="sensorML/1.0.1") found!
 >
 > Looks interesting. But what does it want to tell me?

Ok - let's ignore the first warning message for now - it basically tries
to see if the request is correct with what the client knows.

But our issue is that we're not providing the correct parameter to the
service.

Also, from Carsten:

 >
describeSensor(sos=mysos,procedure="http://my/procedure/1",outputFormat="http://www.opengis.net/sensorML/1.0.1",verbose=TRUE)
 >
 > If you send an OGC SOS 1.0.0 DescribeSensor request the outputFormat
 > should be the SensorML 1.0.1 mime type (text/xml;
 > subtype="sensorML/1.0.1").
 >
 > The procedureDescriptionFormat of a OGC SOS 2.0 DescribeSensor
 > request should be the URL (http://www.opengis.net/sensorML/1.0.1).

Since we are doing SOS 1.0.0, please try these these variations.

describeSensor(sos=mysos,procedure="http://my/procedure/1",
outputFormat="text/xml;subtype=\"sensorML/1.0.1\"",verbose=TRUE)

describeSensor(sos=mysos,procedure="http://my/procedure/1",
outputFormat="text/xml; subtype=\"sensorML/1.0.1\"",verbose=TRUE)

describeSensor(sos=mysos,procedure="http://my/procedure/1",
outputFormat="text/xml; subtype=&quot;sensorML/1.0.1&quot;",verbose=TRUE)

describeSensor(sos=mysos,procedure="http://my/procedure/1",
outputFormat="sensorML/1.0.1",verbose=TRUE)


Other than that I'll have to take you up on the offer to whitelist my IP
so that I can try myself.

Best regards,
Daniel

--
Daniel Nüst
52°North Initiative for Geospatial Open Source Software GmbH
Martin-Luther-King-Weg 24
48155 Münster, Germany
E-Mail: [hidden email]
Fon: +49-(0)-251–396371-36
Fax: +49-(0)-251–396371-11

http://52north.org/
Twitter: @FiveTwoN

General Managers: Dr. Albert Remke, Dr. Andreas Wytzisk
Local Court Muenster HRB 10849
_______________________________________________
Geostatistics mailing list
[hidden email]
http://list.52north.org/mailman/listinfo/geostatistics
http://geostatistics.forum.52north.org
Please respect our mailing list guidelines:
http://52north.org/resources/mailing-lists-and-forums/guidelines
Reply | Threaded
Open this post in threaded view
|

Re: [52N SWE] Encoding of parameter in describeSensor-request in sos4R

mjacke
Hey Daniel,

you found the mistake! Thanks a lot!

Your secound version of the describeSensor-request replied as we expected.

describeSensor(sos=mysos,procedure="http://my/procedure/1",  
outputFormat="text/xml; subtype=\"sensorML/1.0.1\"",verbose=TRUE)

The blank between the outputFormat and the subtype seem to be  
important. Without (see the first request) it does not work.

Thanks for your great support. I am looking forward to discover sos4R...

Viele Grüße nach Münster,
Markus



Reply | Threaded
Open this post in threaded view
|

Re: [52N SWE] Encoding of parameter in describeSensor-request in sos4R

Daniel Nüst - 52N
Administrator
Am 04/02/2015 um 15:52 schrieb mjacke:
> you found the mistake! Thanks a lot!

Glad to hear that!

> Your secound version of the describeSensor-request replied as we expected.
>
> describeSensor(sos=mysos,procedure="http://my/procedure/1",
> outputFormat="text/xml; subtype=\"sensorML/1.0.1\"",verbose=TRUE)
> The blank between the outputFormat and the subtype seem to be
> important. Without (see the first request) it does not work.

Hundrest of pages of standards and XML schemas, but in the end it comes
down to a space character being present or not...

I would not have expected that and opened an issue for the SOS:
https://github.com/52North/SOS/issues/168

> Thanks for your great support. I am looking forward to discover sos4R...

Let us know how things work out!


/Daniel


--
Daniel Nüst
52°North Initiative for Geospatial Open Source Software GmbH
Martin-Luther-King-Weg 24
48155 Münster, Germany
E-Mail: [hidden email]
Fon: +49-(0)-251–396371-36
Fax: +49-(0)-251–396371-11

http://52north.org/
Twitter: @FiveTwoN

General Managers: Dr. Albert Remke, Dr. Andreas Wytzisk
Local Court Muenster HRB 10849
_______________________________________________
Geostatistics mailing list
[hidden email]
http://list.52north.org/mailman/listinfo/geostatistics
http://geostatistics.forum.52north.org
Please respect our mailing list guidelines:
http://52north.org/resources/mailing-lists-and-forums/guidelines