2011-07-18 33 views
-1

我們已經部署在GlassFish中V3.01一個Java EE 6的應用,我們想對我們的一些EJB的作爲web服務,但我們有麻煩保證和認證的web服務端點。我們正在使用自定義登錄模塊和領域。我們如何去認證web服務調用?GlassFish的認證@WebService電話

感謝 基甸

@WebService 
@Stateless 
@DeclareRoles({Role.WEBMASTER, Role.ACCOUNTADMIN, Role.ACCOUNTUSER}) 
@RolesAllowed({Role.WEBMASTER,Role.ACCOUNTADMIN,Role.ACCOUNTUSER}) 
public class SmppService 
{ 
    @EJB 
    private SmppEjb ejbRef;// Add business logic below. (Right-click in editor and choose 

    @WebMethod(operationName = "sendMessage") 
    @Oneway 
    public void sendMessage(@WebParam(name = "cellNumber") 
    String cellNumber, @WebParam(name = "message") 
    String message) { 
     ejbRef.sendMessage(cellNumber, message); 
    } 

} 

回答

0

的用戶名和密碼進入的HTTP標頭。所有的soap客戶端都應該有一種方法來指定它。例如,在我們的Ruby代碼使用SOAP4R它看起來像這樣

instance = eval(@gateways[gateway]).new(url) 
instance.options["protocol.http.auth"] << [url, @auth_data[user][0], @auth_data[user][1]] 
instance.options['protocol.http.ssl_config.verify_mode'] = OpenSSL::SSL::VERIFY_NONE 

@auth_data [用戶] [0]是用戶名和@auth_data user是密碼。

如果你手工創建的頭,你必須使用Digest Access Authentication