- From: Youenn Fablet <youenn.fablet@crf.canon.fr>
- Date: Thu, 15 Mar 2007 14:43:47 +0100
- To: Jonathan Marsh <jonathan@wso2.com>
- Cc: "'keith chapman'" <keithgchapman@gmail.com>, www-ws-desc@w3.org
- Message-id: <45F94D93.9040606@crf.canon.fr>
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%20point%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=%23id > > WSO2: > EncodedParameterAmp?data=encoded%20%22%23%25*/%3C%3E?%5B%5C%5D%5E%60%7B%7C%7D%C2%A3%20unencoded%20!$%26%27()+,-.:;=@_~&full-uri=http://www.example.org:9443/&path=http:2007/02?&fragment=%23id > > MUST: > EncodedParameterAmp?data=encoded%20%22%23%25*/%3C%3E?%5B%5C%5D%5E%60%7B%7C%7D%C2%A3%20unencoded%20!$%26%27()+,-.:;=@_~&full-uri=http://www.example.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_~&full-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;fragment=%23id > > WSO2: > EncodedParameterSemicolon?data=encoded%20%22%23%25*/%3C%3E?%5B%5C%5D%5E%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%5E%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%A3%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%C2%A3%20unencoded%20!$%26%27()+,-.:;=@_~/service?full-uri=http://www.example.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%C2%A3%20unencoded%20!$%26%27()+,-.:;=@_~/service?full-uri=http://www.example.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?full-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/ >
Attachments
- application/x-zip-compressed attachment: logs-canon-canon-20070315.zip
Received on Thursday, 15 March 2007 13:44:17 UTC