Mi problema es el siguiente estoy intentando conectar una aplicación air a un webservice de .NET con wsse, entiendo que debo de anviar un header lo he hecho pero tengo algunos errores, el detalle esta en que quisiera saber cual es la manera correcta de crear el header con WSSE:Security, ya que las personas que dan soporte al webservice me han enviado un header de ejemplo pero cuando intento usarlo me marca error. Este es el que ellos me indican utilice
Código XML :
<wsse:UsernameToken wsu:Id="SecurityToken-4e303825-292c-4d29-bdea-40dad3054e01"> <wsse:Username>user</wsse:Username> <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">pwd</wsse:Password> <wsse:Nonce>dFXed30+qIEH1NN8gSvzxg==</wsse:Nonce> <wsu:Created>2010-12-08T14:52:00Z</wsu:Created> </wsse:UsernameToken>
y este es el que yo creo
Código XML :
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> <wsse:UsernameToken wsu:Id="UsernameToken-635507" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> <wsse:Username> user </wsse:Username> <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText"> pwd </wsse:Password> </wsse:UsernameToken> </wsse:Security>
si utilizo el que ellos me mandan me marca un error de que wsu is not bounded o algo asi
la funcion que utilizo para crear mi header es la siguiente
Código ActionScript :
private function returnWSSEHeaderWithoutNonceAndTimestamp(username:String, password:String):SOAPHeader
{
var WSSE_SECURITY:QName = new QName( "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd", "Security" );
var userToken:String = "UsernameToken-"+Math.round(Math.random()*999999).toString();
//var wsseToken:Array = WSSEUsernameToke.getUsernameTokenAsArray(username, password);
var headerXML:XML = <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:UsernameToken wsu:Id={userToken} xmlns:wsu='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd'>
<wsse:Username>{username}</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">{password}</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
var header:SOAPHeader = new SOAPHeader( WSSE_SECURITY, headerXML );
return header;
}Espero que me puedan ayudar por que los tipos del webservice no me han ayudado en gran cosa
SALUDOS
