Bonjour,
Je suis tjs dans mes soucis de WSDL - EJB.....
Depuis mes EJB, j'aimerais versionner mes WSDL....ou avoir 1 wsdl avec 2 targetNameSpace...
Comment fait on pour versionner depuis les EJB ?

Mon EJB :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
@WebService(portName = "CatalogServicePort", serviceName = "CatalogService", endpointInterface = "com.catalog.ejb.CatalogServiceSEI", targetNamespace = "http://ejb.catalog.com/v1")
@Interceptors( { ExceptionManager.class, SessionChecker.class,
		MethodLogger.class })
public class CatalogServiceBean implements CatalogServiceSEI,
		CatalogServiceLocal, CatalogServiceRemote {
 
@Interceptors(CheckerOnCatalog.class)
	public Long addFile(String sessionContext, ItemFile iFile)
			throws HWException {
 
//Ma methode
}
}
mon Interface
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
@WebService(name="CatalogService",targetNamespace="http://ejb.catalog.com/v1")
public interface CatalogServiceSEI{
 
public Long addFile (@WebParam(name = "sessionID")String sessionContext, 
			@WebParam(name = "itemFile")ItemFile f)throws HWException;
}
mon CatalogService.wsdl
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
 
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.1.7-b01-. -->
<definitions targetNamespace="http://ejb.catalog.com/v1" name="CatalogService" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://ejb.catalog.com/v1" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
  <types>
    <xsd:schema>
      <xsd:import namespace="http://ejb.catalog.com/v1" schemaLocation="CatalogService_schema1.xsd"/>
    </xsd:schema>
  </types>
  <message name="addFile">
    <part name="parameters" element="tns:addFile"/>
  </message>
  <message name="addFileResponse">
    <part name="parameters" element="tns:addFileResponse"/>
  </message>
<portType name="CatalogService">
    <operation name="addFile">
      <input message="tns:addFile"/>
      <output message="tns:addFileResponse"/>
      <fault message="tns:HWException" name="HWException"/>
    </operation>
</portType>
  <binding name="CatalogServicePortBinding" type="tns:CatalogService">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
    <operation name="addFile">
      <soap:operation soapAction=""/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
      <fault name="HWException">
        <soap:fault name="HWException" use="literal"/>
      </fault>
    </operation>
  </binding>
  <service name="CatalogService">
    <port name="CatalogServicePort" binding="tns:CatalogServicePortBinding">
      <soap:address location="REPLACE_WITH_ACTUAL_URL"/>
    </port>
  </service>
</definitions>
mon CatalogService_schema1.xsd
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
 
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xs:schema version="1.0" targetNamespace="http://ejb.catalog.com/v1" xmlns:tns="http://ejb.catalog.com/v1" xmlns:xs="http://www.w3.org/2001/XMLSchema">
 
 <xs:element name="HWException" type="tns:HWException"/>
 <xs:element name="addFile" type="tns:addFile"/>
 <xs:complexType name="addFile">
    <xs:sequence>
      <xs:element name="sessionID" type="xs:string" minOccurs="0"/>
      <xs:element name="itemFile" type="tns:itemFile" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
 
  <xs:complexType name="itemFile">
    <xs:sequence>
      <xs:element name="createDate" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="depositDate" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="entityId" type="xs:long" minOccurs="0"/>
      <xs:element name="entityName" type="xs:string" minOccurs="0"/>
      <xs:element name="fileComment" type="xs:string" minOccurs="0"/>
      <xs:element name="fileId" type="xs:long" minOccurs="0"/>
      <xs:element name="fileName" type="xs:string" minOccurs="0"/>
      <xs:element name="fileSize" type="xs:long" minOccurs="0"/>
      <xs:element name="fileType" type="xs:long" minOccurs="0"/>
      <xs:element name="idUserCreate" type="xs:long" minOccurs="0"/>
      <xs:element name="idUserUpdate" type="xs:long" minOccurs="0"/>
      <xs:element name="md5" type="xs:string" minOccurs="0"/>
      <xs:element name="mediaId" type="xs:long" minOccurs="0"/>
      <xs:element name="modelId" type="xs:long" minOccurs="0"/>
      <xs:element name="nameUserCreate" type="xs:string" minOccurs="0"/>
      <xs:element name="nameUserUpdate" type="xs:string" minOccurs="0"/>
      <xs:element name="relativePath" type="xs:string" minOccurs="0"/>
      <xs:element name="stateIndexation" type="xs:long" minOccurs="0"/>
      <xs:element name="status" type="tns:statusType" minOccurs="0"/>
      <xs:element name="storageId" type="xs:long" minOccurs="0"/>
      <xs:element name="unc" type="xs:string" minOccurs="0"/>
      <xs:element name="updateDate" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="url" type="xs:string" minOccurs="0"/>
      <xs:element name="xmlData" type="xs:string" minOccurs="0"/>
      <xs:element name="bIsReference" type="xs:boolean" minOccurs="0"/>
      <xs:element name="bIsScrambled" type="xs:boolean" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
Maintenant, je dois passer en v2, mais il faut que la v1 puisse encore fonctionner, donc avoir les 2 versions ensemble. Mon WSDL est generé en bottom up et comme des méthodes dans la v1 et la v2 se nomment de la même façon, mais on des paramétres différents (evolutions), je n'arrive pas en m'en sortir.

J'ai pensé créer un autre EJB CatalogServiceBean2 (pour la v2) qui extends de la v1, qui implemente aussi une autre interface tous les 2 avec un targetNameSpace en v2.....mais je ne m'en sors pas !

Si vous avez des propositions, n'hésitez pas !
Merci d'avance,