2 Replies Latest reply on Nov 22, 2006 3:28 PM by Thomas Diesler

    One endpoint but the type appears twice in the WSDL

    Eric Chow Apprentice

      Hello,

      I use JBossWS-1.0.3 to create the web service in Tomcat-5.5. Everything seems fine but meet a strange problem that one of the Java bean in the generated WSDL appearing twice. Please look at the following WSDL. Is it a bug or just like that. And how can I do if I only want one in the WSDL. In fact they are same beans (Role and Group).

      I tried to generated the web service client from c#, it appears two Role (Role and Role1). Please help.

      
      <definitions name='UserWS' targetNamespace='http://ws.eric.com/' xmlns='http://schemas.xmlsoap.org/wsdl/' xmlns:ns1='http://model.framework.mo/jaws' xmlns:ns2='http://lang.java/jaws' xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/' xmlns:tns='http://ws.eric.com/' xmlns:xsd='http://www.w3.org/2001/XMLSchema'>
       <types>
       <schema elementFormDefault='qualified' targetNamespace='http://model.framework.mo/jaws' xmlns='http://www.w3.org/2001/XMLSchema' xmlns:ns1='http://ws.eric.com/' xmlns:ns3='http://lang.java/jaws' xmlns:soap11-enc='http://schemas.xmlsoap.org/soap/encoding/' xmlns:tns='http://model.framework.mo/jaws' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
       <import namespace='http://lang.java/jaws'/>
       <import namespace='http://ws.eric.com/'/>
       <complexType name='Group'>
       <sequence>
       <element name='description' nillable='true' type='string'/>
       <element name='groupName' nillable='true' type='string'/>
       </sequence>
       </complexType>
       <complexType name='Role'>
       <sequence>
       <element name='description' nillable='true' type='string'/>
       <element name='roleName' nillable='true' type='string'/>
       </sequence>
       </complexType>
       </schema>
       <schema elementFormDefault='qualified' targetNamespace='http://lang.java/jaws' xmlns='http://www.w3.org/2001/XMLSchema' xmlns:ns1='http://ws.eric.com/' xmlns:ns2='http://model.framework.mo/jaws' xmlns:soap11-enc='http://schemas.xmlsoap.org/soap/encoding/' xmlns:tns='http://lang.java/jaws' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
       <import namespace='http://model.framework.mo/jaws'/>
       <import namespace='http://ws.eric.com/'/>
       <complexType name='StackTraceElement'>
       <sequence>
       <element name='className' nillable='true' type='string'/>
       <element name='fileName' nillable='true' type='string'/>
       <element name='lineNumber' type='int'/>
       <element name='methodName' nillable='true' type='string'/>
       <element name='nativeMethod' type='boolean'/>
       </sequence>
       </complexType>
       <complexType name='Throwable'>
       <sequence>
       <element name='cause' nillable='true' type='tns:Throwable'/>
       <element name='localizedMessage' nillable='true' type='string'/>
       <element name='message' nillable='true' type='string'/>
       <element maxOccurs='unbounded' minOccurs='0' name='stackTrace' nillable='true' type='tns:StackTraceElement'/>
       </sequence>
       </complexType>
       </schema>
       <schema elementFormDefault='qualified' targetNamespace='http://ws.eric.com/' xmlns='http://www.w3.org/2001/XMLSchema' xmlns:ns2='http://model.framework.mo/jaws' xmlns:ns3='http://lang.java/jaws' xmlns:soap11-enc='http://schemas.xmlsoap.org/soap/encoding/' xmlns:tns='http://ws.eric.com/' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
       <import namespace='http://model.framework.mo/jaws'/>
       <import namespace='http://lang.java/jaws'/>
       <complexType name='Exception'>
       <complexContent>
       <extension base='ns3:Throwable'>
       <sequence>
       <element name='message' nillable='true' type='string'/>
       </sequence>
       </extension>
       </complexContent>
       </complexType>
       <complexType name='Role'>
       <sequence>
       <element name='description' nillable='true' type='string'/>
       <element name='roleName' nillable='true' type='string'/>
       </sequence>
       </complexType>
       <complexType name='Role.Array'>
       <sequence>
       <element maxOccurs='unbounded' minOccurs='0' name='value' nillable='true' type='ns2:Role'/>
       </sequence>
       </complexType>
       <complexType name='User'>
       <sequence>
       <element name='activate' type='boolean'/>
       <element name='displayName' nillable='true' type='string'/>
       <element name='firstName' nillable='true' type='string'/>
       <element name='gender' nillable='true' type='string'/>
       <element maxOccurs='unbounded' minOccurs='0' name='groupsArray' nillable='true' type='ns2:Group'/>
       <element name='lastName' nillable='true' type='string'/>
       <element name='password' nillable='true' type='string'/>
       <element maxOccurs='unbounded' minOccurs='0' name='rolesArray' nillable='true' type='ns2:Role'/>
       <element name='username' nillable='true' type='string'/>
       </sequence>
       </complexType>
       <complexType name='User.Array'>
       <sequence>
       <element maxOccurs='unbounded' minOccurs='0' name='value' nillable='true' type='tns:User'/>
       </sequence>
       </complexType>
       <element name='Exception' type='tns:Exception'/>
       </schema>
       </types>
       <message name='UserEndpoint_removeUserByNameResponse'></message>
       <message name='UserEndpoint_getRolesByUsernameResponse'>
       <part name='result' type='tns:Role.Array'/>
       </message>
       <message name='UserEndpoint_getAllUsers'></message>
       <message name='UserEndpoint_getRoles'>
       <part name='User_1' type='tns:User'/>
       </message>
       <message name='UserEndpoint_addRoleResponse'>
       <part name='result' type='tns:Role'/>
       </message>
       <message name='UserEndpoint_getLoginUser'>
       <part name='String_1' type='xsd:string'/>
       </message>
       <message name='UserEndpoint_getUsersByActivateResponse'>
       <part name='result' type='tns:User.Array'/>
       </message>
       <message name='UserEndpoint_editUser'>
       <part name='String_1' type='xsd:string'/>
       <part name='String_2' type='xsd:string'/>
       <part name='String_3' type='xsd:string'/>
       <part name='String_4' type='xsd:string'/>
       <part name='String_5' type='xsd:string'/>
       <part name='String_6' type='xsd:string'/>
       <part name='boolean_1' type='xsd:boolean'/>
       </message>
       <message name='UserEndpoint_login'>
       <part name='String_1' type='xsd:string'/>
       <part name='String_2' type='xsd:string'/>
       </message>
       <message name='UserEndpoint_hasUsersResponse'>
       <part name='result' type='xsd:boolean'/>
       </message>
       <message name='UserEndpoint_addRole'>
       <part name='String_1' type='xsd:string'/>
       <part name='String_2' type='xsd:string'/>
       </message>
       <message name='UserEndpoint_getActivateUsers'></message>
       <message name='UserEndpoint_addUserResponse'>
       <part name='result' type='tns:User'/>
       </message>
       <message name='UserEndpoint_getActivateUsersResponse'>
       <part name='result' type='tns:User.Array'/>
       </message>
       <message name='UserEndpoint_removeUser'>
       <part name='User_1' type='tns:User'/>
       </message>
       <message name='Exception'>
       <part element='tns:Exception' name='Exception'/>
       </message>
       <message name='UserEndpoint_getRolesByUsername'>
       <part name='String_1' type='xsd:string'/>
       </message>
       <message name='UserEndpoint_removeUserByName'>
       <part name='String_1' type='xsd:string'/>
       </message>
       <message name='UserEndpoint_addUser'>
       <part name='String_1' type='xsd:string'/>
       <part name='String_2' type='xsd:string'/>
       <part name='String_3' type='xsd:string'/>
       <part name='String_4' type='xsd:string'/>
       <part name='String_5' type='xsd:string'/>
       <part name='String_6' type='xsd:string'/>
       <part name='boolean_1' type='xsd:boolean'/>
       </message>
       <message name='UserEndpoint_getUsersByActivate'>
       <part name='boolean_1' type='xsd:boolean'/>
       </message>
       <message name='UserEndpoint_getAllUsersResponse'>
       <part name='result' type='tns:User.Array'/>
       </message>
       <message name='UserEndpoint_findUser'>
       <part name='String_1' type='xsd:string'/>
       </message>
       <message name='UserEndpoint_loginResponse'>
       <part name='result' type='xsd:string'/>
       </message>
       <message name='UserEndpoint_saveRole'>
       <part name='Role_1' type='tns:Role'/>
       </message>
       <message name='UserEndpoint_logout'>
       <part name='String_1' type='xsd:string'/>
       </message>
       <message name='UserEndpoint_findUserResponse'>
       <part name='result' type='tns:User'/>
       </message>
       <message name='UserEndpoint_logoutResponse'></message>
       <message name='UserEndpoint_saveUser'>
       <part name='User_1' type='tns:User'/>
       </message>
       <message name='UserEndpoint_getRolesResponse'>
       <part name='result' type='tns:Role.Array'/>
       </message>
       <message name='UserEndpoint_addSuper'>
       <part name='String_1' type='xsd:string'/>
       </message>
       <message name='UserEndpoint_getNonActivateUsersResponse'>
       <part name='result' type='tns:User.Array'/>
       </message>
       <message name='UserEndpoint_getLoginUserResponse'>
       <part name='result' type='tns:User'/>
       </message>
       <message name='UserEndpoint_getNonActivateUsers'></message>
       <message name='UserEndpoint_editUserResponse'>
       <part name='result' type='tns:User'/>
       </message>
       <message name='UserEndpoint_addSuperResponse'>
       <part name='result' type='tns:User'/>
       </message>
       <message name='UserEndpoint_saveUserResponse'></message>
       <message name='UserEndpoint_saveRoleResponse'></message>
       <message name='UserEndpoint_removeUserResponse'></message>
       <message name='UserEndpoint_hasUsers'></message>
       <portType name='UserEndpoint'>
       <operation name='addRole' parameterOrder='String_1 String_2'>
       <input message='tns:UserEndpoint_addRole'/>
       <output message='tns:UserEndpoint_addRoleResponse'/>
       <fault message='tns:Exception' name='Exception'/>
       </operation>
       <operation name='addSuper' parameterOrder='String_1'>
       <input message='tns:UserEndpoint_addSuper'/>
       <output message='tns:UserEndpoint_addSuperResponse'/>
       <fault message='tns:Exception' name='Exception'/>
       </operation>
       <operation name='addUser' parameterOrder='String_1 String_2 String_3 String_4 String_5 String_6 boolean_1'>
       <input message='tns:UserEndpoint_addUser'/>
       <output message='tns:UserEndpoint_addUserResponse'/>
       <fault message='tns:Exception' name='Exception'/>
       </operation>
       <operation name='editUser' parameterOrder='String_1 String_2 String_3 String_4 String_5 String_6 boolean_1'>
       <input message='tns:UserEndpoint_editUser'/>
       <output message='tns:UserEndpoint_editUserResponse'/>
       <fault message='tns:Exception' name='Exception'/>
       </operation>
       <operation name='findUser' parameterOrder='String_1'>
       <input message='tns:UserEndpoint_findUser'/>
       <output message='tns:UserEndpoint_findUserResponse'/>
       <fault message='tns:Exception' name='Exception'/>
       </operation>
       <operation name='getActivateUsers'>
       <input message='tns:UserEndpoint_getActivateUsers'/>
       <output message='tns:UserEndpoint_getActivateUsersResponse'/>
       <fault message='tns:Exception' name='Exception'/>
       </operation>
       <operation name='getAllUsers'>
       <input message='tns:UserEndpoint_getAllUsers'/>
       <output message='tns:UserEndpoint_getAllUsersResponse'/>
       <fault message='tns:Exception' name='Exception'/>
       </operation>
       <operation name='getLoginUser' parameterOrder='String_1'>
       <input message='tns:UserEndpoint_getLoginUser'/>
       <output message='tns:UserEndpoint_getLoginUserResponse'/>
       </operation>
       <operation name='getNonActivateUsers'>
       <input message='tns:UserEndpoint_getNonActivateUsers'/>
       <output message='tns:UserEndpoint_getNonActivateUsersResponse'/>
       <fault message='tns:Exception' name='Exception'/>
       </operation>
       <operation name='getRoles' parameterOrder='User_1'>
       <input message='tns:UserEndpoint_getRoles'/>
       <output message='tns:UserEndpoint_getRolesResponse'/>
       <fault message='tns:Exception' name='Exception'/>
       </operation>
       <operation name='getRolesByUsername' parameterOrder='String_1'>
       <input message='tns:UserEndpoint_getRolesByUsername'/>
       <output message='tns:UserEndpoint_getRolesByUsernameResponse'/>
       <fault message='tns:Exception' name='Exception'/>
       </operation>
       <operation name='getUsersByActivate' parameterOrder='boolean_1'>
       <input message='tns:UserEndpoint_getUsersByActivate'/>
       <output message='tns:UserEndpoint_getUsersByActivateResponse'/>
       <fault message='tns:Exception' name='Exception'/>
       </operation>
       <operation name='hasUsers'>
       <input message='tns:UserEndpoint_hasUsers'/>
       <output message='tns:UserEndpoint_hasUsersResponse'/>
       <fault message='tns:Exception' name='Exception'/>
       </operation>
       <operation name='login' parameterOrder='String_1 String_2'>
       <input message='tns:UserEndpoint_login'/>
       <output message='tns:UserEndpoint_loginResponse'/>
       </operation>
       <operation name='logout' parameterOrder='String_1'>
       <input message='tns:UserEndpoint_logout'/>
       <output message='tns:UserEndpoint_logoutResponse'/>
       </operation>
       <operation name='removeUser' parameterOrder='User_1'>
       <input message='tns:UserEndpoint_removeUser'/>
       <output message='tns:UserEndpoint_removeUserResponse'/>
       <fault message='tns:Exception' name='Exception'/>
       </operation>
       <operation name='removeUserByName' parameterOrder='String_1'>
       <input message='tns:UserEndpoint_removeUserByName'/>
       <output message='tns:UserEndpoint_removeUserByNameResponse'/>
       <fault message='tns:Exception' name='Exception'/>
       </operation>
       <operation name='saveRole' parameterOrder='Role_1'>
       <input message='tns:UserEndpoint_saveRole'/>
       <output message='tns:UserEndpoint_saveRoleResponse'/>
       <fault message='tns:Exception' name='Exception'/>
       </operation>
       <operation name='saveUser' parameterOrder='User_1'>
       <input message='tns:UserEndpoint_saveUser'/>
       <output message='tns:UserEndpoint_saveUserResponse'/>
       <fault message='tns:Exception' name='Exception'/>
       </operation>
       </portType>
       <binding name='UserEndpointBinding' type='tns:UserEndpoint'>
       <soap:binding style='rpc' transport='http://schemas.xmlsoap.org/soap/http'/>
       <operation name='addRole'>
       <soap:operation soapAction=''/>
       <input>
       <soap:body namespace='http://ws.eric.com/' use='literal'/>
       </input>
       <output>
       <soap:body namespace='http://ws.eric.com/' use='literal'/>
       </output>
       <fault name='Exception'>
       <soap:fault name='Exception' use='literal'/>
       </fault>
       </operation>
       <operation name='addSuper'>
       <soap:operation soapAction=''/>
       <input>
       <soap:body namespace='http://ws.eric.com/' use='literal'/>
       </input>
       <output>
       <soap:body namespace='http://ws.eric.com/' use='literal'/>
       </output>
       <fault name='Exception'>
       <soap:fault name='Exception' use='literal'/>
       </fault>
       </operation>
       <operation name='addUser'>
       <soap:operation soapAction=''/>
       <input>
       <soap:body namespace='http://ws.eric.com/' use='literal'/>
       </input>
       <output>
       <soap:body namespace='http://ws.eric.com/' use='literal'/>
       </output>
       <fault name='Exception'>
       <soap:fault name='Exception' use='literal'/>
       </fault>
       </operation>
       <operation name='editUser'>
       <soap:operation soapAction=''/>
       <input>
       <soap:body namespace='http://ws.eric.com/' use='literal'/>
       </input>
       <output>
       <soap:body namespace='http://ws.eric.com/' use='literal'/>
       </output>
       <fault name='Exception'>
       <soap:fault name='Exception' use='literal'/>
       </fault>
       </operation>
       <operation name='findUser'>
       <soap:operation soapAction=''/>
       <input>
       <soap:body namespace='http://ws.eric.com/' use='literal'/>
       </input>
       <output>
       <soap:body namespace='http://ws.eric.com/' use='literal'/>
       </output>
       <fault name='Exception'>
       <soap:fault name='Exception' use='literal'/>
       </fault>
       </operation>
       <operation name='getActivateUsers'>
       <soap:operation soapAction=''/>
       <input>
       <soap:body namespace='http://ws.eric.com/' use='literal'/>
       </input>
       <output>
       <soap:body namespace='http://ws.eric.com/' use='literal'/>
       </output>
       <fault name='Exception'>
       <soap:fault name='Exception' use='literal'/>
       </fault>
       </operation>
       <operation name='getAllUsers'>
       <soap:operation soapAction=''/>
       <input>
       <soap:body namespace='http://ws.eric.com/' use='literal'/>
       </input>
       <output>
       <soap:body namespace='http://ws.eric.com/' use='literal'/>
       </output>
       <fault name='Exception'>
       <soap:fault name='Exception' use='literal'/>
       </fault>
       </operation>
       <operation name='getLoginUser'>
       <soap:operation soapAction=''/>
       <input>
       <soap:body namespace='http://ws.eric.com/' use='literal'/>
       </input>
       <output>
       <soap:body namespace='http://ws.eric.com/' use='literal'/>
       </output>
       </operation>
       <operation name='getNonActivateUsers'>
       <soap:operation soapAction=''/>
       <input>
       <soap:body namespace='http://ws.eric.com/' use='literal'/>
       </input>
       <output>
       <soap:body namespace='http://ws.eric.com/' use='literal'/>
       </output>
       <fault name='Exception'>
       <soap:fault name='Exception' use='literal'/>
       </fault>
       </operation>
       <operation name='getRoles'>
       <soap:operation soapAction=''/>
       <input>
       <soap:body namespace='http://ws.eric.com/' use='literal'/>
       </input>
       <output>
       <soap:body namespace='http://ws.eric.com/' use='literal'/>
       </output>
       <fault name='Exception'>
       <soap:fault name='Exception' use='literal'/>
       </fault>
       </operation>
       <operation name='getRolesByUsername'>
       <soap:operation soapAction=''/>
       <input>
       <soap:body namespace='http://ws.eric.com/' use='literal'/>
       </input>
       <output>
       <soap:body namespace='http://ws.eric.com/' use='literal'/>
       </output>
       <fault name='Exception'>
       <soap:fault name='Exception' use='literal'/>
       </fault>
       </operation>
       <operation name='getUsersByActivate'>
       <soap:operation soapAction=''/>
       <input>
       <soap:body namespace='http://ws.eric.com/' use='literal'/>
       </input>
       <output>
       <soap:body namespace='http://ws.eric.com/' use='literal'/>
       </output>
       <fault name='Exception'>
       <soap:fault name='Exception' use='literal'/>
       </fault>
       </operation>
       <operation name='hasUsers'>
       <soap:operation soapAction=''/>
       <input>
       <soap:body namespace='http://ws.eric.com/' use='literal'/>
       </input>
       <output>
       <soap:body namespace='http://ws.eric.com/' use='literal'/>
       </output>
       <fault name='Exception'>
       <soap:fault name='Exception' use='literal'/>
       </fault>
       </operation>
       <operation name='login'>
       <soap:operation soapAction=''/>
       <input>
       <soap:body namespace='http://ws.eric.com/' use='literal'/>
       </input>
       <output>
       <soap:body namespace='http://ws.eric.com/' use='literal'/>
       </output>
       </operation>
       <operation name='logout'>
       <soap:operation soapAction=''/>
       <input>
       <soap:body namespace='http://ws.eric.com/' use='literal'/>
       </input>
       <output>
       <soap:body namespace='http://ws.eric.com/' use='literal'/>
       </output>
       </operation>
       <operation name='removeUser'>
       <soap:operation soapAction=''/>
       <input>
       <soap:body namespace='http://ws.eric.com/' use='literal'/>
       </input>
       <output>
       <soap:body namespace='http://ws.eric.com/' use='literal'/>
       </output>
       <fault name='Exception'>
       <soap:fault name='Exception' use='literal'/>
       </fault>
       </operation>
       <operation name='removeUserByName'>
       <soap:operation soapAction=''/>
       <input>
       <soap:body namespace='http://ws.eric.com/' use='literal'/>
       </input>
       <output>
       <soap:body namespace='http://ws.eric.com/' use='literal'/>
       </output>
       <fault name='Exception'>
       <soap:fault name='Exception' use='literal'/>
       </fault>
       </operation>
       <operation name='saveRole'>
       <soap:operation soapAction=''/>
       <input>
       <soap:body namespace='http://ws.eric.com/' use='literal'/>
       </input>
       <output>
       <soap:body namespace='http://ws.eric.com/' use='literal'/>
       </output>
       <fault name='Exception'>
       <soap:fault name='Exception' use='literal'/>
       </fault>
       </operation>
       <operation name='saveUser'>
       <soap:operation soapAction=''/>
       <input>
       <soap:body namespace='http://ws.eric.com/' use='literal'/>
       </input>
       <output>
       <soap:body namespace='http://ws.eric.com/' use='literal'/>
       </output>
       <fault name='Exception'>
       <soap:fault name='Exception' use='literal'/>
       </fault>
       </operation>
       </binding>
       <service name='UserWS'>
       <port binding='tns:UserEndpointBinding' name='UserEndpointPort'>
       <soap:address location='http://localhost:8080/realespro/UserWS'/>
       </port>
       </service>
      </definitions>