RE: LocationTemplate-1G and 2G results

Youenn,

I'm updating the expected results, but there are still a few questionable
items which I believe are errors on your end, which affect all three test
cases.

1) The character #xA3 doesn't seem to be encoded correctly.  Per the rules
in the IRI spec, UTF-8 encoding for characters up to #x7f is trivial, but
for characters over #x80 it gets more complicated.  That's why included a
character over #x80 ;-).  My read is that #xA3 gets percent-escaped
according to these rules as %C2%A3.

2) There is an extra ?, encoded as %3F, following the "path" parameter.
There isn't supposed to be one in the test data.

3) You also encode "=" even though there isn't a MUST or SHOULD requirement
in the spec to do so.  You conform, but it means I'll have to adjust the
expected value in the test suite to represent the MUSTs + the SHOULDs + "=".
I'm happy enough to do that, but just thought I'd point it out in case you
think there's an erratum there.

Jonathan Marsh - http://www.wso2.com - http://auburnmarshes.spaces.live.com
 

> -----Original Message-----
> From: Youenn Fablet [mailto:youenn.fablet@crf.canon.fr]
> Sent: Thursday, March 15, 2007 6:44 AM
> To: Jonathan Marsh
> Cc: 'keith chapman'; www-ws-desc@w3.org
> Subject: Re: LocationTemplate-1G and 2G results
> 
> Hi,
> here are some updated results with a simple encoding rule that, I hope, is
> compliant with the current WSDL specification: data characters put in a
> url are always url-encoded if they are not unreserved (alpha num '.'
> '-' '_' or '~'). The same rule applies to both path and query values.
> I do not think that this is captured in your proposed expected values.
> For instance, '/' is let intentionally unencoded when in a query string.
> Regards,
> Youenn
> 
> 
> Jonathan Marsh wrote:
> >
> > Thanks, that solves many of the problems. The omission of * is
> > potentially more serious, it points out that the expected values
> > hadn't been updated since the resolution of the final encoding issues.
> > Here's an exhaustive analysis:
> >
> > First, as noted in
> > http://lists.w3.org/Archives/Public/www-ws-desc/2007Mar/0026.htmlv
> > point 6
> > <http://lists.w3.org/Archives/Public/www-ws-desc/2007Mar/0026.htmlv%20
> > point%206>, # isn't allowed in whttp:location. Therefore we can remove
> > the two dead-code mentions of it in the encoding algorithm in 6.8.1.1:
> > 'preceded . by a "?" or a "#" character' => 'preceded . by a "?"
> > character'. I'll record this as a potential erratum.
> >
> > Second, before the ?, I believe the intention was to encode "?" and
> > "/". After the ?, these characters are no longer harmful, and just
> > make common things like URL-valued parameters unreadable. But the spec
> > says the opposite - that after the "?" one must encode these values,
> > and not encode them prior to a "?". This is more substantial because
> > it affects the expected values. I think the WG should deal with this
> > prior to the PR publication, namely, at tomorrow's telcon. I'll set
> > the expected values accordingly.
> >
> > Third, the expected values don't currently capture the characters that
> > SHOULD be encoded. I'll update this to have two expected values - one
> > for implementations that ignore the SHOULD, and one for
> > implementations that honor it.
> >
> > Here's what I think the updated expected values should be (let's hope
> > it's finally right!) and where Canon and WSO2 fail to match the
> > expected values (Canon evaluated against SHOULD, WSO2 evaluated
> > against MUST):
> >
> > *EncodedParameterAmp*
> >
> > Canon:
> > EncodedParameterAmp?data=encoded%20%22%23%25%2A/%3C%3E%3F%5B%5C%5D%5E%
> > 60%7B%7C%7D%A3%20unencoded%20%21$%26%27%28%29%2B,%2D%2E:%3B%3D@%5F%7E&
> > full-uri=http://www%2Eexample%2Eorg:9443/&path=2007/02%3F&fragment=%23
> > id
> >
> > WSO2:
> > EncodedParameterAmp?data=encoded%20%22%23%25*/%3C%3E?%5B%5C%5D%5E%60%7
> > B%7C%7D%C2%A3%20unencoded%20!$%26%27()+,-.:;=@_~&full-uri=http://www.e
> > xample.org:9443/&path=http:2007/02?&fragment=%23id
> >
> > MUST:
> > EncodedParameterAmp?data=encoded%20%22%23%25*/%3C%3E?%5B%5C%5D%5E%60%7
> > B%7C%7D%C2%A3%20unencoded%20!$%26%27()+,-.:;=@_~&full-uri=http://www.e
> > xample.org:9443/&path=2007/02&fragment=%23id
> >
> > SHOULD:
> > EncodedParameterAmp?data=encoded%20%22%23%25%2A/%3C%3E?%5B%5C%5D%5E%60
> > %7B%7C%7D%C2%A3%20unencoded%20%21%24%26%27%28%29%2B%2C-.%3A%3B=%40_~&f
> > ull-uri=http%3A//www.example.org%3A9443/&path=2007/02&fragment=%23id
> >
> > *Encoded ParameterSemicolon*
> >
> > Canon:
> > EncodedParameterSemicolon?data=encoded%20%22%23%25%2A/%3C%3E%3F%5B%5C%
> > 5D%5E%60%7B%7C%7D%A3%20unencoded%20%21$%26%27%28%29%2B,%2D%2E:%3B%3D@%
> > 5F%7E;full-uri=http://www%2Eexample%2Eorg:9443/;path=2007/02%3F;fragme
> > nt=%23id
> >
> > WSO2:
> > EncodedParameterSemicolon?data=encoded%20%22%23%25*/%3C%3E?%5B%5C%5D%5
> > E%60%7B%7C%7D%C2%A3%20unencoded%20!$%26%27()+,-.:%3B=@_~;full-uri=http
> > ://www.example.org:9443/;path=http:2007/02?;fragment=%23id
> >
> > MUST:
> > EncodedParameterSemicolon?data=encoded%20%22%23%25*/%3C%3E?%5B%5C%5D%5
> > E%60%7B%7C%7D%C2%A3%20unencoded%20!$%26%27()+,-.:%3B=@_~;full-uri=http
> > ://www.example.org:9443/;path=2007/02;fragment=%23id
> >
> > SHOULD:
> > EncodedParameterSemicolon?data=encoded%20%22%23%25%2A/%3C%3E?%5B%5C%5D
> > %5E%60%7B%7C%7D%C2%A3%20unencoded%20%21%24%26%27%28%29%2B%2C-.%3A%3B=%
> > 40_~;full-uri=http%3A//www.example.org%3A9443/;path=2007/02;fragment=%
> > 23id
> >
> > *EncodedPath *
> >
> > Canon:
> > EncodedPath/encoded%20%22%23%25%2A/%3C%3E%3F%5B%5C%5D%5E%60%7B%7C%7D%A
> > 3%20unencoded%20%21$%26%27%28%29%2B,%2D%2E:%3B%3D@%5F%7E/service?full-
> > uri=http://www%2Eexample%2Eorg:9443/&path=2007/02%3F&fragment=%23id
> >
> > WSO2:
> > EncodedPath/encoded%20%22%23%25*%2F%3C%3E%3F%5B%5C%5D%5E%60%7B%7C%7D%C
> > 2%A3%20unencoded%20!$%26%27()+,-.:;=@_~/service?full-uri=http://www.ex
> > ample.org:9443/&path=http:2007/02?&fragment=%23id
> >
> > MUST:
> > EncodedPath/encoded%20%22%23%25*%2F%3C%3E%3F%5B%5C%5D%5E%60%7B%7C%7D%C
> > 2%A3%20unencoded%20!$%26%27()+,-.:;=@_~/service?full-uri=http://www.ex
> > ample.org:9443/&path=2007/02&fragment=%23id/
> >
> > SHOULD:
> > EncodedPath/encoded%20%22%23%25%2A%2F%3C%3E%3F%5B%5C%5D%5E%60%7B%7C%7D
> > %C2%A3%20unencoded%20%21%24%26%27%28%29%2B%2C-.%3A%3B=%40_~/service?fu
> > ll-uri=http%3A//www.example.org%3A9443/&
> > path=2007/02&fragment=%23id
> >
> > *Jonathan Marsh* - http://www.wso2.com -
> > http://auburnmarshes.spaces.live.com
> >
> > *From:* www-ws-desc-request@w3.org [mailto:www-ws-desc-request@w3.org]
> > *On Behalf Of *keith chapman
> > *Sent:* Wednesday, March 14, 2007 7:39 AM
> > *To:* www-ws-desc@w3.org; jonathan@wso2.org
> > *Subject:* LocationTemplate-1G and 2G results
> >
> >
> > Attached are the results for LocationTemplate-1G and 2G results. Need
> > to figure out the value for the path element though. Also the * in the
> > last endpoint is encoded whereas its a character that SHOULD be encoded.
> >
> > Thanks,
> > Keith.
> > --
> > Keith Chapman
> > WSO2 Inc.
> > Oxygen for Web Services Developers.
> > http://wso2.org/
> >

Received on Thursday, 15 March 2007 18:42:36 UTC