2012-05-22 63 views
0

我正在構建一個web服務服務器端。在我的web服務中,每個客戶端都需要通過json格式的POST方法傳遞它們的身份驗證參數,以滿足他們提出的每個請求。通過發佈一個良好的做法傳遞參數?在webservice中傳遞認證參數

一個人告訴我,我應該總是使用GET方法來檢索數據; POST應該只用於插入。如果是這樣,我將如何通過身份驗證參數?一個可以通過URL和另一個通過標題值。我應該使用哪種方式?

回答

0

嘗試實施此Web服務。此Web服務允許通過標題值傳遞其身份驗證參數。

@WebService(serviceName="authentication") 
public class WSAuthentication { 
String name = null; 
String password = null; 

public WSAuthentication() { 
    super(); 
} 

public WSAuthentication(String name, String password) { 
    this.name = name; 
    this.password = password; 
} 

private static String getData(WSAuthentication sec) { 
    System.out.println("********************* AUTHENTICATION ********************" + "\n" + 
    "**********USER: " + sec.name + "\n" + 
    "******PASSWORD: " + sec.password + "\n" + 
    "******************************** AUTHENTICATION ****************************"); 
    return sec.name + " -- " + sec.password; 
} 

@WebMethod(operationName="security", action="authenticate") 
@WebResult(name="answer") 
public String security(@WebParam(header=true, mode=Mode.IN, name="user") String user, @WebParam(header=true, mode=Mode.IN, name="password") String password) { 
    WSAuthentication secure = new WSAuthentication(user, password); 
    return getData(secure); 
} 
} 

而且我使用POST方法進行響應。我希望能幫助你。

+0

您如何從客戶端傳遞價值?我正在使用球衣 WebResource webResource = client.resource(url); webResource.header('user','adgsege'); 是這樣好嗎? – user510783