JAX-WS для возврата нескольких значений - PullRequest
0 голосов
/ 18 января 2012

Я пытаюсь кодировать простой веб-сервис, который получит параметры и вернет три разных параметра.

Я могу добиться этого с помощью следующих кодов.Но проблема в том, что метод setter также включен в веб-сервис.Например, я хочу защитить setTransactionID, чтобы исключить его из методов веб-сервиса.Как мне изменить код?

package OKS;

import javax.jws.WebMethod;

import javax.jws.WebParam;

import javax.jws.WebService;

@WebService

public class CheckCredit {

@WebMethod

public Result GetResult(@WebParam(name="username") String username,@WebParam(name="password") String password) {

Result res= new Result();

    if ((username!=null)&&(password!=null)) {

        if ((username.equals("xyz"))&&(password.equals("123"))) {

            res.setResultType(1);

            res.setTransactionID("tr12128");

            res.setCredit(1220);

        } else {

            res.setResultType(0);

            res.setTransactionID("cr12128");

            res.setCredit(0);

        }

    } else {

        res.setResultType(0);

        res.setTransactionID("er12128");

        res.setCredit(0);

    }

    return res;

}

}

Результат класса

package OKS;

public class Result {

int resultType;

String TransactionID;

int Credit;

public void setResultType(int resultType) {

    this.resultType = resultType;

}

public void setTransactionID(String transactionID) {

    TransactionID = transactionID;

}

public void setCredit(int credit) {

    Credit = credit;

}

public int getResultType() {

    return resultType;

}

public String getTransactionID() {

    return TransactionID;

}

public int getCredit() {

    return Credit;

}

}

Эта служба компилируется и работает нормально.Но он также включает метод установки в WebService.Как я могу исключить методы сеттера?

1 Ответ

0 голосов
/ 18 января 2012

Я думаю, вы просто не хотите получать TransactionId в выводе. Если это так, чем просто использовать атрибут @XmlTransient в методе get.

...