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中正确表示