Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从XML数据库到XQuery的Java Web服务_Java_Xml_Web Services_Rest_Xquery - Fatal编程技术网

从XML数据库到XQuery的Java Web服务

从XML数据库到XQuery的Java Web服务,java,xml,web-services,rest,xquery,Java,Xml,Web Services,Rest,Xquery,这是我生命中的第一次编程。 现在我必须用Java创建Web服务(Rest,但当Soap适合这种情况时,我尝试Soap方法)。 从自己的FTP服务器中的XML数据库中提取数据并返回 使用Java或其他方法将XML数据转换为XQuery XML数据库→RESTWeb服务(XQuery)→XML数据库返回 或者我想选择更简单的方式 XML数据库:文本、图片、URL、名称、年份 我花了几周时间尝试创建web服务。 安装软件和插件,并检查是否运行所有软件和插件 BaseX, Tomcat 7.0.62本地

这是我生命中的第一次编程。 现在我必须用Java创建Web服务(Rest,但当Soap适合这种情况时,我尝试Soap方法)。 从自己的FTP服务器中的XML数据库中提取数据并返回

使用Java或其他方法将XML数据转换为XQuery


XML数据库→RESTWeb服务(XQuery)→XML数据库返回 或者我想选择更简单的方式

XML数据库:文本、图片、URL、名称、年份

我花了几周时间尝试创建web服务。 安装软件和插件,并检查是否运行所有软件和插件

BaseX, Tomcat 7.0.62本地主机, 泽西岛1.19, Eclipse 4.4 Luna和插件, JAVA 1.8, JDK 8, JAXB

我阅读教程,例如:

但它没有起作用。我得到以下例外:

enter code here
`javax.servlet.ServletException: Servlet.init() for servlet Jersey REST Service threw exception
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:957)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:620)
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
java.lang.Thread.run(Thread.java:745)`
根本原因:

enter code here
`com.sun.jersey.api.container.ContainerException: The ResourceConfig instance does not contain any root resource classes.
com.sun.jersey.server.impl.application.RootResourceUriRules.<init>(RootResourceUriRules.java:99)
com.sun.jersey.server.impl.application.WebApplicationImpl._initiate(WebApplicationImpl.java:1359)
com.sun.jersey.server.impl.application.WebApplicationImpl.access$700(WebApplicationImpl.java:180)
com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:799)
com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:795)
com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:193)
com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:795)
com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:790)
com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:509)
com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(ServletContainer.java:339)
com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:605)
com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:207)
com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:394)
com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:577)
javax.servlet.GenericServlet.init(GenericServlet.java:158)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:957)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:620)
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
java.lang.Thread.run(Thread.java:745)`
在此处输入代码
`com.sun.jersey.api.container.ContainerException:ResourceConfig实例不包含任何根资源类。
com.sun.jersey.server.impl.application.RootResourceUriRules.(RootResourceUriRules.java:99)
com.sun.jersey.server.impl.application.WebApplicationImpl.\u initiate(WebApplicationImpl.java:1359)
com.sun.jersey.server.impl.application.WebApplicationImpl.access$700(WebApplicationImpl.java:180)
com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:799)
com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:795)
com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:193)
com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:795)
com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:790)
com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:509)
com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(ServletContainer.java:339)
com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:605)
com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:207)
com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:394)
com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:577)
init(GenericServlet.java:158)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:957)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:620)
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
run(Thread.java:745)`

我在寻找有用的资源来帮助我解决这个问题时遇到了问题,我希望您能就如何继续提供建议。

不清楚Java是真正的需求,还是您认为需要的技术。如果可以不使用它,可以查看本机XML数据库。对于开源,请查看eXist或BaseX。它们都有自己的HTTP绑定机制,甚至还有REST服务库和框架

这东西很硬。通常不适合初学者。你需要有人的帮助,比如教授或试一下topcoder可能会否决你的问题,但请不要因为我们筛选问题的方法很简单而气馁。所以首先欢迎来到So!不幸的是,你的问题是非常不清楚你想实现什么,为什么你要做你描述的事情。听起来你好像迷路了,我觉得你的问题很不具体,可能不适合这么简单。@dirkk这是真的。因为我不确定Web服务以及如何创建Web服务。我刚才已经说过“Web服务可以将计算机连接到计算机”。我现在必须创建Web服务。另外,我对stackoverflow的使用不太了解。你可能想看看这本初学者指南,也许这可以让你开始:但是,我觉得你的目标太高了,应该从编程的基础开始,而不是坚持你必须实现web服务。无论谁需要这个,都应该找一个有经验的人来做这件事……特别是看看RESTXQ(),一种构建REST应用程序的XQuery技术,这正是您的用例。使用basex,如果下载zip版本(),您只需启动
basexhttp
,就可以在
localhost:8984
上获得一个示例REST应用程序。我怀疑这会变得更容易…@dirkk非常感谢您提供更多信息。我检查网页并重试!我能问更多关于新方法的问题吗?@Florent谢谢你的建议。 我是说,XML数据库→(XML)→RESTWeb服务→(XQuery)→XMLDB返回,所以我认为我需要Java。我检查是否也存在BaseX@dirkk我阅读了链接和。但我需要更多的解释,比如URL。我不明白,我该如何为我的案例创建应用程序(通过web服务连接XML数据库)。谢谢。如果有什么事情你做不到,最好是提出一个关于你做不到的事情的新问题,而不是在评论中简单地说一句“我不明白”。