Rechercher : dans
Par :

Svp aider moi ....wsdl

Dernière réponse le 18 sep 2009 à 15:56:52 d12ahm, le 16 sep 2009 à 15:20:12 
 Signaler ce message aux modérateurs

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>

Configuration: Windows XP Internet Explorer 6.0

1

mamiemando, le 17 sep 2009 à 01:22:51
  • +1

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

Répondre à mamiemando

2

 d12ahm, le 18 sep 2009 à 15:56:52

Merciiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii

Répondre à d12ahm