独立 spring 应用程序中的 cxf webservice

发布于 2024-09-30 13:46:06 字数 2251 浏览 0 评论 0原文

我尝试在现有的独立 Spring 应用程序中实现 Web 服务。

我配置了 spring:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:jaxws="http://cxf.apache.org/jaxws"
       xmlns:util="http://www.springframework.org/schema/util"
       xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.0.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">


    <import resource="classpath:beans/webservice.xml" />

....

webservice.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:jaxws="http://cxf.apache.org/jaxws"
   xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
                       http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">


<bean id="CheckService" class="test.ws.CheckService">
</bean>

<jaxws:endpoint 
    id="checkService" 
    implementor="#CheckService"
    address="http://localhost:9000/CheckService" />

我是根据官方文档和书本上的示例进行配置的。我得到例外:

03/11/2010 09:34:12 WARN Ignored XML validation warning
org.xml.sax.SAXParseException: schema_reference.4: Failed to read schema document 'http://cxf.apache.org/schemas/jaxws.xsd', because 1) could not find the document; 2) the document could not be read; 3) the root element of the document is not <xsd:schema>.
        at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
        at org.apache.xerces.util.ErrorHandlerWrapper.warning(Unknown Source)

...

http://cxf.apache.org/schemas/jaxws.xsd< /a> 可以从浏览器访问,我认为它的格式很好(官方 xsd)。

我怀疑问题与 cxf 无关,而是与 swing 配置有关。

谢谢,

胡比比比

I try to implement a webservice in an existing standalone spring application.

I configured spring:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:jaxws="http://cxf.apache.org/jaxws"
       xmlns:util="http://www.springframework.org/schema/util"
       xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.0.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">


    <import resource="classpath:beans/webservice.xml" />

....

webservice.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:jaxws="http://cxf.apache.org/jaxws"
   xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
                       http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">


<bean id="CheckService" class="test.ws.CheckService">
</bean>

<jaxws:endpoint 
    id="checkService" 
    implementor="#CheckService"
    address="http://localhost:9000/CheckService" />

I made the configuration according to official documentation and samples from books. I get exception:

03/11/2010 09:34:12 WARN Ignored XML validation warning
org.xml.sax.SAXParseException: schema_reference.4: Failed to read schema document 'http://cxf.apache.org/schemas/jaxws.xsd', because 1) could not find the document; 2) the document could not be read; 3) the root element of the document is not <xsd:schema>.
        at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
        at org.apache.xerces.util.ErrorHandlerWrapper.warning(Unknown Source)

...

http://cxf.apache.org/schemas/jaxws.xsd is accessible from browser and I think it is well formed (official xsd).

I suspect that the problem is not related to cxf rather swing configuration related.

Thanks,

Hubidubi

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

微暖i 2024-10-07 13:46:06

这意味着当您运行它时它无法访问该 url。当我们在没有互联网连接的情况下启动 struts/tiles 应用程序时,就会发生这种情况。您可以做的替代方案是下载 xsd 并将其放在应用程序可以读取的位置。

并将 http://cxf.apache.org/schemas/jaxws.xsd 替换为 /路径/到/文件/jaxws.xsd

This means that it could not access the url when you are running it. This happens to us when we start our struts/tiles application without internet connection first. What you can do as an alternative is download the xsd and put it somewhere where you application can read it.

and replace http://cxf.apache.org/schemas/jaxws.xsd with /path/to/file/jaxws.xsd

丑疤怪 2024-10-07 13:46:06

是否您所处的环境需要设置代理才能访问网络?
您已在浏览器中设置了代理,因此可以通过浏览器访问.xsd。

您需要适当设置 IDE 或设置系统范围的代理。

希望我猜对了:p

Could it be that you're in an environment where you need to set up a proxy to access the web?
You have set the proxy in you browser and can thus access the .xsd via browser.

You need to set up your IDE appropriately or set a system-wide proxy.

Hope I guessed right :p

亽野灬性zι浪 2024-10-07 13:46:06

最后我想出了解决办法。我必须向 maven pom.xml 添加适当的依赖项。

Finally I figured out the resolution. I had to add appropirate dependencies to maven pom.xml.

勿忘初心 2024-10-07 13:46:06
    <dependency>
        <groupId>joda-time</groupId>
        <artifactId>joda-time</artifactId>
        <version>2.2</version>
    </dependency>

对我来说可以用这个。

    <dependency>
        <groupId>joda-time</groupId>
        <artifactId>joda-time</artifactId>
        <version>2.2</version>
    </dependency>

for me works w/ this.

夜吻♂芭芘 2024-10-07 13:46:06

从 Eclipse 缓存中清除文件解决了我的这个问题。

在 Eclipse 首选项中,我转到 General >网络连接>缓存并删除导致问题的 cxf 文件。下次我验证文件时,错误就消失了。

Clearing the files from the Eclipse cache fixed this problem for me.

In Eclipse preferences, I went to General > Network Connections > Cache and removed the cxf files that were causing the issue. The error went away the next time I validated the file.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文