Thanks, Rich. That's the answer I was looking for!
Steve Pannier Jacada, Inc. (763) 268-6382 [EMAIL PROTECTED] http://www.jacada.com > No you don't have it right yet. > > Let's say you have a class named Phone: > > public class Phone implements java.io.Serializable { > private int areaCode; > private java.lang.String exchange; > private java.lang.String number; > > public Phone() { > } > > public int getAreaCode() { > return areaCode; > } > > public void setAreaCode(int areaCode) { > this.areaCode = areaCode; > } > > public java.lang.String getExchange() { > return exchange; > } > > public void setExchange(java.lang.String exchange) { > this.exchange = exchange; > } > > public java.lang.String getNumber() { > return number; > } > > public void setNumber(java.lang.String number) { > this.number = number; > } > > } > > To pass this as an inOut parameter you need to create a class named > PhoneHolder which looks like: > > public final class PhoneHolder implements javax.xml.rpc.holders.Holder { > public Phone value; > > public PhoneHolder() { > } > > public PhoneHolder(Phone value) { > this.value = value; > } > } > > The generated wsld will have input and output messages that reference the > Phone type, but > you can tell that they are inout because the parameter name is in both the > input and output message. > > <wsdl:message name="operationRequest"> > <wsdl:part name="phone" type="intf:Phone"/> > </wsdl:message> > <wsdl:message name="operationReply"> > <wsdl:part name="phone" type="intf:Phone"/> > </wsdl:message> > > > ... > <wsdl:operation name="operation" > > <wsdl:input message="intf:operationRequest"/> > <wsdl:output message="intf:operationReply"/> > </wsdl:operation> > > > See the test test/wsdl/inout > > Rich Scheuerle > XML & Web Services Development > 512-838-5115 (IBM TL 678-5115) > > > > "Steve Pannier" > <spannier@jacada. To: > [EMAIL PROTECTED] > com> cc: > Subject: Re: Java2WSDL > In/Out/InOut method parameter question > 02/27/2002 11:36 > AM > Please respond to > axis-user > > > > > > > > Rich, > > Thanks for the reply. (Sorry for my slow response - I've been multitasking > and have finally gotten around to addressing this again.) > > I have tried specifying an "InfoHolder" class, and I've also changed my > interfaces to classes. I do get the parameter names to appear in the > generated WSDL, but my question now is: Is there a way to tell if a > parameter is In vs. In/Out by looking at the generated WSDL? Is it simply > the "Holder" suffix in the parameter name that designates the parameter > as In/Out? > > Java classes and generated WSDL are attached. > > (See attached file: banking.java)(See attached file: InfoHolder.java)(See > attached file: banking.wsdl) > > Thanks. > > > Steve Pannier > Jacada, Inc. > (763) 268-6382 > [EMAIL PROTECTED] > http://www.jacada.com > > > > > Steve, > > > > You will need to specify an InfoHolder class for Info as defined by JSR > > 101. > > Java2WSDL will interpret a "Holder" parameter as InOut when generating > the > > WSDL. > > > > If you change your interface to a class and compile with -g, you should > get > > parameter names. > > > > Rich Scheuerle > > XML & Web Services Development > > 512-838-5115 (IBM TL 678-5115) > > > > > > > > "Steve Pannier" > > <spannier@jacada. To: > > [EMAIL PROTECTED] > > com> cc: > > Subject: Java2WSDL > In/Out/InOut > > method parameter question > > 02/11/2002 04:01 > > PM > > Please respond to > > axis-user > > > > > > > > > > > > > > Does "Java2WSDL" have any knowledge of "In" vs "InOut" parameter types? > > Suppose I have a Java interface as follows: > > > > public interface banking { > > public int getInfo(Info checking, Info saving); > > } > > > > The getInfo() method allows me to get checking & saving info based on > > account > > numbers supplied somewhere within the checking/saving structures. It > > returns > > checking/saving structures updated with current info, plus an integer > > status code. > > Thus, the checking and saving parameters to getInfo() are each "InOut". > > > > The Info interface is defined as follows: > > > > public interface Info { > > public String getChecking(); > > public void setChecking(String anum); > > > > public String getSaving(); > > public void setSaving(String anum); > > } > > > > > > When I run "Java2WSDL" to generate WSDL from this interface, it shows > "in0" > > and "in1" > > for the parameters on the "GetInfoRequest" message. (Output WSDL > > attached.) How > > do I tell "Java2WSDL" that these parameters are actually "In/Out"? Or is > > there a way to > > do this at all? Stated another way: How would I go about creating a Java > > interface > > containing a method with one or more "In/Out" parameters, so that the > > generated WSDL > > contains proper definition of "in" vs. "out" parameters? Is there any > > recommended > > reading that would describe what I've encountered here? > > > > (See attached file: banking.wsdl) > > > > Also, is there a way to get the actual parameter names ("checking" and > > "saving" in my > > example) to appear in the generated WSDL, rather than the "in0", "in1", > > etc? I did compile > > my source with "-g". > > > > Thanks in advance. > > > > > > Steve Pannier > > Jacada, Inc. > > (763) 268-6382 > > [EMAIL PROTECTED] > > http://www.jacada.com > > > > > > > > #### banking.wsdl has been removed from this note on February 12 2002 by > R > > J Scheuerle Jr > > > > > > > > > > #### banking.java has been removed from this note on February 27 2002 by R > J Scheuerle Jr > #### InfoHolder.java has been removed from this note on February 27 2002 by > R J Scheuerle Jr > #### banking.wsdl has been removed from this note on February 27 2002 by R > J Scheuerle Jr > >
