Url 无法在axis adb提供的URI中添加{}

Url 无法在axis adb提供的URI中添加{},url,uri,axis,url-encoding,Url,Uri,Axis,Url Encoding,我需要执行以下代码 URI=新的URI(“http://localhost:8080/rest/{data}”) 上面示例中的URI来自axis2-adb-1.5.1.jar-org.apache.axis2.databinding.types.URI 我也厌倦了使用axis2-adb-1.6.1.jar。我得到一个畸形的DurieException,声明“路径包含无效字符:{”。 我可以使用变通方法并修改URI以使其正常工作 URI=新的URI(“http://localhost:8080/r

我需要执行以下代码

URI=新的URI(“http://localhost:8080/rest/{data}”)

上面示例中的URI来自axis2-adb-1.5.1.jar-org.apache.axis2.databinding.types.URI

我也厌倦了使用axis2-adb-1.6.1.jar。我得到一个畸形的DurieException,声明“路径包含无效字符:{”。 我可以使用变通方法并修改URI以使其正常工作

URI=新的URI(“http://localhost:8080/rest/%7Bdata%7D”;

但是,我正在寻找不需要修改输入的选项。
此外,有人能回答我为什么axis jar有这个限制。我试图寻找解释,但找不到任何解释。

几天前发现在URL中添加花括号不是有效的方案。只有在正确编码后才能添加

州 URI规范的解析是根据RFC2396中描述的URI语法完成的,并由RFC2732修订

RFC 2396和RFC 2732都规定了以下内容

其他字符被排除在外,因为网关和其他传输 已知代理有时会修改这些字符,或者 用作分隔符

unwise=“{”|“}”|“|”|“\”|“^”|“[“|”]“|”`”

必须对排除字符对应的数据进行转义,以便 必须在URI中正确表示