[JBossWS] - One endpoint but the type appears twice in the WSDL
by ericmacau
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>
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3987038#3987038
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3987038
18 years, 1 month
[JBossWS] - Error With Runtime generation of WSDL With Headers
by mjrother
I have tried this with jboss 4.0.5 native and with jbossws 1.0.4. I have successfully used an annotated stateless ejb for web services with document / literal / bare configuration. I am now attempting to add a header to each web service request.
Here is the class :
@WebService(name = "test", targetNamespace = "http://com.test", serviceName = "test")
@SOAPBinding(style = SOAPBinding.Style.DOCUMENT, use = SOAPBinding.Use.LITERAL, parameterStyle = SOAPBinding.ParameterStyle.BARE)
@Stateless
public class TestService {
@WebMethod
public void logout(@WebParam(name="header", header=true) String value, @WebParam(name="parameters", header=false) String request){
}
@WebMethod
public void logout2(@WebParam(name="header2", header=true) String value, @WebParam(name="test", header=false) String request){
}
}
Note that web service logout works fine. logout2 has problems. As I interpret the problem is with the messages
The code generation always names the body element "parameters". So the only way to get it to work is to name the body element "parameters".
Is there a work around for now>
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3986976#3986976
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3986976
18 years, 1 month