Svp aider moi ....wsdl [Résolu/Fermé]

Signaler
Messages postés
14
Date d'inscription
dimanche 23 décembre 2007
Statut
Membre
Dernière intervention
26 septembre 2009
-
Messages postés
70
Date d'inscription
jeudi 30 juillet 2009
Statut
Membre
Dernière intervention
6 février 2013
-
Bonjour,

Je cherche à parser un fichier WSDL.
VOILA LE FICHIER:
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions
targetNamespace="urn:fooBarMBServiceOPMRef"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:impl="urn:fooBarMBServiceOPMRef"
xmlns:intf="urn:fooBarMBServiceOPMRef"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:sawsdl="http://www.w3.org/2007/01/sawsdl#"
xmlns:rosetta="http://lsdis.cs.uga.edu/projects/meteor-s/wsdl-s/ontologies/rosetta.owl"
xmlns:types="urn:fooBarMBServiceOPMRef/types">

<wsdl:types>
<xsd:schema targetNamespace="urn:fooBarMBServiceOPMRef/types">
<xsd:element name="requestProcessorQuote" sawsdl:modelReference="rosetta#PurchaseOrderRequest" >

<xsd:complexType>
<xsd:sequence>
<xsd:element name="context" type="xsd:long"/>
<xsd:element name="content" type="types:PurchaseOrderRequest"/>
</xsd:sequence>
</xsd:complexType>

</xsd:element>
<xsd:element name="requestProcessorQuoteReturn" type="types:PurchaseOrderResponse" sawsdl:modelReference="rosetta#PurchaseOrderConfirmation"/>
<xsd:complexType name="PurchaseOrderRequest">
<xsd:sequence>
<xsd:element name="globalBusinessIdentifier" nillable="true" type="xsd:string" sawsdl:modelReference="rosetta#GlobalBusinessIdentifier"/>
<xsd:element name="globalProductIdentifier" nillable="true" type="xsd:string" sawsdl:modelReference="rosetta#GlobalProductIdentifier"/>
<xsd:element name="orderQuantity" type="xsd:int" sawsdl:modelReference="rosetta#OrderQuantity"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="PurchaseOrderResponse">
<xsd:sequence>
<xsd:element name="globalProductIdentifier" nillable="true" type="xsd:string" sawsdl:modelReference="rosetta#GlobalProductIdentifier"/>
<xsd:element name="globalVendorIdentifier" nillable="true" type="xsd:string" sawsdl:modelReference="rosetta#GlobalBusinessIdentifier"/>
<xsd:element name="orderQuantity" type="xsd:int" sawsdl:modelReference="rosetta#OrderQuantity"/>
<xsd:element name="productCost" type="xsd:int" sawsdl:modelReference="rosetta#ProductCost"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
</wsdl:types>

<wsdl:message name="requestMotherBoardQuoteResponse">
<wsdl:part name="part1" element="types:PurchaseOrderResponse"/>
</wsdl:message>

<wsdl:message name="requestMotherBoardQuoteRequest">
<wsdl:part name="part1" element="types:requestProcessorQuote"/>
</wsdl:message>

<wsdl:portType name="fooBarMBServiceOPMRefPT">
<wsdl:operation name="requestMBOrder" parameterOrder="in0" sawsdl:modelReference="rosetta#RequestPurchaseOrder">
<wsdl:input message="impl:requestMotherBoardQuoteRequest" name="requestMotherBoardQuoteRequest"/>
<wsdl:output message="impl:requestMotherBoardQuoteResponse" name="requestMotherBoardQuoteResponse"/>
</wsdl:operation>
<wsdl:operation name="requestMBQuote" parameterOrder="in0" sawsdl:modelReference="rosetta#GetQuote">
<wsdl:input message="impl:requestMotherBoardQuoteRequest" name="requestMotherBoardQuoteRequest"/>
<wsdl:output message="impl:requestMotherBoardQuoteResponse" name="requestMotherBoardQuoteResponse"/>
</wsdl:operation>
</wsdl:portType>

<wsdl:binding name="fooBarMBServiceOPMRefSoapBinding" type="impl:fooBarMBServiceOPMRefPT">
<wsdlsoap:binding style="doc" transport="http://schemas.xmlsoap.org/soap/http/"/>
<wsdl:operation name="requestMBOrder">
<wsdlsoap:operation soapAction="requestMBOrder"/>
<wsdl:input name="requestMotherBoardQuoteRequest">
<wsdlsoap:body use="literal"/>
</wsdl:input>
<wsdl:output name="requestMotherBoardQuoteResponse">
</wsdl:output>
</wsdl:operation>


<wsdl:operation name="requestMBQuote">
<wsdlsoap:operation soapAction="requestMBQuote"/>
<wsdl:input name="requestMotherBoardQuoteRequest">
<wsdlsoap:body use="literal"/>
</wsdl:input>
<wsdl:output name="requestMotherBoardQuoteResponse">
<wsdlsoap:body use="literal"/>
</wsdl:output>
</wsdl:operation>

</wsdl:binding>

<wsdl:service name="fooBarMBServiceOPMRefService">
<wsdl:port binding="impl:fooBarMBServiceOPMRefSoapBinding" name="fooBarMBServiceOPMRefBindingName">
<wsdlsoap:address location="http://localhost:8081/axis2/services/fooBarMBServiceOPMRef"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>

2 réponses

Messages postés
29610
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
4 mars 2021
7 036
Alors pour m'être frottée au problème il y a peu, je ne te cache pas que parser un fichier WSDL est très complexe car la sémantique XML et WSDL est particulièrement vaste. Si c'est vraiment ce que tu cherches à faire il vaut mieux utiliser un parseur XML DOM.

Mais normalement, selon le langage que tu utilises il est sensé exister des outils pour générer directement un client ou un serveur WSDL (notamment en C# et en java il me semble). Tu as également des outils bien pratique et open sources comme SoapUI qui pourraient t'aider (ce logiciel parse un fichier WSDL et génère automatiquement un jeu de requêtes WSDL pour interroger le Web service).

Bonne chance
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
14
Date d'inscription
dimanche 23 décembre 2007
Statut
Membre
Dernière intervention
26 septembre 2009

merciiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
Messages postés
70
Date d'inscription
jeudi 30 juillet 2009
Statut
Membre
Dernière intervention
6 février 2013
38
Pour ceux que ca intéresse en C++.
La librairie OpenSource WSDLPull se charge très bien de parser les Wsdl.