Bueno inicio comentandoles que estoy trabajando en C# .net 2010, con el framework 2.0
Estoy realizando un
Web Service Interno que viajará hacia otro
Web Service Externo, pero debo enviarle en el
Soap header el
Username y Password; Y este es el problema que no se como enviarselo.
Para poder consumir el
Web Service Externo, he generado un
archivo clase(.cs) con la herramienta WSDL.exe desde el MS DOS: "
Wsdl.exe http://172.31.11.20:7880/MISERVICIO/MISERVICIO.asmx?WSDL"
Y lo tengo de la siguiente forma:
ESB_PUNTO_UNICO_ACCESO_Service WSMH = new ESB_PUNTO_UNICO_ACCESO_Service();
BPEL_SOA_PUNTO_UNICOProcessRequest Consulta = new BPEL_SOA_PUNTO_UNICOProcessRequest();
BPEL_SOA_PUNTO_UNICOProcessRequestDetalle detalleC = new BPEL_SOA_PUNTO_UNICOProcessRequestDetalle();
BPEL_SOA_PUNTO_UNICOProcessResponse Respuesta = new BPEL_SOA_PUNTO_UNICOProcessResponse();
Consulta.ID_TRANSACCION = "1";
Consulta.TIPO_TRAMA = "XML";
Consulta.Achivo = null;
detalleC.atributo = "NIT";
detalleC.valor = pNit;
Consulta.detalle = detalleC;
Respuesta = WSMH.execute(Consulta);
Estuve googleando pero no encuentro la respuesta a mi necesidad, intente aplicarlo de la siguiente forma(antes del execute) pero no tuve suerte
ICredentials credentials = new NetworkCredential("prueba", "mipass");
WSMH.Credentials = credentials;
WSMH.PreAuthenticate = true;
Este es el XML del SOAP de como lo debería de recibir el
Web Service Externo<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<soap:Header>
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" soap:mustUnderstand="1">
<wsse:UsernameToken xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:Username>macedonia.unico</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">punico2013</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soap:Header>
<soap:Body xmlns:ns1="http://xmlns.oracle.com/BPEL_SOA_PUNTO_UNICO">
<ns1:BPEL_SOA_PUNTO_UNICOProcessRequest>
<ns1:ID_TRANSACCION>1</ns1:ID_TRANSACCION>
<ns1:TIPO_TRAMA>XML</ns1:TIPO_TRAMA>
<ns1:detalle>
<ns1:atributo>NIT</ns1:atributo>
<ns1:valor>06142601831130</ns1:valor>
</ns1:detalle>
<ns1:Achivo/>
</ns1:BPEL_SOA_PUNTO_UNICOProcessRequest>
</soap:Body>
</soap:Envelope>
¿Alguien me puede orientar?
