2013-02-01 2 views
0

아래의 ajax 호출을 사용하여 내 Restful webservice POST 메서드를 호출합니다.java.net.URISyntaxException : AJAX의 쿼리에서 잘못된 문자가 있습니다. jquery의 POST 호출 PHONEGAP

var inputData = '{"country","India"}' 
$.ajax({ 
     url : 'http://XXX.XXX.XXX.XX:XXXX/XXXX/services/ShopService/ShopSearchinfo', 
     dataType : 'jsonp', 
     data: inputData, 
     cache: false, 
     type: 'POST', 
     mimeType: 'application/json', 
     contentType: 'application/json', 
     error : function(thrownError) { 
      alert('There is an error: '+ thrownError) ; 


     }, 
     success : function(model) { 
      trace('success') ; 
      processResponse(model,successCallBack); 
     } 
    }); 

요청이 서버에 도달하면 서버가 오류를 발생시킵니다.

Caused by: java.net.URISyntaxException: Illegal character in query at index 119: http://XXX.XXX.XXX.XX:XXXX/XXXX/services/ShopService/ShopSearchinfo?callback=jQuery18209278033156879246_1359716402373& 
{%22country%22,%22India%22}&_=1359716403257 

FULL LOG입니다

전체 서버 로그이다

WARN org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher - Failed to parse request. 
java.lang.IllegalArgumentException 
     at java.net.URI.create(URI.java:842) 
     at org.jboss.resteasy.specimpl.UriInfoImpl.<init>(UriInfoImpl.java:70) 
     at org.jboss.resteasy.plugins.server.servlet.ServletUtil.extractUriInfo(ServletUtil.java:72) 
     at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:178) 
     at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:48) 
     at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:43) 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) 
     at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:877) 
     at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:594) 
     at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1675) 
     at java.lang.Thread.run(Thread.java:662) 
Caused by: java.net.URISyntaxException: Illegal character in query at index 119: http://XXX.XXX.XXX.XX:XXXX/XXXX/services//ShopSearchinfo?callback=jQuery18209278033156879246_1359716402373& 
{%22country%22,%22India%22}&_=1359716403257 
     at java.net.URI$Parser.fail(URI.java:2809) 
     at java.net.URI$Parser.checkChars(URI.java:2982) 
     at java.net.URI$Parser.parseHierarchical(URI.java:3072) 
     at java.net.URI$Parser.parse(URI.java:3014) 
     at java.net.URI.<init>(URI.java:578) 
     at java.net.URI.create(URI.java:840) 
     ... 18 more 
Feb 1, 2013 4:30:03 PM org.apache.catalina.core.StandardWrapperValve invoke 
SEVERE: Servlet.service() for servlet Resteasy threw exception 
java.lang.NullPointerException 
     at org.jboss.resteasy.plugins.server.servlet.HttpServletInputMessage.<init>(HttpServletInputMessage.java:60) 
     at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.createHttpRequest(HttpServletDispatcher.java:64) 
     at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.createResteasyHttpRequest(HttpServletDispatcher.java:53) 
     at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:188) 
     at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:48) 
     at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:43) 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) 
     at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:877) 
     at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:594) 
     at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1675) 
     at java.lang.Thread.run(Thread.java:662) 

FULL LOG입니다

전체 서버 로그이다

WARN org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher - Failed to parse request. 
java.lang.IllegalArgumentException 
     at java.net.URI.create(URI.java:842) 
     at org.jboss.resteasy.specimpl.UriInfoImpl.<init>(UriInfoImpl.java:70) 
     at org.jboss.resteasy.plugins.server.servlet.ServletUtil.extractUriInfo(ServletUtil.java:72) 
     at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:178) 
     at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:48) 
     at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:43) 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) 
     at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:877) 
     at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:594) 
     at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1675) 
     at java.lang.Thread.run(Thread.java:662) 
Caused by: java.net.URISyntaxException: Illegal character in query at index 119: http://XXX.XXX.XXX.XX:XXXX/XXXX/services//ShopSearchinfo?callback=jQuery18209278033156879246_1359716402373& 
{%22country%22,%22India%22}&_=1359716403257 
     at java.net.URI$Parser.fail(URI.java:2809) 
     at java.net.URI$Parser.checkChars(URI.java:2982) 
     at java.net.URI$Parser.parseHierarchical(URI.java:3072) 
     at java.net.URI$Parser.parse(URI.java:3014) 
     at java.net.URI.<init>(URI.java:578) 
     at java.net.URI.create(URI.java:840) 
     ... 18 more 
Feb 1, 2013 4:30:03 PM org.apache.catalina.core.StandardWrapperValve invoke 
SEVERE: Servlet.service() for servlet Resteasy threw exception 
java.lang.NullPointerException 
     at org.jboss.resteasy.plugins.server.servlet.HttpServletInputMessage.<init>(HttpServletInputMessage.java:60) 
     at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.createHttpRequest(HttpServletDispatcher.java:64) 
     at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.createResteasyHttpRequest(HttpServletDispatcher.java:53) 
     at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:188) 
     at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:48) 
     at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:43) 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) 
     at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:877) 
     at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:594) 
     at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1675) 
     at java.lang.Thread.run(Thread.java:662) 

답변

0

URL의 형식이 잘못되었습니다 (문자 {을 허용하지 않습니다). 당신이 그들을 필요로하는 경우, 그들을 도주

+0

안녕, 내게 말할 수 있을까? 어떻게 '도망 갈 수있어 {' – Theja

+0

당신의 JavaScript에서, '이스케이프 (inputData)' – davids

관련 문제