0 Replies Latest reply on Sep 25, 2003 8:22 AM by garandi

    Complex type in Soap using axis

    garandi Newbie

      I am new to Soap, and using version 1.1 of axis, my question is about complex type.

      Code for the interface.

      public class FamilyInterfaceImpl {
      public Family getFamily(){
      Family f = new Family("MyFamily", 5);
      return f;
      }
      }

      Code for Family Class.
      public class Family {

      private String familyName;
      private int numberOfMembers;

      public Family(){}
      public Family(String familyName, int numberOfMembers){
      this.familyName = familyName;
      this.numberOfMembers = numberOfMembers;
      }
      }

      To get the wsdl file I use the following command.

      java org.apache.axis.wsdl.Java2WSDL -o family.ws
      dl -l"http://localhost:8080/axis/services/soapexample"
      -n urn:soapexample -p"soapexample" urn:soapexample soapexample.FamilyInterface

      where soapexample is the package name.
      Now I have to generate the Server-side Wrapper Code and Stubs for Client Access I use the following command.

      java org.apache.axis.wsdl.WSDL2Java -o . -d Session -s -p soapexample.ws family.wsdl

      I got 8 file and one of them that I have to overwrite is

      package soapexample.ws;

      import soapexample.FamilyInterfaceImpl;

      public class SoapexampleSoapBindingImpl implements soapexample.ws.FamilyInterface{
      FamilyInterfaceImpl f = new FamilyInterfaceImpl();
      public soapexample.ws.Family getFamily() throws java.rmi.RemoteException {
      return f.getFamily();
      }

      }
      This class does not compile, because the return type is of type soapexample.ws.Family and the method return soapexample.Family.
      Question: How to make soap axis work for complex type
      Thank you in advance
      Garandi