/
WsCall

WsCall

Modulo que realiza una llamada a un Web Service:

MODULO

NOMBRE TÉCNICO

PARAMETROS

DESCRIPCIÓN

wscall

localejbs/com.realtech.adapter.orch.modules.core.ext.CallWSBean

wscall.bean

Path al bean del modulo. Ej: “localejbs/com.realtech.adapter.orch.modules.core.ext.CallWSBean”





wscall.SOAPTemplatePath

Path al servidor donde se encuentra el fichero con el tamplate del SOAP Envelope a usar para componer el mensaje SOAP.





wscall.namespace

El namespace a añadir al SOAP envelope en caso de ser necesario. Ej: xmlns:con="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/ConsultaLR.xsd"





wscall.url

La url del Web service al que llamar





wscall.soap_action

Define el SOAP action a usar en la llamada





wscall.proxyHost

EL host del proxy que usar para la conexión HTTP. Si viene vacio no se usa proxy





wscall.proxyPort

EL puerto del proxy que usar para la conexión HTTP





wscall.proxyAuthFlag

Indica si se debe usar autenticación para el proxy, en cuyo caso, hay que completar los dos siguientes parámetros. Posibles valores: (‘X’ | ‘-‘).





wscall.proxyUser

Usuario del proxy.





wscall.proxyPassword

Password del anterior usuario.





wscall.user.authentication

Tipo de autenticación.

Valores posibles: password (valor por defecto) / certificate / none





wscall.user

Si user.authentication = password. El usuario de autenticación HTTP del Web Service





wscall.password

Si user.authentication = password, La password de autenticación HTTP del Web Service





wscall.user.certificate.gestor

Si user.authentication = certificate, Tipo de gestión del certificado

Valores posibles: keystorage (Key Storage estándar de SAP PI) / certificateGestor (B+ Secure Keystore).





wscall.certificate.view

Si user.certificate.gestor  = keystorage, View del Key Storage estándar de SAP PI para la autenticación con certificado





wscall.certificate.alias

Si user.certificate.gestor  = keystorage, Alias de la anterior vista para la autenticación con certificado. (PRIVATE KEY)





wscall.certificate.public.alias

Si user.certificate.gestor  = keystorage, key storage alias del certificado público del certificado de autenticación. Debe estar en la misma vista que la clave privada. (CERTIFICATE)





wscall.certificate.gestor.alias

Si user.certificate.gestor  = certificateGestor, Alias del cetificado en el B+ Secure Keystore. (CERTIFICATE)





wscall.certificate.gestor.jndi

Si user.certificate.gestor  = certificateGestor,  JNDI del B+ Secure Keystore. Valor: ejb:/appName=realtech.com/efact~j2ee~ear~gestcrt, jarName=realtech.com~efact~j2ee~ejb~gestcrt.jar, beanName=GestorCertEJBBean, interfaceName=com.realtech.efact.j2ee.ejb.gestor.cert.ejb.GestorCertEJBBeanLocal





wscall.isHTTPS      

Indica si es conexión HTTPS o no (‘X’ | ‘-‘), cualquier otra cosa. En caso de HTTPS se validará la cadena de certificación contra el trustedCAs del  KeyStorage del SAP AS Java.





wscall.httpsPort

El puerto https a usar en las conexiones https





wscall.sslProtocol

El protocolo para las conexiones SSL TLS: "SSLv3","TLSv1", "TLSv1.1", "TLSv1.2"}, El soporte de los protocolos varía en función de la JDK del servidor. http://www.ateam-oracle.com/tls-and-java/





wscall.sslCipherProtocol

Para definir los protocolos de cifrado SSL. Si se define más de uno separa por !!. Ej:  TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256!!TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384

Si no se define coge los definidos en el servidor.





wscall.trust.all.servers

Indica si quieres que la conexión https se establezca sin validar el certificado (X). Modo pruebas. NO SE DEBE USAR PARA ESCENARIOS REALES NI EN PRODUCTIVO. Si no se indica se validará la cadena de certificación contra el trustedCAs del  KeyStorage del SAP AS Java.





