开发者

Help with ejb 3, weblogic and spring

I've created a simple EJB3 test project, the code is simple:

@Stateless
@Remote( { ISumaSimple.class })
public class SumaSimpleBean implements ISumaSimple {

    /**
     * Default constructor.
     */
    public SumaSimpleBean() {
        // TODO Auto-generated constructor stub
    }

    @Override
    public int sumar(int a, int b) {
        // TODO Auto-generated method stub
        return a + b;
    }

}

public interface ISumaSimple {      
    public int sumar(int a, int b);
}

Ok, my client is a stand alone spring aplication which configuration is:

<bean id="sumaSimpleServicio"
    class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiEnvironment">
        <props>
            <prop key="java.naming.factory.initial">
                 org.apache.openejb.client.RemoteInitialContextFactory
            </prop>
            <prop key="java.naming.provider.url">
                 ejbd://localhost:4201
            </prop>
        </props>
    </property>
    <property name="jndiName" value="SumaSimpleBeanRemote" />
</bean>

<bean id="clienteService" class="qtx.cliente.simple.ClienteService">
    <property name="sumaSimpleServicio" ref="sumaSimpleServicio"></property>
</bean>

All worked smoothly, but then I tried deploying using weblogic 10.3, just changing these values:

weblogic.jndi.WLInitialContextFactory

t3://localhost:7010

In weblogic jndi tree my ejb is under: SimpleEJB3SimpleEJB_jarSumaSimple3_ISumaSimple

Of course I added wlclient.jar to my spring client classpath.

The deployment went perfectly, but I think I am missing something in weblogic case, but dunno. My spring client is throwing this exception:

Caused by: org.springframework.beans.TypeMismatchException: Failed to convert property value of type [qtx.ejb.simple._SumaSimple3_gwze0z_ISumaSimpleIntf_Stub] to required type [qtx.servicio.simple.ISumaSimple] for property 'sumaSimpleServicio'; nested exception is java.lang.IllegalArgumentException: Cannot convert value of type [qtx.ejb.simple._SumaSimple3_gwze0z_ISumaSimpleIntf_Stub] to required type [qtx.servicio.simple.ISumaSimple] for property 'sumaSimpleServicio': no matching editors or conversion strategy found
    at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:391)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.convertForProperty(AbstractAutowireCapableBeanFactory.java:1288)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1249)
    at org.sprin开发者_运维技巧gframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)
    ... 14 more
Caused by: java.lang.IllegalArgumentException: Cannot convert value of type [qtx.ejb.simple._SumaSimple3_gwze0z_ISumaSimpleIntf_Stub] to required type [qtx.servicio.simple.ISumaSimple] for property 'sumaSimpleServicio': no matching editors or conversion strategy found
    at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:219)
    at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:138)
    at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:386)
    ... 18 more

Any help would be appreciated.


Jndi name differs in OpenEJB and Weblogic , have to use different correct jndi name as per server on which ejbs are hosted.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