2016-06-07 9 views
3

Я добавил простой конфигурации JAXWS файл в моем приложении весной 4:Не удалось найти Spring NamespaceHandler для пространства имен XML-схемы [http://cxf.apache.org/jaxws] - CXF-RT-Frontend-jaxrs включены

<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.xsd 
     http://cxf.apache.org/jaxws 
     http://cxf.apache.org/schemas/jaxws.xsd"> 

    <jaxws:client name="https://testecommerce.credibanco.com/vpos2/services/VPOSWS20SOAP/authorize" createdFromAPI="true"> 
     <!-- Uncomment if using WS-SecPolicy method --> 
     <jaxws:properties> 
      <entry key="ws-security.username" value="myuser"/>   
      <entry key="ws-security.callback-handler" value-ref="mypassword"/> 
     </jaxws:properties> 
    </jaxws:client> 

    <bean id="myPasswordCallback" class="com..core.ws.security.PWHandler"/> 

</beans> 

И я получаю эту ошибку:

Unable to locate Spring NamespaceHandler for XML schema namespace [http://cxf.apache.org/jaxws] 

Вся информация я могу найти говорит включить зависимость, которую я сделал уже:

 <dependency> 
      <groupId>org.apache.cxf</groupId> 
      <artifactId>cxf-rt-frontend-jaxrs</artifactId> 
      <version>3.1.4</version> 
     </dependency> 

У меня также есть эти CxF банки также включены:

<dependency> 
    <groupId>org.apache.cxf</groupId> 
    <artifactId>cxf-rt-transports-http-hc</artifactId> 
    <version>${cxf.version}</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.cxf</groupId> 
    <artifactId>cxf-rt-bindings-soap</artifactId> 
    <version>${cxf.version}</version> 
    <scope>provided</scope> 
</dependency> 
<dependency> 
    <groupId>org.apache.cxf</groupId> 
    <artifactId>cxf-rt-ws-security</artifactId> 
    <version>${cxf.version}</version> 
    <scope>provided</scope> 
</dependency> 
<dependency> 
    <groupId>org.apache.wss4j</groupId> 
    <artifactId>wss4j-ws-security-common</artifactId> 
    <version>2.1.5</version> 
</dependency> 

Я использую JBoss EAP 7. Я также попытался запустить приложение в JBoss EAP 6.4 и получил тот же самый вопрос. Я также попытался исключить модуль веб-сервисов в структуру jboss-deployment, но это вызвало другие ошибки.

+0

Вы проверили, что необходимые банки расположены непосредственно в папке WEB-INF/lib вашего развернутого приложения? – Frank

ответ

10

Вы используете jax-ws и добавляете зависимость для jax-rs. WS для SOAP и RS для RESTful.

Добавить что-то вроде этого:

<dependency> 
    <groupId>org.apache.cxf</groupId> 
    <artifactId>cxf-rt-frontend-jaxws</artifactId> 
    <version>2.7.7</version> 
</dependency> 

Надеется, что это помогает.