Weblogic conexão EJB remota erro Security:090398

12 04 2016

Problema

Estava tentando fazer uma conexão remota em um EJB 2.0 no weblogic 10.3.3 e ocorria o seguinte erro.

java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[weblogic, Administrators]

Detalhe que esse erro só ocorria quando executado o cliente de dentro do weblogic, se eu executava de uma main a conexão funcionava

Solução

Verifiquei que quando executado o codigo de chamada remota EJB de dentro do weblogic, o mesmo requisita autenticação de usuário, promovendo assim uma maior segurança.

Então a solução foi criar um usuário no servidor remoto e coloca-lo com o grupo _crossdomain connector_

E depois disso colocar a autenticação no código cliente.

public void addToQueueOnLegacy() {
	InitialContext ic = null;
	try {
		java.util.Properties ht = new java.util.Properties();
		ht.put(javax.naming.Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
		ht.put(javax.naming.Context.PROVIDER_URL, "t3://IP:8080");
		ht.put(javax.naming.Context.SECURITY_PRINCIPAL, "guest");
		ht.put(javax.naming.Context.SECURITY_CREDENTIALS, "guest#password");
		ic = new InitialContext(ht);
		ManageQueueHome objref = (ManageQueueHome) ic.lookup("Multibras.ManageQueueHome");
		ManageQueueHome home = (ManageQueueHome) PortableRemoteObject.narrow(objref, ManageQueueHome.class);
		ManageQueue manageQueue = home.create();
		manageQueue.addToQueue("XYZ", "file_name.xml", 12);
		System.out.println("Chamada EJB remota realizada com SUCESSO \o/");
	} catch (Exception ex) {
		throw new EmpresaException(ex);
	} finally {
		closeContext(ic);
	}
}

private void closeContext(InitialContext ic) {
	if (ic != null) {
		try {
			ic.close();
		}
		catch (Exception e) {
			throw new EmpresaException(e);
		}
	}
}
Anúncios

Ações

Information

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s




%d blogueiros gostam disto: