- From: Jonathan Marsh <jonathan@wso2.com>
- Date: Thu, 15 Mar 2007 11:42:05 -0700
- To: "'Youenn Fablet'" <youenn.fablet@crf.canon.fr>
- Cc: "'keith chapman'" <keithgchapman@gmail.com>, <www-ws-desc@w3.org>
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