Pergunta

Eu tenho usado Mula Studio 3.2.1 para desenvolver uma Mula aplicação.Dentro do aplicativo eu tenho usado org.springframework.ws.o cliente.núcleo.WebServiceTemplate para enviar um Webservice pedido para outro aplicativo.Eu usei a seguinte configuração

 <bean id="myWsTemplate"  clsass="org.springframework.ws.client.core.WebServiceTemplate">
    <constructor-arg ref="messageFactory" />
    <property name="defaultUri" value="${my.soap.endpoint}" />
    <property name="interceptors">
        <list>
            <ref bean="acqSecurityInterceptor" />
        </list>
    </property> 

 <bean id="acqSecurityInterceptor" class="org.springframework.ws.soap.security.wss4j.Wss4jSecurityInterceptor">
    <property name="validationActions" value="NoSecurity"/>
    <property name="securementActions" value="NoSecurity" />
</bean>

Eu tenho usado o Maven dependency de

    <dependency>
        <groupId>org.springframework.ws</groupId>
        <artifactId>spring-ws-security</artifactId>
        <version>2.1.0.RELEASE</version>
    </dependency>

Este usa wss4j-1.6.5.jar como uma dependência.Agora, quando eu colocar a aplicação em Mula 3.2.0-lança o seguinte erro

  PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'validationActions' threw exception; nested exception is java.lang.NoSuchMethodError: org.apache.ws.security.util.WSSecurityUtil.decodeAction(Ljava/lang/String;Ljava/util/List;)I
  PropertyAccessException 2: org.springframework.beans.MethodInvocationException: Property 'securementActions' threw exception; nested exception is java.lang.NoSuchMethodError: org.apache.ws.security.util.WSSecurityUtil.decodeAction(Ljava/lang/String;Ljava/util/List;)I

Agora a lib do diretório/opt da Mula 3.2.0 vem com wss4j-1.5.8-osgi.jar para que a assinatura do método em WSSecurityutil é public static int decodeAction(Seqüência de ação, Vetor de ações) enquanto o que tem sido tentado, é decodeAction(Ljava/lang/String;Ljava/util/Lista;) que está presente em wss4j.1.6.5

A minha questão é mesmo se meu aplicativo tem a wss4j-1.6.5.jar nele porque é que o carregador de classe ainda tentando usar um no mule/lib/opt.Se o que o app não substitui de precedência?Se não há uma maneira de o pôr a funcionar dessa forma

Foi útil?

Solução

ok usando a seguinte configuração em mula-implantar.propriedades ajudou carregador.substituir=-org.apache.ws.segurança.util.WSSecurityUtil ref http://www.mulesoft.org/documentation/display/MULE3USER/Classloader+Control+in+Mule

mas ainda carrega a problemas com frascos próximos construído em Mula Studio, como plug-ins e, em seguida, tentando implantar na autônomo de Mula.Vai criar uma variada lista de tais questões em outro thread.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top