Bonjour à tous,

J'aimerai utiliser les webservices d'une application 'Hyperplanning' par le biais de Python pour un projet scolaire. J'utilise pour cela le module 'SOAPpy' sur Python 2.7.9.

Je n'arrive malheureusement pas à communiquer avec le fichier WSDL.

Voici mon programme :
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
 
from SOAPpy import WSDL
from SOAPpy import SOAPProxy
 
fichier_wsdl = 'http://SPR:pass@stephen-pc:80/hpsw/wsdl/IHpSvcWAdmin'
namespace_wsdl = 'http://schemas.xmlsoap.org/soap/encoding/'
wsdl = SOAPProxy(fichier_wsdl, namespace=namespace_wsdl)
 
wsdl.config.debug = 1
wsdl.soapproxy.config.dumpSOAPOut = 1
wsdl.soapproxy.config.dumpSOAPIn = 1
 
#print wsdl.methods.keys() #Lister les methodes
 
infos_methode = wsdl.methods['http://SPR:pass@stephen-pc:80/hpsw/wsdl/IHpSvcWAdmin/AnneeComplete'] #Lister les parametres d'une methode
Et j'obtiens l'erreur suivante :
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
In build.
In dump. obj= <a href="http://SPR:pass@stephen-pc:80/hpsw/wsdl/IHpSvcWAdmin/AnneeComplete" target="_blank">http://SPR:pass@stephen-pc:80/hpsw/w.../AnneeComplete</a>
In gentag.
In dump_string.
In dumper.
*** Outgoing HTTP headers **********************************************
POST /hpsw/wsdl/IHpSvcWAdmin HTTP/1.0
Host: stephen-pc:80
User-agent: SOAPpy 0.12.22 (<a href="http://pywebsvcs.sf.net" target="_blank">http://pywebsvcs.sf.net</a>)
Content-type: text/xml; charset=UTF-8
Content-length: 591
SOAPAction: "methods.__getitem__"
************************************************************************
*** Outgoing SOAP ******************************************************
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
  SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
  xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
  xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
  xmlns:xsd="http://www.w3.org/1999/XMLSchema"
>
<SOAP-ENV:Body>
<SOAP-ENC:methods.__getitem__ SOAP-ENC:root="1">
<v1 xsi:type="xsd:string">http://SPR:pass@stephen-pc:80/hpsw/wsdl/IHpSvcWAdmin/AnneeComplete</v1>
</SOAP-ENC:methods.__getitem__>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
************************************************************************
code= 200
msg= OK
headers= Content-Length: 458
 
Content-Type: application/soap+xml; charset=utf-8
 
Server: HYPERPLANNING 2015 - 0.1.2 Microsoft-HTTPAPI/2.0
 
Date: Sat, 02 May 2015 13:28:39 GMT
 
Connection: close
 
 
content-type= application/soap+xml; charset=utf-8
data= <?xml version="1.0" encoding="UTF-8"?>
 
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
 
  <soapenv:Body>
 
    <soapenv:Fault>
 
      <soapenv:Code>
 
        <soapenv:Value>soapenv:Receiver</soapenv:Value>
 
      </soapenv:Code>
 
      <soapenv:Reason>
 
        <soapenv:Text xml:lang="fr">SOAPAction methods.__getitem__ inconnue</soapenv:Text>
 
      </soapenv:Reason>
 
    </soapenv:Fault>
 
  </soapenv:Body>
 
</soapenv:Envelope>
*** Incoming HTTP headers **********************************************
HTTP/1.? 200 OK
Content-Length: 458
Content-Type: application/soap+xml; charset=utf-8
Server: HYPERPLANNING 2015 - 0.1.2 Microsoft-HTTPAPI/2.0
Date: Sat, 02 May 2015 13:28:39 GMT
Connection: close
************************************************************************
*** Incoming SOAP ******************************************************
<?xml version="1.0" encoding="UTF-8"?>
 
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
 
  <soapenv:Body>
 
    <soapenv:Fault>
 
      <soapenv:Code>
 
        <soapenv:Value>soapenv:Receiver</soapenv:Value>
 
      </soapenv:Code>
 
      <soapenv:Reason>
 
        <soapenv:Text xml:lang="fr">SOAPAction methods.__getitem__ inconnue</soapenv:Text>
 
      </soapenv:Reason>
 
    </soapenv:Fault>
 
  </soapenv:Body>
 
</soapenv:Envelope>
************************************************************************
 
Traceback (most recent call last):
  File "C:\Users\Stéphen\Documents\ICAM I3\Projet info\Python27\HP Admin.py", line 14, in <module>
    infos_methode = wsdl.methods['http://SPR:pass@stephen-pc:80/hpsw/wsdl/IHpSvcWAdmin/AnneeComplete'] #Lister les parametres d'une methode
  File "build\bdist.win32\egg\SOAPpy\Client.py", line 547, in __call__
    return self.__r_call(*args, **kw)
  File "build\bdist.win32\egg\SOAPpy\Client.py", line 569, in __r_call
    self.__hd, self.__ma)
  File "build\bdist.win32\egg\SOAPpy\Client.py", line 471, in __call
    p, attrs = parseSOAPRPC(r, attrs = 1)
  File "build\bdist.win32\egg\SOAPpy\Parser.py", line 1105, in parseSOAPRPC
    t = _parseSOAP(xml_str, rules = rules, ignore_ext=ignore_ext)
  File "build\bdist.win32\egg\SOAPpy\Parser.py", line 1080, in _parseSOAP
    parser.parse(inpsrc)
  File "C:\Python27\lib\site-packages\_xmlplus\sax\expatreader.py", line 109, in parse
    xmlreader.IncrementalParser.parse(self, source)
  File "C:\Python27\lib\site-packages\_xmlplus\sax\xmlreader.py", line 123, in parse
    self.feed(buffer)
  File "C:\Python27\lib\site-packages\_xmlplus\sax\expatreader.py", line 216, in feed
    self._parser.Parse(data, isFinal)
  File "C:\Python27\lib\site-packages\_xmlplus\sax\expatreader.py", line 353, in start_element_ns
    AttributesNSImpl(newattrs, qnames))
  File "build\bdist.win32\egg\SOAPpy\Parser.py", line 125, in startElementNS
    "Don't understand version `%s' Envelope" % name[0])
faultType: <Fault SOAP-ENV:VersionMismatch: Don't understand version `<a href="http://www.w3.org/2003/05/soap-envelope" target="_blank">http://www.w3.org/2003/05/soap-envelope</a>' Envelope>
Avez-vous une idée d'où cela peut venir?

Je viens de commencer l'utilisation de SOAPpy, je ne suis donc pas très à l'aise avec ce module pour l'instant, soyez indulgents! :oops:

Merci d'avance!