Apologies for accidentally sending this to the dev list:-)

 

 

This may be similar problem that of
http://www.mail-archive.com/user@xfire.codehaus.org/msg02212.html
<http://www.mail-archive.com/user@xfire.codehaus.org/msg02212.html> 

I am using XFire 1.2.4 release 

 

 

1)       I have service that was created by starting with WSDL and used
the wsgen tool defaulting to the JAXB bindings

2)       The default generated client works properly against the
implemented service running over http

3)       Following the echo example for running the client over
JMSTransport does result in the service being invoked and apparently
identical xml coming back to the proxy and being successfully delivered
through the client's JMSTransports onMessage() method

4)       But then during the handling of the response in the handler
pipeline a org.codehaus.xfire.XFireRuntimeException: Could not invoke
service.. exception is thrown.

 

I have included a fragment of the debug log and the stack trace, the
client setup code, the service interface definition fragment, and a
fragment of the returned soap message.

 

Does anyone have any suggestions as to what I am doing incorrectly or
further analysis steps I can take?  

 

Thanks,

 

--Keith Willard

 

============debug log fragement========================

 

 

1250 [ActiveMQ Session Task] DEBUG org.codehaus.xfire.client.Client  -
Correlating context with ID 11751922475170-1326264516

1250 [ActiveMQ Session Task] DEBUG org.codehaus.xfire.client.Client  -
Found correlated context with ID 11751922475170-1326264516

1250 [ActiveMQ Session Task] DEBUG
org.codehaus.xfire.handler.HandlerPipeline  - adding handler
[EMAIL PROTECTED] to phase service

1250 [ActiveMQ Session Task] DEBUG
org.codehaus.xfire.handler.HandlerPipeline  - Invoking phase dispatch

1250 [ActiveMQ Session Task] DEBUG
org.codehaus.xfire.handler.HandlerPipeline  - Invoking phase policy

1250 [ActiveMQ Session Task] DEBUG
org.codehaus.xfire.handler.HandlerPipeline  - Invoking phase user

1250 [ActiveMQ Session Task] DEBUG
org.codehaus.xfire.handler.HandlerPipeline  - Invoking handler
org.codehaus.xfire.client.ClientFaultConverter in phase user

1250 [ActiveMQ Session Task] DEBUG
org.codehaus.xfire.handler.HandlerPipeline  - Invoking phase pre-invoke

1250 [ActiveMQ Session Task] DEBUG
org.codehaus.xfire.handler.HandlerPipeline  - Invoking phase service

1250 [ActiveMQ Session Task] DEBUG
org.codehaus.xfire.handler.HandlerPipeline  - Invoking handler
org.codehaus.xfire.client.ClientReceiveHandler in phase service

Could not invoke service.. Nested exception is
org.codehaus.xfire.fault.XFireFault: Index: 0, Size: 0

org.codehaus.xfire.XFireRuntimeException: Could not invoke service..
Nested exception is org.codehaus.xfire.fault.XFireFault: Index: 0, Size:
0

org.codehaus.xfire.fault.XFireFault: Index: 0, Size: 0

      at
org.codehaus.xfire.fault.XFireFault.createFault(XFireFault.java:89)

      at org.codehaus.xfire.client.Client.onReceive(Client.java:386)

      at
org.codehaus.xfire.transport.AbstractChannel.receive(AbstractChannel.jav
a:38)

 

 

=======================This is what the client setup code looks
like============

 

ObjectServiceFactory sf = new
org.codehaus.xfire.jaxb2.JaxbServiceFactory(

                        getTransportManager());

      sf.addSoap11Transport(JMSTransport.BINDING_ID);

 

      // Create the service model

      Service serviceModel = sf.create(BookstoreService.class);

 

      // Create a proxy for the service

      XFireProxyFactory factory = new XFireProxyFactory(getXFire());

      BookstoreService proxy = (BookstoreService)
factory.create(serviceModel, "jms://BookstoreService");

 

      // Since JMS doesn't really have a concept of anonymous endpoints,
we need

      // need to let xfire know what JMS endpoint we should use

      ((XFireProxy) Proxy.getInvocationHandler(proxy)).getClient()

                        .setEndpointUri("jms://bookstoreResponse");

 

      ArrayOfBook1 books=proxy.getTopSellers();

 

=======service interface definition
fragment==============================================

 

    @WebMethod(operationName = "getTopSellers", action =
"urn:Bookstore/BookstoreService/getTopSellers")

    @WebResult(name = "getTopSellersResult", targetNamespace =
"urn:Bookstore")

    public ArrayOfBook1 getTopSellers();

 

 

===== fragment of xml response===========================

<soap:Body>

            <getTopSellersResponse xmlns="urn:Bookstore">

                  <getTopSellersResult>

                        <Book>

                              <authors>

..rest of the message

 

 

 

Reply via email to