Hi all

I have embedded servicemix into my application and deployed the
wsdl-first-cxf-sa-3.2.1.zip to the deploy directory of my webapp.
Servicemix sees this sa and deploys it just fine, no problem.

I then proceed to make quick client using CXF DynamicClientFactory see code
below

        ClassLoader classLoader = Thread.currentThread
().getContextClassLoader();
        DynamicClientFactory dcf = DynamicClientFactory.newInstance();

        Client client = dcf.createClient("
http://localhost:8092/PersonService/?wsdl",classLoader);

        Object personRequestParam;
            personRequestParam = Thread.currentThread
().getContextClassLoader().loadClass("
org.apache.servicemix.samples.wsdl_first.types.GetPerson").newInstance();
            Method[] methods = personRequestParam.getClass
().getDeclaredMethods();
            for (Method m : methods) {
                if ("setPersonId".equals(m.getName())){
                    m.invoke(personRequestParam, "1");
                }
            }

            BindingOperationInfo op =
client.getEndpoint().getEndpointInfo().getBinding().getOperation(new
QName("http://servicemix.apache.org/samples/wsdl-first","GetPerson";));
            System.out.println(op.getOutput().toString());
            Object[] result = client.invoke(op, personRequestParam);
            for (int i = 0; i < result.length; i++) {
                System.out.println(result[ i ]);
            }


In the my webapp console window I see the sa being called and processing
this request. see the DEBUG output below

<SNIP>

DEBUG - DeliveryChannelImpl            - Received: InOut[
  id: ID:41.241.170.101-118f14d7c22-5:3
  status: Done
  role: provider
  interface: {http://servicemix.apache.org/samples/wsdl-first}Person
  service: {http://servicemix.apache.org/samples/wsdl-first}PersonService
  endpoint: PersonImplPort
  operation: {http://servicemix.apache.org/samples/wsdl-first}GetPerson
  in: <?xml version="1.0" encoding="UTF-8" standalone="no"?><jbi:message
xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper"; xmlns:msg="
http://servicemix.apache.org/samples/wsdl-first"; name="GetPersonRequest"
type="msg:GetPersonRequest" version="1.0"><jbi:part><ns2:GetPerson
xmlns:ns2="http://servicemix.apache.org/samples/wsdl-first/types
"><personId>1</personId></ns2:GetPerson></jbi:part></jbi:message>
  out: <?xml version="1.0" encoding="UTF-8" standalone="no"?><jbi:message
xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper";><jbi:part><ns2:GetPersonResponse
xmlns:ns2="http://servicemix.apache.org/samples/wsdl-first/types
"><personId>1</personId><ssn>000-000-0000</ssn><name>Guillaume</name></ns2:GetPersonResponse></jbi:part></jbi:message>
]
DEBUG - CxfSeComponent                 - Received exchange: status: Done,
role: provider
DEBUG - CxfSeComponent                 - Retrieved correlation id: ID:
41.241.170.101-118f14d7c22-5:3

</SNIP>

It seems like servicemix is handling the request just fine
but on the client the response comes back as an Object array containing 3
null values.

I am not sure why I am not receiving any data back on the client?
Any help would be apprecieated

Thank you in advance
ICA

Reply via email to