Hello Dies,

Still having trouble....  I had already tried what you suggested.  
Here is what I did.  

$ rm *.class
$ javac -g FamilyImpl.java
$ java org.apache.axis.wsdl.Java2WSDL -o family.wsdl \
    -l"http://10.196.130.245:8080/axis/services/familyAccounts"; \
    -p"disney.dis.family" \
    urn:familyAccounts disney.dis.family.FamilyImpl

I ran the command from my ../src/disney/dis/family directory.
I also ran it from the ../src directory (containing the
./disney/dis/family directory) 

I have no idea what's wrong.  

I get a WSDL file.  Here is an excerpt:


<wsdl:definitions targetNamespace="urn:familyAccounts"
xmlns:apachesoap="http://xml.apache.org/xml-soap";
xmlns:impl="urn:familyAccounts" xmlns:intf="urn:familyAccounts"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/";
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
<!--WSDL created by Apache Axis version: 1.3
Built on Oct 05, 2005 (05:23:37 EDT)-->
 <wsdl:types>
  <schema targetNamespace="urn:familyAccounts"
xmlns="http://www.w3.org/2001/XMLSchema";>
   <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
   <complexType name="ArrayOf_soapenc_string">
    <complexContent>
     <restriction base="soapenc:Array">
      <attribute ref="soapenc:arrayType"
wsdl:arrayType="soapenc:string[]"/>
     </restriction>
    </complexContent>
   </complexType>
  </schema>
 </wsdl:types>

   <wsdl:message name="mainResponse">
   </wsdl:message>

   <wsdl:message name="loginRequest">
      <wsdl:part name="in0" type="soapenc:string"/>
      <wsdl:part name="in1" type="soapenc:string"/>
      <wsdl:part name="in2" type="soapenc:string"/>
      <wsdl:part name="in3" type="soapenc:string"/>
      <wsdl:part name="in4" type="soapenc:string"/>
   </wsdl:message>
  ...



Vartan





--- Dies Koper <[EMAIL PROTECTED]> wrote:

> Try:
> javac -g FamilyImpl.java
> 
> The interface class will NEVER get the original parameter names.
> 
> Regards,
> Dies
> 
> 
> Rhimbo wrote:
> > Hello again all,
> > 
> > 
> > Does anyone know how to generate a WSDL that uses the formal 
> > parameter names from the original source file... either the Java
> > interface or the implement class?  
> > 
> > I've tried every combination I can think of using the -implClass
> > command line argument to Java2WSDL, but I can't get it to work.
> > 
> > I want to generate my WSDL so it uses the formal parameter names in
> > my methods instead of "in0", "in1", etc. 
> > 
> > I found the following URL:
> > 
> >
>
http://publib.boulder.ibm.com/infocenter/wasinfo/v5r0/index.jsp?topic=/com.ibm.websphere.exp.doc/info/exp/ae/rwbs_java2wsdl.html
> > 
> > This page has a much better explanation that the Apache 
> > documentation.  Nevertheless, I still can't generate a WSDL with 
> > my formal parameter names. 
> > 
> > Here is an excerpt from the explanation on the above URL:
> > 
> >     "If the class is compiled without debug information, or if the 
> >      class is an interface, the method parameter names are not 
> >      available.  In this case, you can use the -implClass argument 
> >      to provide an alternative class from which to obtain method 
> >      parameter names. The impl-class does not need to implement 
> >      the class if the class is an interface, but it must implement 
> >      the same methods as class. "
> > 
> > 
> > So I tried the following:
> > 
> > interface         : Family.java
> > implementing class: FamilyImpl.java
> > 
> > First try by compiling interface with debug:
> > 
> > $ javac -g Family.java
> > $ java org.apache.axis.wsdl.Java2WSDL -o family.wsdl \
> >     -l"http://10.196.130.245:8080/axis/services/familyAccounts"; \
> >     -n urn:familyAccounts \
> >     -p"disney.dis.family" urn:familyAccounts \
> >     disney.dis.family.Family
> > 
> > 
> > Doesn't work.  family.wsdl still has "in0", ... etc. 
> > 
> > Then tried specifying alternate class file containing the
> > implementation class:
> > 
> > $ java org.apache.axis.wsdl.Java2WSDL -o family.wsdl \
> >     -implClass FamilyImpl \
> >     -l"http://10.196.130.245:8080/axis/services/familyAccounts"; \
> >     -n urn:familyAccounts \
> >     -p"disney.dis.family" urn:familyAccounts \
> >     disney.dis.family.Family
> > 
> > Error:
> > java.lang.ClassNotFoundException: mplClass
> >         at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
> >         at java.security.AccessController.doPrivileged(Native Method)
> >         at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
> >         at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
> >         at
> sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
> >         at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
> >         at
> org.apache.axis.utils.ClassUtils$2.run(ClassUtils.java:187)
> >         at java.security.AccessController.doPrivileged(Native Method)
> >         at
> > org.apache.axis.utils.ClassUtils.loadClass(ClassUtils.java:160)
> > ...
> > 
> >     "The <class-of-portType> has already been specified as, 
> >      FamilyImpl.  It cannot be specified again as 
> >      disney.dis.family.Family."
> >      Java2WSDL emitter
> > 
> > 
> > Next tried compiling the FamilyImpl.java file, and then ran above 
> > Java2WSDL command again:
> > 
> > Got same exception and error message.
> > 
> > Next, tried:
> > 
> > $ java org.apache.axis.wsdl.Java2WSDL -o family.wsdl \
> >     -implClass FamilyImpl \
> >     -l"http://10.196.130.245:8080/axis/services/familyAccounts"; \
> >     -n urn:familyAccounts \
> >     -p"disney.dis.family" urn:familyAccounts \
> >     disney.dis.family.Family 
> > 
> > Error:
> >     "The <class-of-portType> has already been specified as, 
> >      FamilyImpl.  It cannot be specified again as 
> >      disney.dis.family.FamilyImpl.
> >      Java2WSDL emitter"
> > 
> > 
> > Next, tried:
> > $ java org.apache.axis.wsdl.Java2WSDL -o family.wsdl \
> >     -implClass FamilyImpl \
> >     -l"http://10.196.130.245:8080/axis/services/familyAccounts"; \
> >     -n urn:familyAccounts \
> >     -p"disney.dis.family" urn:familyAccounts \
> >     disney.dis.family.Family 
> > 
> > Error:
> >     "java.lang.NoClassDefFoundError: FamilyImpl (wrong name: 
> >     disney/dis/family/FamilyImpl)"
> > 
> > Next tried:
> > 
> > $ java org.apache.axis.wsdl.Java2WSDL -o family.wsdl \
> >   -implClass FamilyImpl \
> >   -l"http://10.196.130.245:8080/axis/services/familyAccounts"; \
> >   -n urn:familyAccounts \
> >   -p"disney.dis.family" urn:familyAccounts
> > 
> > 
> > Error:
> >     java.lang.ClassNotFoundException: mplClass
> >         at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
> >         at java.security.AccessController.doPrivileged(Native Method)
> >         at j
> > 
> > 
> > 
> > Thanks much.
> > 
> > Vartan
> 
> 
> 


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

Reply via email to