Buenos días este es el wsdl del web service:
https://calidad.escondatagate.net/wsParser_2_1/soap/wsPaserSoap.wsdl
Tengo un usuario y contraseña para el web service y si lo estoy usando:
este el mi codigo:
WsStub.endpoint = %trim(I20STU);
ruta = '/QIBM/USERDATA/ICSS/CERT/SERVER/DEFAULT.KDB' + x'00';
none = 'NONE' + x'00';
SETTRUE = 'true' + x'00';
EXSR LEETX;
b64pr = apr_base64_encode_binary(var1
:rddata
:len);
Input2.fileName.value = '20347646891-01-F602-0009060.txt';
Input2.fileContent.value = var1;
// Invoca la operación del WebService
IF (stub_create_wsPaserSoapPort(WsStub) = *ON);
axiscStubSetUsername(WsStub.handle:I20USE);
axiscStubSetPassword(WsStub.handle:I20PSW);
axiscStubSetSecure(WsStub.handle:
%addr(ruta): %addr(NULLSTR): %addr(NULLSTR): %addr(NONE):
%addr(NONE): %addr(NONE): %addr(NULLSTR): %addr(NULLSTR):
%addr(SETTRUE): *NULL);
IF (stub_op_enviarDocumento(WsStub:Input2:Result)=*ON);
PRPT = Result.responseMessage;
PHASH = Result.hashcode;
ELSE;
ENDIF;
// Destroy Web service stubs.
stub_destroy_wsPaserSoapPort(WsStub);
*INLR=*ON;
/end-free
*---------------------------------------------------
C LEETX BEGSR
C EVAL flags = O_RDONLY
C EVAL FD = OPEN('/BASE64/PRUEBA.TXT':
C FLAGS)
C IF FD < 0
C EVAL MSG = 'ERROR'
C ENDIF
*-
C EVAL LEN = READ(FD: %ADDR(RDDATA):
C %SIZE(RDDATA))
C EVAL MSG = 'TAMAÑO:' + %TRIM(%EDITC(LEN:'M'))
C Msg dsply
C callp close(fd)
C ENDSR
Al principio me salia un error de certificado,buscando encontre que tenia
que hacer una instalación en un gestor de certificados ingresando:
http://ip:2001/QIBM/ICSS/Cert/Admin/qycucm1.ndm/main0, y luego colocar el
siguiente codigo:
axiscStubSetSecure(WsStub.handle:
%addr(ruta): %addr(NULLSTR): %addr(NULLSTR): %addr(NONE):
%addr(NONE): %addr(NONE): %addr(NULLSTR): %addr(NULLSTR):
%addr(SETTRUE): *NULL);
El proveedor del web service me dio este ejemplo:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:enviarDocumento="http://service.parser.escondatagate.net">
<SOAP-ENV:Header>
<wsse:Security xmlns:wsse="
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd
">
<wsse:UsernameToken>
<wsse:Username>User</wsse:Username>
<wsse:Password>Password</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<enviarDocumento:enviarDocumento>
<fileName>20100049181-03-B503-1013262.txt</fileName>
<fileContent>
SURFfEI1MDMtMTAxMzI2MnwyMDIwLTA1LTAxfDE2OjI5OjExfDAzfFBFTnx8MjAyMC0wNS0wMQ0KRU1JfDZ8MjAxMDAwNDkxODF8VEFJIExPWSBTQXxUQUkgTE9ZIFNBfDE1MDEyMnxKUiBNQVJJQU5PIE9ESUNJTyAxNTMtU1VSUVVJTExPLUxJTUEtTElNQXx8TElNQXxMSU1BfFNVUlFVSUxMT3xQRXx8fDAwMDANClJFQ3wxfDExMTExMTExfENMSUVOVEUgVkFSSU9TfHx8fHxQRXx8DQpDQUJ8MTAwMXwyLjU0fHx8fHx8fHx8fHx8fHxbMTAwMHwwLjQ2XXx8fHwzLjAwfHx8MDEwMXxbMTAwMHxUUkVTIFkgMDAvMTAwIFNPTEVTXXwwLjQ2fA0KREVUfDAwMDAxfDAwMzMwOHxMQVBJWiBBTUFSIEMvQiBIQiBZSU1JIChDQVgxMil8MS4wMHxOSVV8Mi41NHwzLjAwfFsxMDAwfDAuNDZ8MTB8Mi41NHwxOC4wMF18Mi41NHx8fHx8MC40NnwNCkFESXxAQDF8QVM0MDB8DQo
=</fileContent>
</enviarDocumento:enviarDocumento>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
El sáb., 11 de jul. de 2020 a la(s) 02:19, Alex Martínez ([email protected])
escribió:
> El WS que quieres utilizar tiene habilitada una capa de seguridad,
> posiblemente en la cabecera haya que indicar un usuario, contraseña y/o
> token
>
> <soapenv:Header>
> <web:AuthenticationToken>
> <web:licenseKey>.............</web:licenseKey>
> <web:password>...........</web:password>
> <web:username>................</web:username>
> </web:AuthenticationToken>
> </soapenv:Header>
>
>
>
> El sáb., 11 jul. 2020 a las 4:11, Miguel SB (<[email protected]>)
> escribió:
>
>> Buenas noches,
>> Estoy tratando de enviar información por webservice a un servidor externo
>> desde AS400 y me esta dando el siguiente error:
>>
>> AxisSoapException: SOAP fault occurred: faultcode : SOAP-ENV:Client
>> faultstring: com.sun.xml.wss.XWSSecurityException: Message does not conform
>> to configured policy [ AuthenticationTokenPolicy(S) ]: No Security Header
>> found; nested exception is com.sun.xml.wss.XWSSecurityException:
>> com.sun.xml.wss.XWSSecurityException: Message does not conform to
>> configured policy [ AuthenticationTokenPolicy(S) ]: No Security Header
>> found faultactor :
>>
>> Por favor me podrían indicar porqué este que sale ese mensaje de error y
>> que puedo hacer para corregirlo.
>>
>> Muchas gracias
>>
>> Miguel
>>
>> ____________________________________________________
>> Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
>> Forum.Help400 © Publicaciones Help400, S.L.
>
> ____________________________________________________
> Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
> Forum.Help400 © Publicaciones Help400, S.L.
____________________________________________________
�nete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 � Publicaciones Help400, S.L.