0 Replies Latest reply on Oct 3, 2006 5:02 PM by mmarcom

    is my webservice too complicated to be handled by jbossws?

    mmarcom

      hi all,
      i am trying to deploy an EJB3 as webservice....
      i have no problem on the serverside... however, i have PLENTY of problems while generating the clientside classes...and i am wondering if my webservice is too complicatedt o be handled by jboss ws..
      here's code of interface of my ws

      /**
       * Copyright @ 2006
       * By Marco Mistroni
       */
      package com.mm.j2me.ejb;
      
      
      import java.rmi.RemoteException;
      
      import javax.ejb.*;
      import javax.jws.WebService;
      import javax.jws.soap.SOAPBinding;
      
      import org.jboss.ws.annotation.PortComponent;
      
      
      import com.mm.j2me.core.Agency;
      import com.mm.j2me.core.WSFacade;
      
      @WebService (name="WSFacade",
       targetNamespace="http://org.jboss.ws/samples/jsr181ejb",
       serviceName="WSFacade",
       endpointInterface="com.mm.j2me.ejb.WSRemoteSEI")
      @SOAPBinding (style = SOAPBinding.Style.RPC)
      @PortComponent(transportGuarantee="NONE",
       contextRoot = "/",
       urlPattern="/v1/soap/WSFacade")
      public interface WSRemoteSEI extends Remote {
      
       public Agency[] testWebServiceMethod() throws RemoteException;
      
      }
      


      here's code of agency class (a simple javabean)

      public class AgencyEEjb implements java.io.Serializable,
       Agency {
      
       /**
       *
       */
       private static final long serialVersionUID = -7142342824458448020L;
       private String emailAddress;
       private int id;
       private String jobHunter;
       private String name;
       private String phoneNumber;
       private String site;
      
      
       public AgencyEEjb() {
       }
      
       public AgencyEEjb(String emailAddress,
       String jobHunter,
       String name,
       String phoneNumber,
       String site) {
       this.emailAddress = emailAddress;
       this.jobHunter = jobHunter;
       this.name = name;
       this.phoneNumber = phoneNumber;
       this.site = site;
       }
      
      
      
       public String getEmailAddress() {
       // TODO Auto-generated method stub
       return emailAddress;
       }
      
       @Id
       @GeneratedValue
       public int getId() {
       return id;
       }
      
       public String getJobHunter() {
       // TODO Auto-generated method stub
       return jobHunter;
       }
      
       public String getName() {
       // TODO Auto-generated method stub
       return name;
       }
      
       public String getPhoneNumber() {
       // TODO Auto-generated method stub
       return phoneNumber;
       }
      
       public String getSite() {
       // TODO Auto-generated method stub
       return site;
       }
      
       public void setEmailAddress(String email) {
       this.emailAddress = email;
       }
      
       public void setId(int id) {
       this.id = id;
       }
      
       public void setJobHunter(String jobHunter) {
       this.jobHunter = jobHunter;
       }
      
       public void setName(String name) {
       this.name = name;
      
       }
      
       public void setPhoneNumber(String number) {
       this.phoneNumber = number;
      
       }
      
       public void setSite(String site) {
       this.site = site;
      
       }
      
      }
      


      my webservice is returning an array of Agency objects...
      wsdl generated is this (kinda complicated..)

      <definitions name="WSFacade" targetNamespace="http://org.jboss.ws/samples/jsr181ejb">
      ?
       <types>
      ?
       <schema elementFormDefault="qualified" targetNamespace="http://reflect.lang.java/jaws">
      <import namespace="http://www.w3.org/2001/XMLSchema"/>
      <import namespace="http://cert.security.java/jaws"/>
      <import namespace="http://annotation.lang.java/jaws"/>
      <import namespace="http://core.j2me.mm.com/jaws"/>
      <import namespace="http://org.jboss.ws/samples/jsr181ejb"/>
      <import namespace="http://lang.java/jaws"/>
      <import namespace="http://net.java/jaws"/>
      <import namespace="http://security.java/jaws"/>
      <import namespace="http://util.java/jaws"/>
      ?
       <complexType name="Constructor">
      ?
       <sequence>
      <element maxOccurs="unbounded" minOccurs="0" name="declaredAnnotations" nillable="true" type="ns4:Annotation"/>
      <element name="declaringClass" nillable="true" type="ns3:Class"/>
      <element maxOccurs="unbounded" minOccurs="0" name="exceptionTypes" nillable="true" type="ns3:Class"/>
      <element maxOccurs="unbounded" minOccurs="0" name="genericExceptionTypes" nillable="true" type="tns:Type"/>
      <element maxOccurs="unbounded" minOccurs="0" name="genericParameterTypes" nillable="true" type="tns:Type"/>
      <element name="modifiers" type="int"/>
      <element name="name" nillable="true" type="string"/>
      <element maxOccurs="unbounded" minOccurs="0" name="parameterAnnotations" nillable="true" type="ns4:Annotation.Array"/>
      <element maxOccurs="unbounded" minOccurs="0" name="parameterTypes" nillable="true" type="ns3:Class"/>
      <element name="synthetic" type="boolean"/>
      <element maxOccurs="unbounded" minOccurs="0" name="typeParameters" nillable="true" type="tns:TypeVariable"/>
      <element name="varArgs" type="boolean"/>
      </sequence>
      </complexType>
      ?
       <complexType name="Field">
      ?
       <sequence>
      <element maxOccurs="unbounded" minOccurs="0" name="declaredAnnotations" nillable="true" type="ns4:Annotation"/>
      <element name="declaringClass" nillable="true" type="ns3:Class"/>
      <element name="enumConstant" type="boolean"/>
      <element name="genericType" nillable="true" type="tns:Type"/>
      <element name="modifiers" type="int"/>
      <element name="name" nillable="true" type="string"/>
      <element name="synthetic" type="boolean"/>
      <element name="type" nillable="true" type="ns3:Class"/>
      </sequence>
      </complexType>
      ?
       <complexType name="GenericDeclaration">
      ?
       <sequence>
      <element maxOccurs="unbounded" minOccurs="0" name="typeParameters" nillable="true" type="tns:TypeVariable"/>
      </sequence>
      </complexType>
      ?
       <complexType name="Method">
      ?
       <sequence>
      <element name="bridge" type="boolean"/>
      <element maxOccurs="unbounded" minOccurs="0" name="declaredAnnotations" nillable="true" type="ns4:Annotation"/>
      <element name="declaringClass" nillable="true" type="ns3:Class"/>
      <element name="defaultValue" nillable="true" type="ns3:Object"/>
      <element maxOccurs="unbounded" minOccurs="0" name="exceptionTypes" nillable="true" type="ns3:Class"/>
      <element maxOccurs="unbounded" minOccurs="0" name="genericExceptionTypes" nillable="true" type="tns:Type"/>
      <element maxOccurs="unbounded" minOccurs="0" name="genericParameterTypes" nillable="true" type="tns:Type"/>
      <element name="genericReturnType" nillable="true" type="tns:Type"/>
      <element name="modifiers" type="int"/>
      <element name="name" nillable="true" type="string"/>
      <element maxOccurs="unbounded" minOccurs="0" name="parameterAnnotations" nillable="true" type="ns4:Annotation.Array"/>
      <element maxOccurs="unbounded" minOccurs="0" name="parameterTypes" nillable="true" type="ns3:Class"/>
      <element name="returnType" nillable="true" type="ns3:Class"/>
      <element name="synthetic" type="boolean"/>
      <element maxOccurs="unbounded" minOccurs="0" name="typeParameters" nillable="true" type="tns:TypeVariable"/>
      <element name="varArgs" type="boolean"/>
      </sequence>
      </complexType>
      ?
       <complexType name="Type">
      <sequence/>
      </complexType>
      ?
       <complexType name="TypeVariable">
      ?
       <sequence>
      <element maxOccurs="unbounded" minOccurs="0" name="bounds" nillable="true" type="tns:Type"/>
      <element name="genericDeclaration" nillable="true" type="tns:GenericDeclaration"/>
      <element name="name" nillable="true" type="string"/>
      </sequence>
      </complexType>
      </schema>
      ?
       <schema elementFormDefault="qualified" targetNamespace="http://annotation.lang.java/jaws">
      <import namespace="http://reflect.lang.java/jaws"/>
      <import namespace="http://www.w3.org/2001/XMLSchema"/>
      <import namespace="http://cert.security.java/jaws"/>
      <import namespace="http://core.j2me.mm.com/jaws"/>
      <import namespace="http://org.jboss.ws/samples/jsr181ejb"/>
      <import namespace="http://lang.java/jaws"/>
      <import namespace="http://net.java/jaws"/>
      <import namespace="http://security.java/jaws"/>
      <import namespace="http://util.java/jaws"/>
      ?
       <complexType name="Annotation">
      <sequence/>
      </complexType>
      ?
       <complexType name="Annotation.Array">
      ?
       <sequence>
      <element maxOccurs="unbounded" minOccurs="0" name="value" nillable="true" type="tns:Annotation"/>
      </sequence>
      </complexType>
      </schema>
      ?
       <schema elementFormDefault="qualified" targetNamespace="http://cert.security.java/jaws">
      <import namespace="http://reflect.lang.java/jaws"/>
      <import namespace="http://www.w3.org/2001/XMLSchema"/>
      <import namespace="http://annotation.lang.java/jaws"/>
      <import namespace="http://core.j2me.mm.com/jaws"/>
      <import namespace="http://org.jboss.ws/samples/jsr181ejb"/>
      <import namespace="http://lang.java/jaws"/>
      <import namespace="http://net.java/jaws"/>
      <import namespace="http://security.java/jaws"/>
      <import namespace="http://util.java/jaws"/>
      ?
       <complexType name="CertPath">
      ?
       <sequence>
      <element name="encoded" nillable="true" type="base64Binary"/>
      <element name="encodings" nillable="true" type="ns9:Iterator"/>
      <element name="type" nillable="true" type="string"/>
      </sequence>
      </complexType>
      ?
       <complexType name="Certificate">
      ?
       <sequence>
      <element name="encoded" nillable="true" type="base64Binary"/>
      <element name="publicKey" nillable="true" type="ns6:PublicKey"/>
      <element name="type" nillable="true" type="string"/>
      </sequence>
      </complexType>
      </schema>
      ?
       <schema elementFormDefault="qualified" targetNamespace="http://core.j2me.mm.com/jaws">
      <import namespace="http://reflect.lang.java/jaws"/>
      <import namespace="http://www.w3.org/2001/XMLSchema"/>
      <import namespace="http://cert.security.java/jaws"/>
      <import namespace="http://annotation.lang.java/jaws"/>
      <import namespace="http://org.jboss.ws/samples/jsr181ejb"/>
      <import namespace="http://lang.java/jaws"/>
      <import namespace="http://net.java/jaws"/>
      <import namespace="http://security.java/jaws"/>
      <import namespace="http://util.java/jaws"/>
      ?
       <complexType name="Agency">
      ?
       <sequence>
      <element name="emailAddress" nillable="true" type="string"/>
      <element name="id" type="int"/>
      <element name="jobHunter" nillable="true" type="string"/>
      <element name="name" nillable="true" type="string"/>
      <element name="phoneNumber" nillable="true" type="string"/>
      <element name="site" nillable="true" type="string"/>
      </sequence>
      </complexType>
      </schema>
      ?
       <schema elementFormDefault="qualified" targetNamespace="http://org.jboss.ws/samples/jsr181ejb">
      <import namespace="http://reflect.lang.java/jaws"/>
      <import namespace="http://www.w3.org/2001/XMLSchema"/>
      <import namespace="http://cert.security.java/jaws"/>
      <import namespace="http://annotation.lang.java/jaws"/>
      <import namespace="http://core.j2me.mm.com/jaws"/>
      <import namespace="http://lang.java/jaws"/>
      <import namespace="http://net.java/jaws"/>
      <import namespace="http://security.java/jaws"/>
      <import namespace="http://util.java/jaws"/>
      ?
       <complexType name="Agency.Array">
      ?
       <sequence>
      <element maxOccurs="unbounded" minOccurs="0" name="value" nillable="true" type="ns1:Agency"/>
      </sequence>
      </complexType>
      ?
       <complexType name="Class">
      ?
       <sequence>
      <element name="annotation" type="boolean"/>
      <element maxOccurs="unbounded" minOccurs="0" name="annotations" nillable="true" type="ns4:Annotation"/>
      <element name="anonymousClass" type="boolean"/>
      <element name="array" type="boolean"/>
      <element name="canonicalName" nillable="true" type="string"/>
      <element name="classLoader" nillable="true" type="ns3:ClassLoader"/>
      <element maxOccurs="unbounded" minOccurs="0" name="classes" nillable="true" type="tns:Class"/>
      <element name="componentType" nillable="true" type="tns:Class"/>
      <element maxOccurs="unbounded" minOccurs="0" name="constructors" nillable="true" type="ns5:Constructor"/>
      <element maxOccurs="unbounded" minOccurs="0" name="declaredAnnotations" nillable="true" type="ns4:Annotation"/>
      <element maxOccurs="unbounded" minOccurs="0" name="declaredClasses" nillable="true" type="tns:Class"/>
      <element maxOccurs="unbounded" minOccurs="0" name="declaredConstructors" nillable="true" type="ns5:Constructor"/>
      <element maxOccurs="unbounded" minOccurs="0" name="declaredFields" nillable="true" type="ns5:Field"/>
      <element maxOccurs="unbounded" minOccurs="0" name="declaredMethods" nillable="true" type="ns5:Method"/>
      <element name="declaringClass" nillable="true" type="tns:Class"/>
      <element name="enclosingClass" nillable="true" type="tns:Class"/>
      <element name="enclosingConstructor" nillable="true" type="ns5:Constructor"/>
      <element name="enclosingMethod" nillable="true" type="ns5:Method"/>
      <element name="enum" type="boolean"/>
      <element maxOccurs="unbounded" minOccurs="0" name="enumConstants" nillable="true" type="tns:Object"/>
      <element maxOccurs="unbounded" minOccurs="0" name="fields" nillable="true" type="ns5:Field"/>
      <element maxOccurs="unbounded" minOccurs="0" name="genericInterfaces" nillable="true" type="ns5:Type"/>
      <element name="genericSuperclass" nillable="true" type="ns5:Type"/>
      <element name="interface" type="boolean"/>
      <element maxOccurs="unbounded" minOccurs="0" name="interfaces" nillable="true" type="tns:Class"/>
      <element name="localClass" type="boolean"/>
      <element name="memberClass" type="boolean"/>
      <element maxOccurs="unbounded" minOccurs="0" name="methods" nillable="true" type="ns5:Method"/>
      <element name="modifiers" type="int"/>
      <element name="name" nillable="true" type="string"/>
      <element name="package" nillable="true" type="ns3:Package"/>
      <element name="primitive" type="boolean"/>
      <element name="protectionDomain" nillable="true" type="ns6:ProtectionDomain"/>
      <element maxOccurs="unbounded" minOccurs="0" name="signers" nillable="true" type="tns:Object"/>
      <element name="simpleName" nillable="true" type="string"/>
      <element name="superclass" nillable="true" type="tns:Class"/>
      <element name="synthetic" type="boolean"/>
      <element maxOccurs="unbounded" minOccurs="0" name="typeParameters" nillable="true" type="ns5:TypeVariable"/>
      </sequence>
      </complexType>
      ?
       <complexType name="Class.Array">
      ?
       <sequence>
      <element maxOccurs="unbounded" minOccurs="0" name="value" nillable="true" type="ns3:Class"/>
      </sequence>
      </complexType>
      ?
       <complexType name="Object">
      ?
       <sequence>
      <element name="class" nillable="true" type="ns3:Class"/>
      </sequence>
      </complexType>
      </schema>
      ?
       <schema elementFormDefault="qualified" targetNamespace="http://lang.java/jaws">
      <import namespace="http://reflect.lang.java/jaws"/>
      <import namespace="http://www.w3.org/2001/XMLSchema"/>
      <import namespace="http://cert.security.java/jaws"/>
      <import namespace="http://annotation.lang.java/jaws"/>
      <import namespace="http://core.j2me.mm.com/jaws"/>
      <import namespace="http://org.jboss.ws/samples/jsr181ejb"/>
      <import namespace="http://net.java/jaws"/>
      <import namespace="http://security.java/jaws"/>
      <import namespace="http://util.java/jaws"/>
      ?
       <complexType name="Class">
      ?
       <sequence>
      <element name="annotation" type="boolean"/>
      <element maxOccurs="unbounded" minOccurs="0" name="annotations" nillable="true" type="ns4:Annotation"/>
      <element name="anonymousClass" type="boolean"/>
      <element name="array" type="boolean"/>
      <element name="canonicalName" nillable="true" type="string"/>
      <element name="classLoader" nillable="true" type="tns:ClassLoader"/>
      <element maxOccurs="unbounded" minOccurs="0" name="classes" nillable="true" type="tns:Class"/>
      <element name="componentType" nillable="true" type="tns:Class"/>
      <element maxOccurs="unbounded" minOccurs="0" name="constructors" nillable="true" type="ns5:Constructor"/>
      <element maxOccurs="unbounded" minOccurs="0" name="declaredAnnotations" nillable="true" type="ns4:Annotation"/>
      <element maxOccurs="unbounded" minOccurs="0" name="declaredClasses" nillable="true" type="tns:Class"/>
      <element maxOccurs="unbounded" minOccurs="0" name="declaredConstructors" nillable="true" type="ns5:Constructor"/>
      <element maxOccurs="unbounded" minOccurs="0" name="declaredFields" nillable="true" type="ns5:Field"/>
      <element maxOccurs="unbounded" minOccurs="0" name="declaredMethods" nillable="true" type="ns5:Method"/>
      <element name="declaringClass" nillable="true" type="tns:Class"/>
      <element name="enclosingClass" nillable="true" type="tns:Class"/>
      <element name="enclosingConstructor" nillable="true" type="ns5:Constructor"/>
      <element name="enclosingMethod" nillable="true" type="ns5:Method"/>
      <element name="enum" type="boolean"/>
      <element maxOccurs="unbounded" minOccurs="0" name="enumConstants" nillable="true" type="tns:Object"/>
      <element maxOccurs="unbounded" minOccurs="0" name="fields" nillable="true" type="ns5:Field"/>
      <element maxOccurs="unbounded" minOccurs="0" name="genericInterfaces" nillable="true" type="ns5:Type"/>
      <element name="genericSuperclass" nillable="true" type="ns5:Type"/>
      <element name="interface" type="boolean"/>
      <element maxOccurs="unbounded" minOccurs="0" name="interfaces" nillable="true" type="tns:Class"/>
      <element name="localClass" type="boolean"/>
      <element name="memberClass" type="boolean"/>
      <element maxOccurs="unbounded" minOccurs="0" name="methods" nillable="true" type="ns5:Method"/>
      <element name="modifiers" type="int"/>
      <element name="name" nillable="true" type="string"/>
      <element name="package" nillable="true" type="tns:Package"/>
      <element name="primitive" type="boolean"/>
      <element name="protectionDomain" nillable="true" type="ns6:ProtectionDomain"/>
      <element maxOccurs="unbounded" minOccurs="0" name="signers" nillable="true" type="tns:Object"/>
      <element name="simpleName" nillable="true" type="string"/>
      <element name="superclass" nillable="true" type="tns:Class"/>
      <element name="synthetic" type="boolean"/>
      <element maxOccurs="unbounded" minOccurs="0" name="typeParameters" nillable="true" type="ns5:TypeVariable"/>
      </sequence>
      </complexType>
      ?
       <complexType name="ClassLoader">
      ?
       <sequence>
      <element name="defaultAssertionStatus" type="boolean"/>
      <element name="parent" nillable="true" type="tns:ClassLoader"/>
      </sequence>
      </complexType>
      ?
       <complexType name="Object">
      ?
       <sequence>
      <element name="class" nillable="true" type="tns:Class"/>
      </sequence>
      </complexType>
      ?
       <complexType name="Package">
      ?
       <sequence>
      <element maxOccurs="unbounded" minOccurs="0" name="annotations" nillable="true" type="ns4:Annotation"/>
      <element maxOccurs="unbounded" minOccurs="0" name="declaredAnnotations" nillable="true" type="ns4:Annotation"/>
      <element name="implementationTitle" nillable="true" type="string"/>
      <element name="implementationVendor" nillable="true" type="string"/>
      <element name="implementationVersion" nillable="true" type="string"/>
      <element name="name" nillable="true" type="string"/>
      <element name="sealed" type="boolean"/>
      <element name="specificationTitle" nillable="true" type="string"/>
      <element name="specificationVendor" nillable="true" type="string"/>
      <element name="specificationVersion" nillable="true" type="string"/>
      </sequence>
      </complexType>
      </schema>
      ?
       <schema elementFormDefault="qualified" targetNamespace="http://security.java/jaws">
      <import namespace="http://reflect.lang.java/jaws"/>
      <import namespace="http://www.w3.org/2001/XMLSchema"/>
      <import namespace="http://cert.security.java/jaws"/>
      <import namespace="http://annotation.lang.java/jaws"/>
      <import namespace="http://core.j2me.mm.com/jaws"/>
      <import namespace="http://org.jboss.ws/samples/jsr181ejb"/>
      <import namespace="http://lang.java/jaws"/>
      <import namespace="http://net.java/jaws"/>
      <import namespace="http://util.java/jaws"/>
      ?
       <complexType name="CodeSigner">
      ?
       <sequence>
      <element name="signerCertPath" nillable="true" type="ns7:CertPath"/>
      <element name="timestamp" nillable="true" type="tns:Timestamp"/>
      </sequence>
      </complexType>
      ?
       <complexType name="CodeSource">
      ?
       <sequence>
      <element maxOccurs="unbounded" minOccurs="0" name="certificates" nillable="true" type="ns7:Certificate"/>
      <element maxOccurs="unbounded" minOccurs="0" name="codeSigners" nillable="true" type="tns:CodeSigner"/>
      <element name="location" nillable="true" type="ns10:URL"/>
      </sequence>
      </complexType>
      ?
       <complexType name="PermissionCollection">
      ?
       <sequence>
      <element name="readOnly" type="boolean"/>
      </sequence>
      </complexType>
      ?
       <complexType name="Principal">
      ?
       <sequence>
      <element name="name" nillable="true" type="string"/>
      </sequence>
      </complexType>
      ?
       <complexType name="ProtectionDomain">
      ?
       <sequence>
      <element name="classLoader" nillable="true" type="ns3:ClassLoader"/>
      <element name="codeSource" nillable="true" type="tns:CodeSource"/>
      <element name="permissions" nillable="true" type="tns:PermissionCollection"/>
      <element maxOccurs="unbounded" minOccurs="0" name="principals" nillable="true" type="tns:Principal"/>
      </sequence>
      </complexType>
      ?
       <complexType name="PublicKey">
      <sequence/>
      </complexType>
      ?
       <complexType name="Timestamp">
      ?
       <sequence>
      <element name="signerCertPath" nillable="true" type="ns7:CertPath"/>
      <element name="timestamp" nillable="true" type="dateTime"/>
      </sequence>
      </complexType>
      </schema>
      ?
       <schema elementFormDefault="qualified" targetNamespace="http://net.java/jaws">
      <import namespace="http://reflect.lang.java/jaws"/>
      <import namespace="http://www.w3.org/2001/XMLSchema"/>
      <import namespace="http://cert.security.java/jaws"/>
      <import namespace="http://annotation.lang.java/jaws"/>
      <import namespace="http://core.j2me.mm.com/jaws"/>
      <import namespace="http://org.jboss.ws/samples/jsr181ejb"/>
      <import namespace="http://lang.java/jaws"/>
      <import namespace="http://security.java/jaws"/>
      <import namespace="http://util.java/jaws"/>
      ?
       <complexType name="URL">
      ?
       <sequence>
      <element name="authority" nillable="true" type="string"/>
      <element name="content" nillable="true" type="ns3:Object"/>
      <element name="defaultPort" type="int"/>
      <element name="file" nillable="true" type="string"/>
      <element name="host" nillable="true" type="string"/>
      <element name="path" nillable="true" type="string"/>
      <element name="port" type="int"/>
      <element name="protocol" nillable="true" type="string"/>
      <element name="query" nillable="true" type="string"/>
      <element name="ref" nillable="true" type="string"/>
      <element name="userInfo" nillable="true" type="string"/>
      </sequence>
      </complexType>
      </schema>
      ?
       <schema elementFormDefault="qualified" targetNamespace="http://util.java/jaws">
      <import namespace="http://reflect.lang.java/jaws"/>
      <import namespace="http://www.w3.org/2001/XMLSchema"/>
      <import namespace="http://cert.security.java/jaws"/>
      <import namespace="http://annotation.lang.java/jaws"/>
      <import namespace="http://core.j2me.mm.com/jaws"/>
      <import namespace="http://org.jboss.ws/samples/jsr181ejb"/>
      <import namespace="http://lang.java/jaws"/>
      <import namespace="http://net.java/jaws"/>
      <import namespace="http://security.java/jaws"/>
      ?
       <complexType name="Iterator">
      <sequence/>
      </complexType>
      </schema>
      </types>
      ?
       <message name="WSFacade_equalsResponse">
      <part name="result" type="xsd:boolean"/>
      </message>
      ?
       <message name="WSFacade_toStringResponse">
      <part name="result" type="xsd:string"/>
      </message>
      <message name="WSFacade_hashCode"/>
      ?
       <message name="WSFacade_valueResponse">
      <part name="result" type="tns:Class.Array"/>
      </message>
      <message name="WSFacade_annotationType"/>
      ?
       <message name="WSFacade_equals">
      <part name="Object_1" type="tns:Object"/>
      </message>
      <message name="WSFacade_value"/>
      <message name="WSFacade_testWebServiceMethod"/>
      ?
       <message name="WSFacade_testWebServiceMethodResponse">
      <part name="result" type="tns:Agency.Array"/>
      </message>
      <message name="WSFacade_toString"/>
      ?
       <message name="WSFacade_annotationTypeResponse">
      <part name="result" type="tns:Class"/>
      </message>
      ?
       <message name="WSFacade_hashCodeResponse">
      <part name="result" type="xsd:int"/>
      </message>
      ?
       <portType name="WSFacade">
      ?
       <operation name="annotationType">
      <input message="tns:WSFacade_annotationType"/>
      <output message="tns:WSFacade_annotationTypeResponse"/>
      </operation>
      ?
       <operation name="equals" parameterOrder="Object_1">
      <input message="tns:WSFacade_equals"/>
      <output message="tns:WSFacade_equalsResponse"/>
      </operation>
      ?
       <operation name="hashCode">
      <input message="tns:WSFacade_hashCode"/>
      <output message="tns:WSFacade_hashCodeResponse"/>
      </operation>
      ?
       <operation name="testWebServiceMethod">
      <input message="tns:WSFacade_testWebServiceMethod"/>
      <output message="tns:WSFacade_testWebServiceMethodResponse"/>
      </operation>
      ?
       <operation name="toString">
      <input message="tns:WSFacade_toString"/>
      <output message="tns:WSFacade_toStringResponse"/>
      </operation>
      ?
       <operation name="value">
      <input message="tns:WSFacade_value"/>
      <output message="tns:WSFacade_valueResponse"/>
      </operation>
      </portType>
      ?
       <binding name="WSFacadeBinding" type="tns:WSFacade">
      <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
      ?
       <operation name="annotationType">
      <soap:operation soapAction=""/>
      ?
       <input>
      <soap:body namespace="http://org.jboss.ws/samples/jsr181ejb" use="literal"/>
      </input>
      ?
       <output>
      <soap:body namespace="http://org.jboss.ws/samples/jsr181ejb" use="literal"/>
      </output>
      </operation>
      ?
       <operation name="equals">
      <soap:operation soapAction=""/>
      ?
       <input>
      <soap:body namespace="http://org.jboss.ws/samples/jsr181ejb" use="literal"/>
      </input>
      ?
       <output>
      <soap:body namespace="http://org.jboss.ws/samples/jsr181ejb" use="literal"/>
      </output>
      </operation>
      ?
       <operation name="hashCode">
      <soap:operation soapAction=""/>
      ?
       <input>
      <soap:body namespace="http://org.jboss.ws/samples/jsr181ejb" use="literal"/>
      </input>
      ?
       <output>
      <soap:body namespace="http://org.jboss.ws/samples/jsr181ejb" use="literal"/>
      </output>
      </operation>
      ?
       <operation name="testWebServiceMethod">
      <soap:operation soapAction=""/>
      ?
       <input>
      <soap:body namespace="http://org.jboss.ws/samples/jsr181ejb" use="literal"/>
      </input>
      ?
       <output>
      <soap:body namespace="http://org.jboss.ws/samples/jsr181ejb" use="literal"/>
      </output>
      </operation>
      ?
       <operation name="toString">
      <soap:operation soapAction=""/>
      ?
       <input>
      <soap:body namespace="http://org.jboss.ws/samples/jsr181ejb" use="literal"/>
      </input>
      ?
       <output>
      <soap:body namespace="http://org.jboss.ws/samples/jsr181ejb" use="literal"/>
      </output>
      </operation>
      ?
       <operation name="value">
      <soap:operation soapAction=""/>
      ?
       <input>
      <soap:body namespace="http://org.jboss.ws/samples/jsr181ejb" use="literal"/>
      </input>
      ?
       <output>
      <soap:body namespace="http://org.jboss.ws/samples/jsr181ejb" use="literal"/>
      </output>
      </operation>
      </binding>
      ?
       <service name="WSFacade">
      ?
       <port binding="tns:WSFacadeBinding" name="WSFacadePort">
      <soap:address location="http://WorldCorp:8080//v1/soap/WSFacade"/>
      </port>
      </service>
      </definitions>
      


      while genrating clientside artifacts with wstools, jboss generates plenty of classes, but i receive plenty of compilation errors.... mainly because code gets generated as follows (ane xample)

      protected boolean enum;
      protected boolean interface;
      ws.jboss.org.samples.jsr181ejb.Type genericSuperclass, boolean interface,
      ...
      and so on
      


      so wstools while generating uses also java keywords and that results in comiplation error

      now i don't knlow if the problem is my ws that is too complicated, or if there re any problems in generating tools with wstools #
      i am using following wstools-config
      <?xml version="1.0" encoding="UTF-8"?>
      <configuration xmlns="http://www.jboss.org/jbossws-tools"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.jboss.org/jbossws-tools http://www.jboss.org/jbossws-tools/schema/jbossws-tool_1_0.xsd">
      
       <wsdl-java file="http://localhost:9080//v1/soap/WSFacade?wsdl">
       <mapping file="jaxrpc-mapping-client.xml" />
       </wsdl-java>
      
      </configuration>
      


      thus retrieving wsdl from server...

      can anyone suggest me how can i solve my porblems>? i m at a dead end... do i have any other solutions other than generating artifacts using wstools?

      thanks ina dvance and regards
      marco