【问题标题】:JAX-WS to return multiple valuesJAX-WS 返回多个值
【发布时间】:2012-01-18 07:14:17
【问题描述】:

我正在尝试编写一个简单的 web 服务,它将获取参数并返回三个不同的参数。

我可以通过以下代码实现这一点。但问题是 setter 方法也包含在 Web 服务中。例如,我想保护“setTransactionID”被排除在 web 服务方法中。如何修改代码?

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中的setter方法。 如何排除 setter 方法?

【问题讨论】:

  • 您能否简单地将 setTransactionID() 重命名为 setTransactionID_please_dont_export_that_method() 之类的名称,或者更简洁的名称?
  • 或者可以简单地将 setTransactionID() 包私有化?
  • 啊,我想我认为您并不真正关心界面,而是关心安全性,对吧?在这种情况下,您可能应该研究有状态的 bean:jax-ws.java.net/nonav/2.2.5/docs/statefulWebservice.html 不可能像您现在尝试的那样保护小块纯文本 XML 数据。

标签: java web-services annotations glassfish jax-ws


【解决方案1】:

我认为您只是不想在输出中获取 TransactionId。如果是,则仅在 get 方法上使用 @XmlTransient 属性。

【讨论】:

    猜你喜欢
    • 2012-07-09
    • 1970-01-01
    • 1970-01-01
    • 2012-12-01
    • 1970-01-01
    • 2010-12-02
    • 2013-02-26
    • 2013-12-04
    • 1970-01-01
    相关资源
    最近更新 更多