Hi Ortwin,

Thanks for the prompt response. So this means that i cant send a fragment
over the wire unless the # character is encoded?

Thanks,
Keith

On 3/13/07, Ortwin Glück <[EMAIL PROTECTED]> wrote:

Keith,

It is illegal to include a plain # character in a HTTP URL. As you can
see from the BNF syntax notation below, the # character is not in the
list of characters that comprise an URL. This means you HAVE TO escape
it (or use a different character if you are in the position to decide
that).

RFC 2396, section 4.1 clearly states:
"When a URI reference is used to perform a retrieval action on the
identified resource, the optional fragment identifier, separated from
the URI by a crosshatch ("#") character, consists of additional
reference information to be interpreted *BY THE USER AGENT* after the
retrieval action has been successfully completed.  As such, *IT IS NOT
PART OF A URI*, but is often used in conjunction with a URI."


RFC 2616, 3.2.2:
http_URL = "http:" "//" host [ ":" port ] [ abs_path [ "?" query ]]

RFC 2396, Appendix A:
abs_path      = "/"  path_segments
path_segments = segment *( "/" segment )
segment       = *pchar *( ";" param )
pchar         = unreserved | escaped |
                 ":" | "@" | "&" | "=" | "+" | "$" | ","

query         = *uric
uric          = reserved | unreserved | escaped
reserved      = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" |
                 "$" | ","
unreserved    = alphanum | mark
escaped       = "%" hex hex
mark          = "-" | "_" | "." | "!" | "~" | "*" | "'" |
                 "(" | ")"

Sorry to have no better news.

Ortwin


keith chapman wrote:
> Hi Ortwin,
>
> I wanted to send the # character over the wire as it is. Is there a way
> that
> I can do it? Or can I set the fragment to the httpMethod?
>
> Thnaks,
> Keith
>
> On 3/13/07, Ortwin Glück <[EMAIL PROTECTED]> wrote:
>>
>> Keith,
>>
>> The # character is reserved to separate the fragment from the
>> query/path. The fragment is not intended to be sent over the wire. So
if
>> you want to include such a character in an URI you should URL-escape it
>> with %23:
>>
>>
>>
http://localhost:8081/axis2/services/ProbeDataService.RawParameterEndpoint/RawParameter%23id
>>
>>
>>
>> Does that work for you?
>>
>> Ortwin
>>
>> keith chapman wrote:
>> > Hi,
>> >
>> > I want to send a http GET request to the followin url
>> >
>> >
>>
http://localhost:8081/axis2/services/ProbeDataService.RawParameterEndpoint/RawParameter#id
>>
>> >
>> >
>> > But i have to set a URI to the getMethod.
>> >
>> > I have the above as a URL. So I do the following
>> >
>> > getMethod.setURI(url.toString);
>> >
>> > This rips off the fragment part resulting in the following target URL
>> >
>> >
>>
http://localhost:8081/axis2/services/ProbeDataService.RawParameterEndpoint/RawParamete
>>
>> >
>> >
>> > How can I send a fragment in the url?
>> >
>> > Thanks,
>> > Keith
>> >
>>
>> --
>> [web]  http://www.odi.ch/
>> [blog] http://www.odi.ch/weblog/
>> [pgp]  key 0x81CF3416
>>         finger print F2B1 B21F F056 D53E 5D79 A5AF 02BE 70F5 81CF 3416
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail:
[EMAIL PROTECTED]
>> For additional commands, e-mail:
>> [EMAIL PROTECTED]
>>
>>
>
>

--
[web]  http://www.odi.ch/
[blog] http://www.odi.ch/weblog/
[pgp]  key 0x81CF3416
        finger print F2B1 B21F F056 D53E 5D79 A5AF 02BE 70F5 81CF 3416

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail:
[EMAIL PROTECTED]




--
Keith Chapman
WSO2 Inc.
Oxygen for Web Services Developers.
http://wso2.org/

Reply via email to