Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour à tous
J'exécute un webservice depuis PB10.5, et ça fonctionne ... sauf dans certains cas.
Alors, les cas qui fonctionnent sont les cas simples, évidemment.
Du style le webservice me ramène un chaine de caractère (style un message) ou alors un tableau de valeurs en string, là, ça fonctionne.
Par contre, si le service de retour est composé d'un tableau lui-même composé d'un tableau, etc.., ça ne marche plus:
J'ai le message suvant : Unknown error, problem with SoapClient.
Je précise que ce service fonctionne pour d'autres application non PB, et que via le Sniffer Réseau, l'url renvoyée est correcte.
Le problème vient de PB.
Voilà mon code:
SoapConnection lsc_SoapConn tns__retourverificationauthentification ls_soapResponse //String ls_soapResponse long ll_result, bidon service proxy_obj // initialize lsc_SoapConn = create SoapConnection // Create proxy object ll_result = lsc_SoapConn.CreateInstance(proxy_obj, & "service") if ll_result = 0 then try // Invoke service and display result ls_soapResponse = proxy_obj.verificationAuthentification(param1,param2,param3,param4,param5) catch ( SoapException e ) // error handling MessageBox ("Error", "Cannot invoke Web service." & + " Exception info: " + e.text) end try else MessageBox ("Error: " + string(ll_result), & "Unable to create proxy") end if // clean up destroy lsc_SoapConn
ça plante sur l'appel du WebService au retour.
Le service verificationAuthentification ramène en retour 2 Strings et 2 tableaux dont l'un contient des sous-tableaux.
Pour les autres services ramenant seulement des strings, ça fonctionne très bien..
Est-ce un bug connu ?
Quelqu'un a-t-il déjà rencontré ce problème ?
Merci d'avance
Kalini
Hors ligne
J'ai un vague souvenir d'avoir eu un collègue confronté à ce problème sur une précédente mission.
Le truc venait du WSDL. A priori, PB est très contraignant dans la déclaration du WebService et le WSDL standard avait du être adapté à la main pour résoudre le problème (et du coup les clients Java également)...
Excuses moi, c'est vague mais c'est tout ce dont je me souviens...
Hors ligne
C'est déjà un début.. Je te remercie. Si d'autres détails te reviennent, n'hésite pas à les donner, merci.
Le problème est que ce webservice fonctionne déjà pour de nombreuses autres applications, et si je modifie le wsdl, ça va surement leur poser problème ?
Dernière modification par Kalini (09-07-2007 12:53:20)
Hors ligne