PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WEBDEV (versiones precedentes) → Consommer un WS SOAP
Consommer un WS SOAP
Iniciado por Massimo, 21,sep. 2023 09:47 - No hay respuesta
Miembro registrado
11 mensajes
Publicado el 21,septiembre 2023 - 09:47
Bonjour,

Je réussi sans problème à consommer un WS dans SOAPUI,par contre quand je code dans WebDev, j'ai un message d'erreur- > "status":401,"error":"Unauthorized","message":"","path":"/services/certification".

Voici le requête dans SOAPUI, l'URL a été remplacé par XXX.com a des fins de confidentialité:
POST https://XXX.com/services/certification HTTP/1.0
Accept-Encoding: gzip,deflate
Content-Type: text/xml;charset=UTF-8
SOAPAction: ""
Authorization: Basic dXJiYW51c3Rlc3Q6UGFzc3dvcmQ0aW50ZWdyYXRpb250ZXN0c3ByZXRlc3RzIQ==
Content-Length: 484
Host: isab-test-server.elca-services.com
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.5.5 (Java/16.0.2)

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v1="http://www.isab.ch/assignment/Assignment/v1">
<soapenv:Header/>
<soapenv:Body>
<v1:CertificationDocumentRequest>
<!--You have a CHOICE of the next 2 items at this level-->
<v1:companyId>21260</v1:companyId>
<v1:ceaId>14</v1:ceaId>
<v1:language>FR</v1:language>
</v1:CertificationDocumentRequest>
</soapenv:Body>
</soapenv:Envelope>

Et voilà mon code :
certifRequest est un CertificationDocumentRequest
certifResult est un CertificationDocumentResponse

CertificationService.Authentification=auBasic
CertificationService.Adresse ="https://XXX.com/services/certification"
CertificationService.Utilisateur="test"
CertificationService.MotDePasse="testspretests!"

certifRequest.companyId=21260
certifRequest.ceaId=14
certifRequest.language="FR"

certifResult = CertificationService.certificationDocument(certifRequest) //TrackingServiceWSService.trackSearch(trackingSearch)
SI ErreurDétectée() ALORS
Trace("Echec de l'appel au service Web : " + ErreurInfo(errComplet))
SINON
Trace("Webservice correctement exécuté")
FIN



Mon code me semble correct, mais j'ai une erreur 401 (Unauthorized) en retour ?
Faut-il peut-être encoder user/password?

Merci pour votre aide