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. | ||
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] = usuarion | ||
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.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 Realtech 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 s. default value 300 sg like SAP |
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.