Отправить объект XML по параметру на WebService, опубликованный на сервере WebLogic - PullRequest
0 голосов
/ 02 октября 2018

Я пытаюсь отправить объект XML на веб-сервис, который я опубликовал на сервере WebLogic, но даже если я делаю этот объект, он всегда принимается как ноль.

Вот код WebService испособ, которым я отправляю XML.Любые идеи?

Код JAVA Сервисный метод:

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

        ConsultarRecibosPendientesRes recibosRes = new ConsultarRecibosPendientesRes();

        String LlaveAcceso = objeto.getStrLlaveAcceso();
        recibosRes.setStrIdentificacion(LlaveAcceso);

        return recibosRes;
    }

Класс объекта, который получен параметром:

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "ConsultarRecibosPendientesReq")
public class ConsultarRecibosPendientesReq {

    @XmlElement(name = "strLlaveAcceso")
    protected String strLlaveAcceso;

    public ConsultarRecibosPendientesReq(){ }

    public String getStrLlaveAcceso() {
        return strLlaveAcceso;
    }

    public void setStrLlaveAcceso(String strLlaveAcceso) {
        this.strLlaveAcceso = strLlaveAcceso;
    }
}

Объект QueryReceivePendientesReq всегда нулевой.Кто-нибудь знает как это исправить?

1 Ответ

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

Сначала я сделал некоторые изменения в классе объекта, получаемого параметром:

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "consultarRecibosPendientesReq", propOrder = {
    "strLlaveAcceso"
})
public class ConsultarRecibosPendientesReq {

    protected String strLlaveAcceso;

    public String getStrLlaveAcceso() {
        return strLlaveAcceso;
    }
    public void setStrLlaveAcceso(String value) {
        this.strLlaveAcceso = value;
    }
}

Я внес изменение в метод WebService:

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

И, наконец,Я внес изменения в отправляемый XML, добавил предложение «web» в теги «method» и «target name space», пример:

<?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>
                <strLlaveAcceso>llave de acceso</strLlaveAcceso>
            </oReq>
        </web:ConsultarRecibosPendientes>
    </soap:Body>
</soap:Envelope>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...