tags:

views:

140

answers:

0

Hi, we are using cxf webservices with java server and .NET client. We generate WSDL file based on our java code, and MS Visual Studio automaticaly generate deserializers, based on WSDL.

Now we need to add jms support to our app. Because we use both Java and .NET, we can only put serealized xml objects to jms mesage as a text (we can't put java objects there).

We have an idea to implement such trick: if we need to return array of String as a result in jms message we create an blank method Strign[] getStrings() in webservice, and in jms message we put result like if it was a result of calling this method from webservice and automatically generated by cxf:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"&gt;
   <soap:Body>
      <ns2:getStringsResponse xmlns:ns2="http://app.company.com/"&gt;
         <return>
           ....

This allows us to generate parser for jms messages by MS Visual Studio automatically (like for webservices). Client will extract string from jms message, send it to autogenerated parser and receive result.

The only problem is: how can I ask CXF to generate XML (string) like it is a reply for some method and pass some data as a body for this reply.

For example, I have an array of Strings. I call a function like this:

someFunc(data, "getStrings") and the result is

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"&gt;
   <soap:Body>
      <ns2:getStringsResponse xmlns:ns2="http://app.company.com/"&gt;
         <return>
           -My Strings Here-
           ...

Is such functionality available in CXF, or it is CXF internals and they are not available for CXF users?

Thanks!