Bonjour,

Je voulais générer un fichier .wsdd (format XML). J'ai alors choisi JDOM. La génération commence bien, seulement, je n'arrive pas à mettre les éléments parameter , car dans un élément service, il y a plusieurs éléments parameter.

Exemple de WSDD
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
 
<deployment
    xmlns="http://xml.apache.org/axis/wsdd/"
    xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
 
  <!-- Services from EquationService WSDL service -->
 
  <service name="Equation" provider="java:RPC" style="rpc" use="encoded">
      <parameter name="wsdlTargetNamespace" value="http://localhost:8080/axis/services/Equation"/>
      <parameter name="wsdlServiceElement" value="EquationService"/>
      <parameter name="schemaUnqualified" value="http://localhost:8080/axis/services/Equation"/>
      <parameter name="wsdlServicePort" value="Equation"/>
      <parameter name="className" value="equation.EquationSoapBindingImpl"/>
      <parameter name="wsdlPortType" value="Equation"/>
      <parameter name="typeMappingVersion" value="1.2"/>
      <operation name="saisirEquation" qname="operNS:saisirEquation" xmlns:operNS="http://equation" returnQName="saisirEquationReturn" returnType="rtns:Solution" xmlns:rtns="http://localhost:8080/axis/services/Equation" soapAction="" >
        <parameter qname="mesCoefs" type="tns:Coefficient" xmlns:tns="http://localhost:8080/axis/services/Equation"/>
      </operation>
.....
......
</service>
........
........
</deployement>
Voici, mon code Java

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
 
 
public class GenerXML {
 
	public GenerXML() {
		// TODO Raccord de constructeur auto-généré
	}
 
	/**
         * @param args
         */
	public static void main(String[] args) {
		// TODO Raccord de méthode auto-généré
 
		CreerElement tuto = new CreerElement();
		Element racine = new Element("deployement");
		Namespace ns=Namespace.getNamespace("http://xml.apache.org/axis/wsdd/");
		Namespace nsjava=Namespace.getNamespace("java", "http://xml.apache.org/axis/wsdd/providers/java");
		racine.setNamespace(ns);
		racine.addNamespaceDeclaration(nsjava);
		Document document = new Document(racine);
		Element service = new Element("service");
 
		service.setAttribute("name", "Equation");
		service.setAttribute("provider", "java:RPC");
		service.setAttribute("style", "rpc");
		service.setAttribute("use", "encoded");
 
		Element param1 = new Element("param1");
		param1.setName("parameter");
		param1.setAttribute("name", "wsdlTargetNamespace");
		param1.setAttribute("value", "http://localhost:8080/axis/services/Equation");
 
		Element param2 = new Element("param2");
		param2.setName("parameter");
		param1.setAttribute("name", "wsdlServiceElement");
		param1.setAttribute("value", "EquationService");
 
		service.addContent(param1);
		service.addContent(param2);
 
		racine.addContent(service);
et voici le résultat obtenu (seuls les attributs du dernier parameter apparaissent !)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
 
<?xml version="1.0" encoding="UTF-8" ?> 
- <deployement xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
- <service xmlns="" name="Equation" provider="java:RPC" style="rpc" use="encoded">
  <parameter name="wsdlServiceElement" value="EquationService" /> 
  <parameter /> 
  ..............
  </service>
.................
...................
</deployement>
Qui a une idée pour moi ?
merci d'avance.