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.

Reply via email to