Hello,
Now I extend the interface with a new method get() with one argument and
returning a POJO object.
@WebService(name = "ContainerISOService" )
public interface ContainerISOService
{
@WebMethod(operationName = "count", action = "urn:count")
@WebResult(name = "counter")
public int count();
@WebMethod(operationName = "get", action = "urn:get")
@WebResult(name = "iso")
public ContainerISO get( @WebParam(name="id") String anId);
Accessing the count() method from a spring-xfire-command line works fine,
but accessing get() fails
org.codehaus.xfire.fault.XFireFault: Illegal access. Class
org.codehaus.xfire.aegis.type.basic.BeanType can not access a member of
class com.cosmosworldwide.tryout.model.ContainerISO with modifiers ""
org.codehaus.xfire.XFireRuntimeException: Could not invoke service.. Nested
exception is org.codehaus.xfire.fault.XFireFault: Illegal access. Class
org.codehaus.xfire.aegis.type.basic.BeanType can not access a member of
class com.cosmosworldwide.tryout.model.ContainerISO with modifiers ""
org.codehaus.xfire.fault.XFireFault: Illegal access. Class
org.codehaus.xfire.aegis.type.basic.BeanType can not access a member of
class com.cosmosworldwide.tryout.model.ContainerISO with modifiers ""
at
org.codehaus.xfire.aegis.type.basic.BeanType.readObject(BeanType.java:192)
at
org.codehaus.xfire.aegis.AegisBindingProvider.readParameter(AegisBindingProvider.java:162)
at
org.codehaus.xfire.service.binding.AbstractBinding.read(AbstractBinding.java:206)
at
org.codehaus.xfire.service.binding.WrappedBinding.readMessage(WrappedBinding.java:50)
at
org.codehaus.xfire.soap.handler.SoapBodyHandler.invoke(SoapBodyHandler.java:42)
at
org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
at org.codehaus.xfire.client.Client.onReceive(Client.java:382)
at
org.codehaus.xfire.transport.http.HttpChannel.sendViaClient(HttpChannel.java:139)
at
org.codehaus.xfire.transport.http.HttpChannel.send(HttpChannel.java:48)
at
org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java:26)
at
org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:75)
at org.codehaus.xfire.client.Client.invoke(Client.java:335)
at
org.codehaus.xfire.client.XFireProxy.handleRequest(XFireProxy.java:77)
at org.codehaus.xfire.client.XFireProxy.invoke(XFireProxy.java:57)
Again I see Aegis appear as BindingProvider, although I explicitely used the
jaxb2 Service Factory
<import resource="classpath:org/codehaus/xfire/spring/xfire.xml"/>
<bean name="jaxbServiceFactory"
class="org.codehaus.xfire.jaxb2.JaxbServiceFactory">
<constructor-arg ref="xfire.transportManager"/>
</bean>
<bean id="containerISOService"
class="org.codehaus.xfire.spring.remoting.XFireClientFactoryBean">
<property name="serviceClass"
value="com.cosmosworldwide.tryout.interfaces.ContainerISOService"/>
<property name="wsdlDocumentUrl"
value="http://localhost:8080/CosmosServiceLayer/services/ContainerISOImpl?wsdl"/>
<property name="serviceFactory" ref ="jaxbServiceFactory"/>
</bean>
Fried Hoeben wrote:
>
> Sorry,
>
> I don't really know what the issue is. To me it does not appear to be a
> client issue at all, I would guess something is up with the server
> config: the request is being handed to the wrong class. Have you tried
> debugging to figure out what the AbstractInvoker is calling?
>
> Fried
>
> ---------------------------------------------------------------------
> To unsubscribe from this list please visit:
>
> http://xircles.codehaus.org/manage_email
>
>
>
--
View this message in context:
http://www.nabble.com/JSR181---Spring-based-server-and-client-tf2961233.html#a8389396
Sent from the XFire - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe from this list please visit:
http://xircles.codehaus.org/manage_email