wscall.extract.soap.body

Indica si se debe extraer el SOAP body del mensaje devuelto (‘X’ | ‘-‘),  o devolver el SOAP envelope completo. Si se indica extraer busca una etiqueta <?xml version="1.0" encoding="UTF-8"?> en el mensaje recibido, por si se recibe un mensaje SOAP  junto con otro texto. En este caso se queda solo con el mensaje xml SOAP.





wscall.evaluate.xpath.extract.payload

Indica si al evaluar la expresión XPATH (wscall.xpath.http.error.as.functional o wscall.xpath.http.error.as.technical) se debe extraer el SOAP body del mensaje devuelto o realizarla sobre todo el SOAP Envelope.





wscall.payload_string_to_remove

String a remover del modulo usado como payload a la hora de generar el SOAP envelope. Por ejemplo: ‘<?xml version="1.0" encoding="UTF-8"?>’





wscall.xpath.http.error.as.functional

Indica si se debe tratar una respuesta HTTP correcta (200OK) como error funcional (OrchestratorModuleFunctionalException), si se encuentra en la respuesta el valor de la expresión xpath indicada.





wscall.xpath.http.error.as.technical

Indica si se debe tratar una respuesta HTTP correcta (200OK) como error técnico (OrchestratorModuleLockableException), si se encuentra en la respuesta el valor de la expresión xpath indicada.





wscall.treat.http.error.as.functional

Indica si se debe tratar un error HTTP como una excepción funcional o no (‘X’ | ‘-‘),. Por defecto error lockable. Si se trata como funcional, es necesario utilizar el parámetro "ex_functional_mod" para indicar los módulos a ejecutar en ese caso.





wscall.usernameTokenProfile11

Indica si se requiere incluir la cabecera de seguridad para autenticación con UsernameToken Profile 1.1.  (‘X’ | ‘-‘),





wscall.user.username.tokenprofile

Usuario para autenticación con UsernameTokenProfile 1.1. Si no se define en este parámetro, se ha de definir mediante un mapa. Ejemplo para mapa:

wscall.user.username.tokenprofile = @MAP[user][123456789]

wscall.user_name[0] = 321654987

wscall.user_value[0] = usuario

wscall.user_name[1] = 123456789

wscall.user_value[1] = usuario2

wscall.user_name[2] = DEFAULT

wscall.user_value[2] = usuario_n







wscall.password.username.tokenprofile

Password para autenticación con UsernameTokenProfile 1.1. Si no se define en este parámetro, se ha de definir mediante un mapa. Ejemplo para mapa:

wscall.password.username.tokenprofile = @MAP[password][123456789]

wscall.password_name[0] = 321654987

wscall.password_value[0] = pwd

wscall.password_name[1] = 123456789

wscall.password_value[1] = pwd2

wscall.password_name[2] = DEFAULT

wscall.password_value[2] = pwdn







wscall.password.calculate.digest

Indica si se quiere usar un Digest para codificar el password. Valores “X” o “-“





wscall.password.calculate.digest.algorithm

Indica el algoritmo a usar para el Digest. Ej: “MD5”

 

 

wscall.usertokenprofile.password.type

Valores: “digest” o ”text”





wscall.password.encodeB64

Indica si se ha de codificar el password en B64.  En caso de usarse un algoritmo de de Digest, este Base64 sería calculado para el resultado del Digest. Valores “X” o “-“





wscall.wss4j_soap_signing

Indica si se requiere firma del mensaje SOAP según el estándar WS Security. (‘X’ | ‘-‘),





wscall.wss4j.crypto.provider

Se trata de la clase java que implementa la parte de firmado y validación. La clase por defecto es “com.realtech.efact.j2ee.ejb.mod.ws.pojo.wss4j.CryptoDefault”





wscall.wss4j.sign_request.keystore.type

Tipo de Keystore que almacena el certificado para la firma de la petición SOAP. Los posibles valores son: (SAP|RT|FILE).





