如何使用带有两个参数的方法创建Web服务

kit*_*ttu 1 java web-services jax-ws

例如,我必须创建一个具有以下详细信息的Web服务:

Web服务名称是WS1方法名称是initiantBatchProcess(字符串状态,整数BatchID)

我已经尝试过使用一个参数进行以下操作,但是如何使用两个参数进行操作并在webservice / soap的响应中返回它

public class WS1 
{
    int status;

    @WebMethod(operationName="status")
    public int status(int status) {
        return status;
    }
}
Run Code Online (Sandbox Code Playgroud)

Cri*_*ian 5

您只需添加另一个参数。@WebParam的使用是可选的,如果需要或抛弃它,请保留它。

@WebMethod(operationName="initBatch")
public void initiateBatchProcess(@WebParam(name = "Status") String Status, 
                   @WebParam(name = "Batch") int BatchID) {
      //do stuff
}
Run Code Online (Sandbox Code Playgroud)

LE:

因此,如果您想发回不止一件东西,我能想到的最佳解决方案是将这些东西封装到单个对象中。

@WebMethod(operationName="initBatch")
public RezultSet initiateBatchProcess(String status, int batchID) {

      //do stuff

    ResultSet result = new ResultSet();
    result.setStatus(status);
    result.setBatchId(batchID);
    return result;
    /*
    *Or you can do something like 
    *return new ResultSet(status, batchID);
    */

}
Run Code Online (Sandbox Code Playgroud)

ResultSet只是一个具有2个成员的简单bean。

public class ResultSet {

    private String status;
    private int batchID;

    // getters, setters, constructors

}
Run Code Online (Sandbox Code Playgroud)

  • 我希望我了解您想要什么,并且我的回答会有所帮助。 (2认同)