Srepfler Srgjan wrote:
Hi,
I've followed (with small changes in my configuration as I've used annotations) the guide on http://www.tsolak.com/?p=15 about exposing a EJB as a web service. I'm having the following issue, I've added a couple of new methods with the same signature (as far as method types are concerned, parameter names are different and declared via @WebParameter ex:
(ex. this is one the methods added)
public UserDetails[] fetchUsersInSociety(@WebParam(name="societyId")Long societyId, @WebParam(name="username") String username, @WebParam(name="password") String password) throws RemoteException;
(the old method that existed before)
public BreakdownOffer fetchBreakdownOffer(@WebParam(name="journalId")Long journalId, @WebParam(name="username") String username, @WebParam(name="password") String password) throws RemoteException; These are declared on the interface and implemented in the SessionBean (I don't use any annotations on the SessionBean), what happens is that when I invoke a fetchBreakdownOffer I can see using the debugger that I'm entering fetchUsersInSociety.
Any ideas?

My configuration is:

<beans>

<import resource="classpath:org/codehaus/xfire/spring/xfire.xml"/>
<bean id="BreakdownReceiverSessionBeanProxy" class="org.springframework.ejb.access.SimpleRemoteStatelessSessionProxyFactoryBean">
<property name="jndiName">
<value>csai/BreakdownReceiver</value>
</property>
<props> <prop key="java.naming.factory.initial">org.jnp.interfaces.NamingContextFactory</prop>
<prop key="java.naming.factory.url.pkgs">jnp://localhost:1099</prop>
<prop key="java.naming.provider.url">java.naming.provider.url</prop>
</props>
</property>-->
<property name="resourceRef"> <value>false</value> </property> <property name="lookupHomeOnStartup"><value>false</value></property> <property name="businessInterface"><value>it.linksystem.csai.business.managers.comms.BreakdownReceiverServiceEndpoint</value></property>
</bean>
<bean id="annotationServiceFactory"
   class="org.codehaus.xfire.annotations.AnnotationServiceFactory"
   singleton="true">
   <constructor-arg index="0">
     <ref bean="xfire.transportManager" />
   </constructor-arg>
 </bean>

<bean id="BreakdownReceiverWS" class="org.codehaus.xfire.spring.remoting.XFireExporter"> <property name="style"><value>document</value></property> <property name="use"><value>literal</value></property> <property name="serviceFactory"><ref bean="annotationServiceFactory"/></property>
<property name="xfire"><ref bean="xfire"/></property>
<property name="serviceBean"> <ref bean="BreakdownReceiverSessionBeanProxy"/> </property><property name="serviceInterface"><value>it.linksystem.csai.business.managers.comms.BreakdownReceiverServiceEndpoint</value></property>
</bean>
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="urlMap">
<map>
<entry key="/BreakdownsService"><ref bean="BreakdownReceiverWS"/></entry>
</map>
</property>
</bean>

</beans>


Thanks,

Srgjan Srepfler

---------------------------------------------------------------------
To unsubscribe from this list please visit:

   http://xircles.codehaus.org/manage_email


I can confirm that after I appended / prepended a dummy int parameter to the two new methods requests were landing to the right method. Anyone has any idea? Could it be some issue with passing via JNDI, reflection... ?


Thanks,
Srgjan

---------------------------------------------------------------------
To unsubscribe from this list please visit:

   http://xircles.codehaus.org/manage_email

Reply via email to