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%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/
>

Received on Thursday, 15 March 2007 13:44:17 UTC