Отправьте почтовый XML-запрос в веб-сервис, размещенный на weblogic, и получите XML-ответ от клиентского запроса. - PullRequest
0 голосов
/ 28 сентября 2018

Я пытаюсь отправить почтовые запросы в веб-службу, которая работает в сети.Я использую soapui для выполнения запросов, этот инструмент структурирует мне объект, который я должен отправить в формате XML, но когда я отправляю запрос, он выдает мне ошибку: org.apache.http.NoHttpResponseException: целевой сервер не смог ответить.

Есть идеи?Веб-сервис, который я сделал, не то, чтобы я обращался к какому-либо внешнему.

JDNI-соединение:

if ( conn == null ){

        Context ctx = null;

        try{

            ctx = new InitialContext();

            DataSource ds = (DataSource) ctx.lookup("jdbc_oracle_ws");

            conn = ds.getConnection();

        }catch(Exception ex){}
}

Код метода веб-сервиса

@WebService(serviceName = "ConsultarRecibosPendientes", targetNamespace = "http://websercice.fi.co/")
public class ConsultarRecibosPendientes extends Base {

        @WebMethod(operationName = "ConsultarRecibosPendientes")
        @WebResult(name = "ConsultarRecibosPendientesResult")
        public ConsultarRecibosPendientesRes ConsultarRecibosPendientes(@WebParam(
                name = "ConsultarRecibosPendientesReq") ConsultarRecibosPendientesReq objeto) {

            ConsultarRecibosPendientesRes recibosRes = new ConsultarRecibosPendientesRes();

            cliente_servicio = ConsultarInformacionClienteServicio( objeto.nCodBanco,
                                                                        objeto.nCodAgencia,
                                                                        objeto.nCodInstitucion,
                                                                        objeto.nCodConvenio,
                                                                        objeto.nTipoBusqueda,
                                                                        objeto.nTipoLlaveAcceso,
                                                                        objeto.strLlaveAcceso);

            recibosRes.nCodRespuesta = cliente_servicio.codigoRespuesta;
            recibosRes.nTipoIdentificacion = cliente_servicio.tipoIdentificacion;
            recibosRes.strIdentificacion = cliente_servicio.identificacionCliente.replace("-", "").trim();
            recibosRes.strNombreCliente = cliente_servicio.nombreCliente;
            recibosRes.nFechaTransaccion = cliente_servicio.fechaTransaccion;
            recibosRes.nCantServicios = cliente_servicio.cantServicios;

            return recibosRes;

        }
    }

1 Ответ

0 голосов
/ 08 октября 2018

Соединение с базой данных в порядке, вам просто нужно создать «источник данных» на сервере WebLogic со спецификациями, которые нам нужны, в моем случае это тонкое соединение с экземпляром oracle.

Затем, когда яЯ определил определенные свойства XML в моем коде, XML, который генерирует автоматический пользовательский интерфейс SOAP, не обслуживал меня, мне пришлось создать XML, следуя моим спецификациям, чтобы я мог получить связь с WebService.

XML, которыйМне показалось следующее:

<?xml version='1.0' encoding='UTF-8'?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <soap:Body>
        <web:ConsultarRecibosPendientes xmlns:web="http://websercice.fi.co/">
            <oReq>
                <nCodBanco>150</nCodBanco>
                <nCodAgencia>1</nCodAgencia>
                <nCodInstitucion>1</nCodInstitucion>
                <nCodConvenio>1</nCodConvenio>
                <nTipoBusqueda>1</nTipoBusqueda>
                <nTipoLlaveAcceso>1</nTipoLlaveAcceso>
                <strLlaveAcceso>llave de acceso</strLlaveAcceso>
            </oReq>
        </web:ConsultarRecibosPendientes>
    </soap:Body>
</soap:Envelope>

Помимо этого, я изменил имя параметра на "oReq", например:

public ConsultarRecibosPendientesRes ConsultarRecibosPendientes(
                              @WebParam(name = "oReq", targetNamespace = "")
                              ConsultarRecibosPendientesReq oReq) {...}
...