【问题标题】:Submit a post xml request to webservice hosted on weblogic and get a response xml from client request向 weblogic 上托管的 webservice 提交 post xml 请求,并从客户端请求中获取响应 xml
【发布时间】:2019-03-04 15:01:01
【问题描述】:

我正在尝试将发布请求发送到 weblogic 中的 web 服务。 我正在使用soapui发出请求,这个工具构造了我必须发送为XML格式的对象,但是当我发送请求时它给了我错误:org.apache.http.NoHttpResponseException:目标服务器未能响应.

有什么想法吗? 我做的webservice,并不是我在咨询任何外部的。

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方法

@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;

        }
    }

【问题讨论】:

  • 您能否确认该 url 确实响应了 http 请求,例如通过浏览器?
  • URL http://IP:7001/connectivity/ConsultRecibosPendientes? WSDL,毫无问题地回答我。我真的不知道我在做什么错:(部署到 GlassFish 并没有给我带来问题,这是我处理 WebLogic 的时候。
  • 我认为您可能需要咨询负责 WebLogic 实例的任何人 - 抱歉,但这可能非常依赖于 WebLogic 和/或您的网络的详细配置。
  • 我已经知道错误是什么,但是我正在了解如何解决它。现在的问题是,WebLogic 中的 WebService 没有接收到我通过参数发送的对象,而是将其接收为 null。
  • 之前的问题是我发送的 XML 的格式。

标签: java web-services weblogic12c


【解决方案1】:

与数据库的连接很好,您只需在 WebLogic 服务器上创建一个符合我们需要的规范的“数据源”,在我的例子中是一个瘦 Oracle 实例连接。

然后,当我在代码中定义 XML 的某些属性时,生成自动 SOAP UI 的 XML 无法为我服务,我必须按照我的规范创建 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) {...}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多