[RESOLVIDO] Consumir serviço autenticado por JDBCRealm

Senhores, estou com o seguinte problema, tenho um Web Service onde a autenticação é deixada a cargo do JDBCRealm. Preciso consumir um serviço, porém não sei como enviar usuário e senha quando estou em uma classe normal. Consumir através de uma servlet é fácil:

public testservice.TestWS getTestWSPort() { testservice.TestWS port = service.getTestWSPort(); ((BindingProvider)port).getRequestContext().put(BindingProvider.USERNAME_PROPERTY, "zezim"); ((BindingProvider)port).getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, "123"); return port; }

Porém, se eu tiver em uma classe normal eu não consigo autenticar desta maneira…
Se alguém tiver um caminho diz ae!
[ ]'s

Consegui!
Quando geramos um Web Service Client no eclipse são geradas automaticamente algumas classes.
No nosso caso, precisamos alterar a seguinte classe xxxPortBindingStub (xxx = nome do seu serviço). Nesta classe temos todos os métodos disponíveis no nosso serviço, e são nestes que devemos inserir apenas mais duas linhas de código para que possamos enviar User / Password para sermos autenticados:

public TestService.GenericBean getTestById(java.lang.Integer idNew) throws java.rmi.RemoteException {
        if (super.cachedEndpoint == null) {
            throw new org.apache.axis.NoEndPointException();
        }
        org.apache.axis.client.Call _call = createCall();
        _call.setOperation(_operations[1]);
        _call.setUseSOAPAction(true);
        _call.setSOAPActionURI("");
        _call.setEncodingStyle(null);
        _call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR, Boolean.FALSE);
        _call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS, Boolean.FALSE);
        _call.setProperty(org.apache.axis.client.Call.USERNAME_PROPERTY, "ze");     //Acrescentar esta linha!
        _call.setProperty(org.apache.axis.client.Call.PASSWORD_PROPERTY, "123"); //Acrescentar esta linha!
        _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
        _call.setOperationName(new javax.xml.namespace.QName("TestService", "getTestById"));

        setRequestHeaders(_call);
        setAttachments(_call);
 try {        java.lang.Object _resp = _call.invoke(new java.lang.Object[] {idNew});

        if (_resp instanceof java.rmi.RemoteException) {
            throw (java.rmi.RemoteException)_resp;
        }
        else {
            extractAttachments(_call);
            try {
                return (TestService.GenericBean) _resp;
            } catch (java.lang.Exception _exception) {
                return (TestService.GenericBean) org.apache.axis.utils.JavaUtils.convert(_resp, TestService.GenericBean.class);
            }
        }
  } catch (org.apache.axis.AxisFault axisFaultException) {
  throw axisFaultException;
  }
}

Desta maneira o usuário e senha são embutidos no cabeçalho da requisição.
[ ]'s