Hi all.

I am having a little problem with EJB3 + WebServices exposed as SEI JSR-181.

I am using the JSR-181 annotations, JBoss 4.0.4 GA with JBossWS 1.0. 

I have no problems when using simple types.

But when it comes to complex types with arrays, I think I am getting wrong WSDL 
generated.

This is my WebService:


  | @WebService
  |     (
  |             name = "SessionManagement", 
  |             targetNamespace = "http://com.roshka.services/myapplication/";, 
  |             serviceName = "SessionManagementService" 
  |     )
  |       
  | @SOAPBinding(style = SOAPBinding.Style.RPC)
  | @Stateless
  | public class SessionManagementEJB {
  | 

The methods I am exposing are:


    @WebMethod
  |     public String getCurrentVersion()
  |     {
  |         return SessionManagementEJB.CURRENT_VERSION;
  |     }
  |     @WebMethod
  |     public RUCASConnectResponse RUCASConnect(
  |             AppInfo appInfo,
  |             LoginMethod[] loginMethods,
  |             CryptMethod[] cryptMethods
  |             )
  |     {
  |          return null;
  |     }
  | 

The problem is that the WSDL I am getting generated contains two definitions of 
CryptMethod type in two different namespaces. Is it correct?



<definitions name='SessionManagementService' 
targetNamespace='http://com.roshka.services/myapplication/' 
xmlns='http://schemas.xmlsoap.org/wsdl/' 
xmlns:ns1='http://security.beans.rucas.set.gov.py/jaws' 
xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/' 
xmlns:tns='http://com.roshka.services/myapplication/' 
xmlns:xsd='http://www.w3.org/2001/XMLSchema'>
  |  <types>
  |   <schema elementFormDefault='qualified' 
targetNamespace='http://com.roshka.services/myapplication/' 
xmlns='http://www.w3.org/2001/XMLSchema' 
xmlns:ns2='http://www.w3.org/2001/XMLSchema' 
xmlns:ns3='http://security.beans.rucas.set.gov.py/jaws' 
xmlns:soap11-enc='http://schemas.xmlsoap.org/soap/encoding/' 
xmlns:tns='http://com.roshka.services/myapplication/' 
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
  |    <import namespace='http://security.beans.rucas.set.gov.py/jaws'/>
  |    <import namespace='http://www.w3.org/2001/XMLSchema'/>
  |    <complexType name='AppInfo'>
  |     <sequence>
  |      <element name='language' nillable='true' type='string'/>
  |      <element name='name' nillable='true' type='string'/>
  | 
  |      <element name='uuid' nillable='true' type='string'/>
  |      <element name='version' nillable='true' type='string'/>
  |     </sequence>
  |    </complexType>
  |    <complexType name='ClientSystem'>
  |     <sequence>
  |      <element name='id' nillable='true' type='int'/>
  |      <element name='name' nillable='true' type='string'/>
  |      <element name='password' nillable='true' type='base64Binary'/>
  | 
  |     </sequence>
  |    </complexType>
  |    <complexType name='CryptMethod'>
  |     <sequence>
  |      <element name='code' nillable='true' type='string'/>
  |      <element name='name' nillable='true' type='string'/>
  |      <element name='version' nillable='true' type='string'/>
  |     </sequence>
  |    </complexType>
  | 
  |    <complexType name='CryptMethod.Array'>
  |     <sequence>
  |      <element maxOccurs='unbounded' minOccurs='0' name='value' 
nillable='true' type='ns3:CryptMethod'/>
  |     </sequence>
  |    </complexType>
  |    <complexType name='LoginMethod'>
  |     <sequence>
  |      <element name='code' nillable='true' type='string'/>
  |      <element name='name' nillable='true' type='string'/>
  | 
  |      <element name='version' nillable='true' type='string'/>
  |     </sequence>
  |    </complexType>
  |    <complexType name='LoginMethod.Array'>
  |     <sequence>
  |      <element maxOccurs='unbounded' minOccurs='0' name='value' 
nillable='true' type='ns3:LoginMethod'/>
  |     </sequence>
  |    </complexType>
  |    <complexType name='RUCASConnectResponse'>
  | 
  |     <sequence>
  |      <element name='cryptMethod' nillable='true' type='ns3:CryptMethod'/>
  |      <element name='loginMethod' nillable='true' type='ns3:LoginMethod'/>
  |      <element name='temporarySessionId' nillable='true' type='string'/>
  |     </sequence>
  |    </complexType>
  |    <complexType name='RUCASLoginResponse'>
  |     <sequence>
  |      <element name='permanentSessionId' nillable='true' type='string'/>
  | 
  |      <element name='success' nillable='true' type='boolean'/>
  |     </sequence>
  |    </complexType>
  |   </schema>
  |   <schema elementFormDefault='qualified' 
targetNamespace='http://security.beans.rucas.set.gov.py/jaws' 
xmlns='http://www.w3.org/2001/XMLSchema' 
xmlns:ns1='http://com.roshka.services/myapplication/' 
xmlns:ns2='http://www.w3.org/2001/XMLSchema' 
xmlns:soap11-enc='http://schemas.xmlsoap.org/soap/encoding/' 
xmlns:tns='http://security.beans.rucas.set.gov.py/jaws' 
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
  |    <import namespace='http://com.roshka.services/myapplication/'/>
  |    <import namespace='http://www.w3.org/2001/XMLSchema'/>
  |    <complexType name='CryptMethod'>
  |     <sequence>
  | 
  |      <element name='code' nillable='true' type='string'/>
  |      <element name='name' nillable='true' type='string'/>
  |      <element name='version' nillable='true' type='string'/>
  |     </sequence>
  |    </complexType>
  |    <complexType name='LoginMethod'>
  |     <sequence>
  |      <element name='code' nillable='true' type='string'/>
  |      <element name='name' nillable='true' type='string'/>
  | 
  |      <element name='version' nillable='true' type='string'/>
  |     </sequence>
  |    </complexType>
  |   </schema>
  |  </types>
  |  <message name='SessionManagement_getCurrentVersion'></message>
  |  <message name='SessionManagement_getClientSystem'></message>
  |  <message name='SessionManagement_RUCASLogin'>
  |   <part name='LoginMethod_1' type='tns:LoginMethod'/>
  | 
  |   <part name='CryptMethod_1' type='tns:CryptMethod'/>
  |  </message>
  |  <message name='SessionManagement_getClientSystemResponse'>
  |   <part name='result' type='tns:ClientSystem'/>
  |  </message>
  |  <message name='SessionManagement_RUCASLoginResponse'>
  |   <part name='result' type='tns:RUCASLoginResponse'/>
  |  </message>
  |  <message name='SessionManagement_getCurrentVersionResponse'>
  | 
  |   <part name='result' type='xsd:string'/>
  |  </message>
  |  <message name='SessionManagement_RUCASConnectResponse'>
  |   <part name='result' type='tns:RUCASConnectResponse'/>
  |  </message>
  |  <message name='SessionManagement_RUCASConnect'>
  |   <part name='AppInfo_1' type='tns:AppInfo'/>
  |   <part name='LoginMethod_1' type='tns:LoginMethod.Array'/>
  |   <part name='CryptMethod_1' type='tns:CryptMethod.Array'/>
  | 
  |  </message>
  |  <portType name='SessionManagement'>
  |   <operation name='RUCASConnect' parameterOrder='AppInfo_1 LoginMethod_1 
CryptMethod_1'>
  |    <input message='tns:SessionManagement_RUCASConnect'/>
  |    <output message='tns:SessionManagement_RUCASConnectResponse'/>
  |   </operation>
  |   <operation name='RUCASLogin' parameterOrder='LoginMethod_1 CryptMethod_1'>
  |    <input message='tns:SessionManagement_RUCASLogin'/>
  |    <output message='tns:SessionManagement_RUCASLoginResponse'/>
  | 
  |   </operation>
  |   <operation name='getClientSystem'>
  |    <input message='tns:SessionManagement_getClientSystem'/>
  |    <output message='tns:SessionManagement_getClientSystemResponse'/>
  |   </operation>
  |   <operation name='getCurrentVersion'>
  |    <input message='tns:SessionManagement_getCurrentVersion'/>
  |    <output message='tns:SessionManagement_getCurrentVersionResponse'/>
  |   </operation>
  | 
  |  </portType>
  |  <binding name='SessionManagementBinding' type='tns:SessionManagement'>
  |   <soap:binding style='rpc' 
transport='http://schemas.xmlsoap.org/soap/http'/>
  |   <operation name='RUCASConnect'>
  |    <soap:operation soapAction=''/>
  |    <input>
  |     <soap:body namespace='http://py.gov.set.services/rucas/' use='literal'/>
  |    </input>
  |    <output>
  | 
  |     <soap:body namespace='http://py.gov.set.services/rucas/' use='literal'/>
  |    </output>
  |   </operation>
  |   <operation name='RUCASLogin'>
  |    <soap:operation soapAction=''/>
  |    <input>
  |     <soap:body namespace='http://py.gov.set.services/rucas/' use='literal'/>
  |    </input>
  |    <output>
  | 
  |     <soap:body namespace='http://py.gov.set.services/rucas/' use='literal'/>
  |    </output>
  |   </operation>
  |   <operation name='getClientSystem'>
  |    <soap:operation soapAction=''/>
  |    <input>
  |     <soap:body namespace='http://py.gov.set.services/rucas/' use='literal'/>
  |    </input>
  |    <output>
  | 
  |     <soap:body namespace='http://py.gov.set.services/rucas/' use='literal'/>
  |    </output>
  |   </operation>
  |   <operation name='getCurrentVersion'>
  |    <soap:operation soapAction=''/>
  |    <input>
  |     <soap:body namespace='http://py.gov.set.services/rucas/' use='literal'/>
  |    </input>
  |    <output>
  | 
  |     <soap:body namespace='http://py.gov.set.services/rucas/' use='literal'/>
  |    </output>
  |   </operation>
  |  </binding>
  |  <service name='SessionManagementService'>
  |   <port binding='tns:SessionManagementBinding' name='SessionManagementPort'>
  |    <soap:address location='http://ERRE:8080/rucas/SessionManagementEJB'/>
  |   </port>
  |  </service>
  | 
  | </definitions>

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3948835#3948835

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3948835


_______________________________________________
JBoss-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to