将句子传递给Web服务URL

时间:2015-01-05 09:01:59

标签: java web-services

我有一个webservice URL,我必须在其中传递一个带空格的值

但是webservice将其视为非法

 String path = java.net.URLDecoder.decode((CommonConstants.END_POINT_URL.concat(CommonConstants.DELETE_APPOINTMENT_REASON).replace("{id}", appointmentID).replace("{reason}", reason)),"UTF-8");
            WebTarget target = client.target(path);
            System.out.println(target);

目标打印为:

JerseyWebTarget { http://abc-def/SchServices/api/appointment/51574e11-b794-e411-824b-1cc1de6ebf5a?reason=Test Appointment Reason }

测试和约会之间的空间不允许它访问webservice。 URL编码也不起作用....因为它编码完整的东西...请建议

1 个答案:

答案 0 :(得分:0)

更改

.replace("{reason}", reason))

类似

.replace("{reason}", URLEncoder.encode(reason, "UTF-8")))

将编码url的空格。空格在格式正确的网址中是非法的,并且有两种可能的编码%20+