2010-11-03 3 views
0

Я пытаюсь реализовать веб-сервис в существующем автономном приложении весны.cxf webservice в автономном приложении весны

Я настроил весной:

<?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 доступен из браузера, и я думаю, что это хорошо сформирован (официальный XSD).

Я подозреваю, что проблема не связана с связанной конфигурацией cxf.

Спасибо,

Hubidubi

+0

Возможно, проблема в кэше IDE. Вы используете это из среды IDE? (А если да: какой?) – Tim

+0

Я запускаю его из Eclipse и строю его с maven – Hubidubi

ответ

0

Это означает, что он не может получить доступ к URL, когда вы работаете его. Это случается с нами, когда мы запускаем наше приложение для struts/tiles без подключения к интернету. Что вы можете сделать в качестве альтернативы, загрузите xsd и поместите его где-нибудь, где приложение может его прочитать.

и заменить http://cxf.apache.org/schemas/jaxws.xsd с /path/to/file/jaxws.xsd

0

Может быть, что вы находитесь в среде, где вам нужно настроить прокси-сервер для доступа к сети? Вы установили прокси-сервер в своем браузере и, таким образом, можете получить доступ к .xsd через браузер.

Вам необходимо настроить свою IDE соответствующим образом или установить прокси-сервер всей системы.

Надежда я угадала: р

0

Наконец-то я понял, решение. Мне пришлось добавить зависимые зависимости к maven pom.xml.

+0

Каковы соответствующие зависимости? @Hubidubi – mel3kings

+0

Джи, я не знаю. Это было три года назад. :( – Hubidubi

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

для меня работает с этим.

0

Очистка файлов из кэша Eclipse устраняет эту проблему для меня.

В настройках Eclipse я пошел в Общие сведения> Сетевые подключения> Кэш и удалили файлы cxf, которые вызывают проблему. Ошибка исчезла в следующий раз, когда я проверил файл.

Смежные вопросы