publicId和systemId之间需要空格

我试图通过在jsp中编写一些代理代码,从我的计算机本地对其他域进行ajax调用。 这是我调用proxy.jsp页面的jQuery AJAX代码。

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文件的错误:

    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文件中切换线条获得了成功。

我刚刚发现了这个Exception,我试图使用这样的自定义URL来使用JAX-WS:

 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. 

事实certificate,用于构造服务的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" 

已validation。

如果您在某个网络上工作,需要您在浏览器中使用代理连接到互联网(可能是办公楼),那可能就是这样。 我有同样的问题,并将代理配置添加到网络设置解决了它。

  • 转到您的首选项(Eclipse – > Mac上的首选项,或窗口 – > Windows上的首选项)
  • 然后 – >常规 – >展开以查看下面的列表 – >选择网络连接(不要展开)
  • 在显示的页面顶部有一个下拉列表,选择“手动”。
  • 然后在下拉列表正下方的列表中选择“HTTP”(现在应该选中所有选项),然后单击列表右侧的“编辑”按钮。
  • 输入代理url和端口,您需要在网络浏览器中正常连接到互联网。
  • 重复“HTTPS”。

如果您不知道代理url和端口,请与您的网络管理员联系。