Требуется наличие пробелов между publicId и systemId

Я пытаюсь сделать ajax-вызов другого домена локально с моего компьютера, написав некоторый прокси-код в jsp. И это мой код jQuery AJAX, вызывающий страницу proxy.jsp.

var metadata = 'https://rest-search.host.com/machine/search/meta?id='; var on_show_info= function() { var AjaxCall = data + current_doc_info.id; alert(AjaxCall); request_meta_info = $.ajax({ url: "proxy.jsp?url=" + AjaxCall, type: 'GET', success: check, error: error }); }; 

И мой JSP-файл: –

    

И когда я проверяю ответ, я получаю эту ошибку для XML-файла, который он parsing:

    Error 500 White spaces are required between publicId and systemId.  

HTTP ERROR 500

Problem accessing /proxy.jsp. Reason:

 White spaces are required between publicId and systemId.

Caused by:

org.xml.sax.SAXParseException: White spaces are required between publicId and systemId. at org.apache.xerces.parsers.DOMParser.parse(Unknown Source) at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source) at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:180) at org.apache.jsp.proxy_jsp._jspService(org.apache.jsp.proxy_jsp:70) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:109) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:389) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:486) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:380) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:390) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418) at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:327) at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126) at org.tuckey.web.filters.urlrewrite.NormalRewrittenUrl.doRewrite(NormalRewrittenUrl.java:213) at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:171) at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145) at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92) at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:381) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:67) at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:122) at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:110) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418) at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230) at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:326) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:536) at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:915) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:405) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582) 

Powered by Jetty://

И файл XMl:

 < 

Что плохого я делаю здесь .. Любые предложения будут оценены.

Сообщение об ошибке на самом деле является правильным, если не очевидно. В нем указано, что ваш DOCTYPE должен иметь идентификатор SYSTEM. Я предполагаю, что у вас только открытый идентификатор.

Вы получите ошибку (например):

  

Вы не будете:

  

Обратите внимание на "" в конце во втором – это системный идентификатор. Сообщение об ошибке запутывает: оно должно сказать, что вам нужен системный идентификатор, а не то, что вам нужно пространство между publicId и (несуществующим) systemId.

Кстати, пустой системный идентификатор может быть не идеальным, но этого может быть достаточно, чтобы заставить вас двигаться.

Я только что нашел этот пост: http://forum.springsource.org/showthread.php?68949-White-spaces-are-required-between-publicId-and-systemId./page2&s=c69fe19798f5a071d22eaf681ca84a56

Пара людей здесь имела успех, переключая строки в XML-файле.

Я просто нашел себя с этим Исключением, я пытался использовать JAX-WS с настраиваемым URL следующим образом:

 String WSDL_URL= ; Customer service = new Customer(new URL(WSDL_URL)); ExecutePtt port = service.getExecutePt(); return port.createMantainCustomers(part); 

и Java бросил:

 XML reader error: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,63] Message: White spaces are required between publicId and systemId. 

Оказывается, что в строке URL, используемой для построения службы, в конце отсутствовала «? Wsdl». Например:

Плохо:

 http://www.host.org/service/Customer 

Хорошо:

 http://www.host.org/service/Customer?wsdl 

Измените порядок статусов. Для меня изменение блока кода

 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/context http://www.springframework.org/schema/beans/spring-beans.xsd" 

с

 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context" 

действует.

Если вы работаете в какой-либо сети, которая требует, чтобы вы использовали прокси-сервер в своем браузере для подключения к Интернету (вероятно, офисное здание), возможно, это так. У меня была такая же проблема, и добавление настроек прокси-сервера в сетевые настройки решило ее.

  • Перейдите к своим предпочтениям (Eclipse -> Настройки на Mac или Window -> Настройки в Windows)
  • Затем -> Общие -> expand, чтобы просмотреть список внизу -> Выбрать сетевые подключения (не разворачивать)
  • В верхней части страницы, которая появляется, появляется раскрывающееся меню, выберите «Вручную».
  • Затем выберите «HTTP» в списке непосредственно под раскрывающимся списком (который теперь должен иметь все его параметры отмечены), а затем нажмите кнопку «Изменить» справа от списка.
  • Введите URL-адрес прокси-сервера и порт, который необходимо подключить к Интернету в вашем веб-браузере.
  • Повторите для «HTTPS».

Если вы не знаете URL-адрес прокси и порт, поговорите с администратором сети.

Interesting Posts
Давайте будем гением компьютера.