Bonjour,

J'ai deux clients (installés sur un serveur différent) qui font appel à un WebService.
Ils utilisent Axis2, Rampart1.2.

Le premier client fonctionne, et on peut voir passer le message SOAP suivant (extrait de la partie sécurité):

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
 
<wsse:SecurityTokenReference xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="STRId-80602">
     <ds:X509Data>
     [\n]
          <ds:X509IssuerSerial>
          [\n]
               <ds:X509IssuerName>
                    EMAILADDRESS=xxx,CN=xxx,OU=xxx,O=xxx,L=xxx,ST=xxx,C=xxx
		</ds:X509IssuerName>
		[\n] [\n]
		<ds:X509SerialNumber>
		     1
		</ds:X509SerialNumber>
		[\n]
          </ds:X509IssuerSerial>
	  [\n]
     </ds:X509Data>
</wsse:SecurityTokenReference>
Le second client ne fonctionne pas, l'erreur suivante est levée :

org.apache.axis2.AxisFault: WSDoAllReceiver: security processing failed
org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:279)
org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:201)
org.apache.rampart.handler.WSDoAllReceiver.processBasic(WSDoAllReceiver.java:283)

Quand je regarde le message SOAP généré par ce second client, je trouve :

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
 
<wsse:SecurityTokenReference xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="STRId-80602">
     <ds:X509Data>
     [\n]
          <ds:X509IssuerSerial>
          [\n]
                <ds:X509IssuerName>
                    C=xxx,ST=xxx,L=xxx,O=xxx,OU=xxx,CN=xxx,E=xxx		        
                </ds:X509IssuerName>
		[\n] [\n]
		<ds:X509SerialNumber>
		     1
		</ds:X509SerialNumber>
		[\n]
          </ds:X509IssuerSerial>
	  [\n]
     </ds:X509Data>
</wsse:SecurityTokenReference>
Les attributs de l'"IssuerName" ne sont pas dans le même ordre, et l'attribut relatif à l'adresse mail se nomme "E" dans un cas et "EMAILADRESS" dans le second.

Quand je vérifie mon certificat, il possède les attribut suivants :
Owner: EMAILADDRESS=xxx,CN=xxx,OU=xxx,O=xxx,L=xxx,ST=xxx,C=xxx

Pensez-vous que le problème de sécurité puisse venir de là ?
Comment paramétrer le format de l'"IssuerName" qui est inséré dans le message SOAP ?

Merci.