2011-07-18 4 views
1

나는 REST 서비스에서 세미콜론 (예약 기호)를 포함 매개 변수를 전달하려고 합니다만,세미콜론 2.3

REST 서비스 아파치 CXF 2.3을 사용하여 쓴 아파치 톰캣에 문제가

@GET 
@Path("/getCmBuildAreas/{productName}/{projectName}/{buildConfiguration}") 
@Produces(MediaType.APPLICATION_JSON) 
public CmBuildAreas getCmBuildAreas(@PathParam("buildConfiguration") String buildConfiguration, @PathParam("productName") String productName, @PathParam("projectName") String projectName) { 
... 
} 

은 그럼 쿼리 http://localhost:8080/DevManager/services/rest/getCmBuildAreas/QLARIUS/QLARIUS%3AMAINLINE_JAVA_STR/ANT_JAVA_BUILD%3B8를 실행하고이 오류를받은 :

Jul 18, 2011 1:57:53 PM org.apache.cxf.jaxrs.utils.JAXRSUtils findTargetMethod 
WARNING: No operation matching request path /DevManager/services/rest/getCmBuildAreas/QLARIUS/QLARIUS%3AAMAINLINE_JAVA_STR/ANT_JAVA_BUILD%3B8 is found, HTTP Method : GET, ContentType : */*, Accept : image/jpeg,application/x-ms-application,image/gif,application/xaml+xml,image/pjpeg,application/x-ms-xbap,application/vnd.ms-excel,application/vnd.ms-powerpoint,application/msword,*/*,. 
Jul 18, 2011 1:57:53 PM org.apache.cxf.jaxrs.impl.WebApplicationExceptionMapper toResponse 
WARNING: WebApplicationException has been caught : no cause is available 

PS를 : 당신이 어떤 추가 정보가 필요한 경우, 부탁드립니다.

+0

'/ getCmBuildConfigurations/{productName}/{projectName}'은/getCmBuildAreas/QLARIUS/QLARIUS % 3AMAINLINE_JAVA_STR/ANT_JAVA_BUILD % 3B8'과 어떻게 일치합니까? –

+0

URL에'getCmBuildAreas'가 있고'@Path' 주석에'getCmBuildConfigurations'가 있습니다 - 일치해야합니까? – Bringer128

+0

복사 - 붙여 넣기 중 일부 오류 ... 고정 – Sansend

답변

2

Apache CXF 2.3이 정확하게 인코딩 된 세미콜론을 처리하지 않는다는 사실은 해당 버전의 BUG이 원인입니다. 버전 2.4, 2.3.4에서 수정되었습니다.

+0

의 매개 변수로 사용하는 것이 매우 중요합니다 (cxf 3.1.6에서 오류가 발생했습니다 ...). – mirabilos