Hi Dan,

 

Thanks for the info.  If this is the intended behavior, and is per
jax-ws spec, then I'll just change my APIs.  No need to file a JIRA and
create extra work for you guys. ;-)

 

Thanks again,

Chris

 

-----Original Message-----
From: Dan Diephouse [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, March 14, 2007 2:01 PM
To: [email protected]
Subject: Re: [xfire-user] Differences Between 1.2.4 and 1.2.5

 

Hi Christopher,

I think the thing that changed here is that we added support for wrapped
operations with multiple output parameters. Yes, it is intended to be
like this as its what the jax-ws spec says things should be like. 

Unfortunately there is no switch at the moment to turn this off :-(
Which I guess leaves two options
1. Move to 1.2.5 and change your APIs
2. Stay on 1.2.4 and file a JIRA for 1.2.6 to have the ability to turn
off unwrapping 

Cheers,
- Dan

On 3/14/07, Christopher Moesel <[EMAIL PROTECTED]> wrote: 

I upgraded my WSDL-first service to use XFire 1.2.5 today.  Swapped out
the jars and ran the application-and discovered that it no longer
worked-whenever I sent a request to the service, I got a
java.lang.IndexOutOfBoundsException. 

 

So I decided I better try regenerating the server stubs using the new
1.2.5 jar.  I found that the generated service interface was quite a bit
different now.  

(1) The parameter style has changed from SOAPBinding.ParameterStyle.BARE
to SOAPBinding.ParameterStyle.WRAPPED.  This is probably more accurate,
as I had designed the WSDL in doc/literal wrapped style.

 

(2) The signature of the methods has drastically changed.  Whereas
before an operation called MyOperation would look like this:

 

MyOperationResponseType myOperation ( MyOperationType input);

 

Now, it looks more like this:

 

int myOperation (String input1, String input2, Holder<String> output1,
Holder<String> output2);

 

All of the individual elements of the request and response are
individually referenced, one of the output elements is the return type,
and the others are passed in as parameters, wrapped in a Holder.  Now of
course, my old implementation is totally out of wack with the new
generated interface.

 

A few questions:

(1) What caused this huge change between 1.2.4 and 1.2.5?

(2) Is the new functionality described above the intended functionality?

(3) If so, are there any advantages to the new way aside from the
possibility that some people might just like it that way?

(4) If there are no concrete advantages, is there an easy way for me to
configure it to generate the interface the way it used to (I guess that
might mean forcing it to BARE)?

 

Thanks!

Chris




-- 
Dan Diephouse
Envoi Solutions
http://envoisolutions.com | http://netzooid.com/blog 

Reply via email to