One endpoint but the type appears twice in the WSDL
ericmacau Nov 17, 2006 10:32 PMHello,
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>