wscall.wss4j.sign_request.keystore.view

Si el wss4j.sign_request.keystore.type=SAP Se debe informar el nombre de la View donde está el certificado para la firma de la petición SOAP. Valor por defecto “Default”





wscall.wss4j.sign_request.keystore.cert.alias

Nombre del certificado que se usa para firmar las peticiones SOAP.





wscall.wss4j.sign_request.keystore.cert.pass

Passphrase de la clave privada para la firma de la petición SOAP





wscall.wss4j.sign_request.keystore.filepath

Si el wss4j.sign_request.keystore.type=FILE se debe informar la ruta al fichero keystore.





wscall.wss4j.sign_request.keystore.pass

Si el acceso al keystore está protegido por password, se debe informar de él aquí.





wscall.wss4j.sign_request.certificate.gestor.alias



Si el tipo de firma es con el gestor de certificados de Avvale se debe especificar el alias del certificado en dicho aplicativo.





wscall.validate.response.signature

Indica si se quiere validar la respuesta SOAP firmada del servicio web. (“X” o “-“).





wscall.wss4j.validate_response.keystore.type

Tipo de Keystore que almacena los certificados trusted del sistema, contra el cual se deberá validar el certificado de la firma de la respuesta SOAP del servicio web. Los posibles valores son: (SAP|RT|FILE)





wscall.wss4j.validate_response.keystore.view

Si el wss4j.validate_response.keystore.type=SAP Se debe informar el nombre de la View donde está el certificado (parte pública) con el que se firmó la respuesta SOAP del servicio web. Valor por defecto “TrustedCAs”





wscall.wss4j.validate_response.keystore.filepath

Si el wss4j.validate_response.keystore.type=FILE se debe informar la ruta al fichero keystore que almacena el certificado (parte pública) con el que se firmó la respuesta SOAP del servicio web





wscall.wss4j.validate_response.keystore.pass

Si el acceso al keystore está protegido por password, se debe informar de él aquí.





wscall.pacProxyFlag

Indica si se ha de usar un fichero PAC (Javascript) para resolver la configuración proxy. . (“X” o “-“). LA IMPLEMENTACIÓN ESTA COMENTADA POR RENDIMIENTO, SI SE NECESITA DESCOMENTAR





wscall.pacProxyUrl

Ruta del fichero PAC. (http://<server>:<port>) LA IMPLEMENTACIÓN ESTA COMENTADA POR RENDIMIENTO, SI SE NECESITA DESCOMENTAR





wscall.header

Permite añadir Header HTTP a la petición. Se debe usar asi:

wscall.header_name[0]=Connection

wscall.header_value[0]=Keep-Alive

wscall.header_name[1]=Expect

wscall.header_value[1]=100-Continue





wscall.timeOut

Establece el timeout de la conexión en milisegundos. El valor por defecto es de 300.000 ms (300 segundos).

 

 

 

 



Ejemplos de configuración del fichero de crypto especificado en la propiedad wss4j_crypto_path:

CryptoRealtech:

org.apache.ws.security.crypto.provider = com.realtech.efact.j2ee.ejb.mod.ws.pojo.wss4j.CryptoRealtech

org.apache.ws.security.crypto.merlin.realtech.gest.cert.certificate.alias = prueba

org.apache.ws.security.crypto.merlin.realtech.trustedCAs = TrustedCAs

org.apache.ws.security.crypto.merlin.keystore.alias = Robert Popa TEST



Estandar Merlin

org.apache.wss4j.crypto.provider = org.apache.wss4j.common.crypto.Merlin

org.apache.ws.security.crypto.merlin.keystore.type = JKS

org.apache.ws.security.crypto.merlin.keystore.password = nosecret

org.apache.ws.security.crypto.merlin.keystore.alias = clientkey

org.apache.ws.security.crypto.merlin.alias.password = clientpass

org.apache.ws.security.crypto.merlin.keystore.file = client.keystore



Nota: este modulo se puede usar para enviar idocs over SOAP.

Avvale 2024