`
longgangbai
  • 浏览: 7331538 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Brap 远程访问调用 (一)

阅读更多

       在开发远程访问时,你可以选择,Hessian,Burlap,EJB,XFire,CFX,Brap等,其中Brap,Hessian,Brap他们采用的Http协议基本的方式基本相似;

服务接口如下:

package com.easyway.tornado.brap.ws;
/**
 * Brap的服务的接口
 * @author longgangbai
 *
 */
public interface IBrapService {
	  public String getHello();
	  public String setHello(String hello);
}

 

服务接口的实现:

package com.easyway.tornado.brap.ws;

import java.io.Serializable;

import no.tornado.brap.auth.AnonymousPrincipal;
import no.tornado.brap.auth.AuthenticationContext;
import no.tornado.brap.common.UsernamePasswordPrincipal;

/**
 * Brap发布远程访问的方法
 * 
 * @author longgangbai
 *
 */
public class BrapServiceImpl  implements IBrapService{

	private String hello="I'm a chinese people!";
	@Override
	public String getHello() {
		return hello;
	}

	@Override
	public String  setHello(String name) {
		Serializable principal = AuthenticationContext.getPrincipal();
		if(principal instanceof UsernamePasswordPrincipal){
			
			UsernamePasswordPrincipal  upp=(UsernamePasswordPrincipal)principal;
			return "Hello there ,"+name +" ,your username is "+upp.getUsername()+" and your password is "+upp.getPassword();
			
		}
		if (principal instanceof AnonymousPrincipal) {
			      return "Hello there, " + name + ", you are authenticated anonymously.";
	    }
		return "Hello there, " + name;
	}

}

 

服务端的Web.xml配置如下:

	<servlet>
	    <servlet-name>brapWs</servlet-name>
	    <servlet-class>no.tornado.brap.servlet.ProxyServlet</servlet-class>
	    <init-param>
	        <param-name>service</param-name>
	        <param-value>com.easyway.tornado.brap.ws.BrapServiceImpl</param-value>
	    </init-param>
	   <init-param>
	        <param-name>authorizationProvider</param-name>
	        <param-value>no.tornado.brap.auth.AuthenticationNotRequiredAuthorizer</param-value>
	    </init-param>
	</servlet>
	
	<servlet-mapping>
	    <servlet-name>brapWs</servlet-name>
	    <url-pattern>/remoting/brapWs</url-pattern>
	</servlet-mapping>

 

客户端的代码如下:

package com.easyway.tornado.brap.ws;

import no.tornado.brap.client.ServiceProxyFactory;
/**
 * Brap以Servlet方式发布并远程访问的过程
 * @author longgangbai
 *
 */
public class BrapServiceClient {
	
	public static void main(String[] args) {
		IBrapService brapService = ServiceProxyFactory.createProxy(IBrapService.class, "http://localhost:8080/SpaceCommons/remoting/brapWs");
		String message=brapService.setHello("hello");
		System.out.println("message ="+message);
	}

}

 

分享到:
评论

相关推荐

    基于Java的实例开发源码-brap(Java远程调用框架 BRAP).zip

    Java远程调用框架BRAP(Business Remote Access Protocol)是一个高效、灵活且易扩展的解决方案,专为Java开发者设计,用于实现分布式系统中的服务调用。本实例开发源码旨在帮助开发者深入理解BRAP的工作原理,并...

    Java远程调用框架 BRAP源码

    Java远程调用框架BRAP是Java开发者用于实现分布式系统间通信的一种高级工具。它提供了高效、灵活和可扩展的远程过程调用(RPC)机制,使得应用程序能够像调用本地方法一样调用远端服务器上的服务。BRAP框架的设计...

    java开源包1

    brap(Java远程调用框架 BRAP) 一个Java远程调用框架,它将原生Java对象序列化压缩装入HTTP中。它是 Spring HttpInvoker的一个轻量级选择,特别适合于当你不想在客户端程序中使用Spring框架。 API访问授权的开放标准...

    java开源包11

    brap(Java远程调用框架 BRAP) 一个Java远程调用框架,它将原生Java对象序列化压缩装入HTTP中。它是 Spring HttpInvoker的一个轻量级选择,特别适合于当你不想在客户端程序中使用Spring框架。 API访问授权的开放标准...

    java开源包2

    brap(Java远程调用框架 BRAP) 一个Java远程调用框架,它将原生Java对象序列化压缩装入HTTP中。它是 Spring HttpInvoker的一个轻量级选择,特别适合于当你不想在客户端程序中使用Spring框架。 API访问授权的开放标准...

    java开源包3

    brap(Java远程调用框架 BRAP) 一个Java远程调用框架,它将原生Java对象序列化压缩装入HTTP中。它是 Spring HttpInvoker的一个轻量级选择,特别适合于当你不想在客户端程序中使用Spring框架。 API访问授权的开放标准...

    java开源包6

    brap(Java远程调用框架 BRAP) 一个Java远程调用框架,它将原生Java对象序列化压缩装入HTTP中。它是 Spring HttpInvoker的一个轻量级选择,特别适合于当你不想在客户端程序中使用Spring框架。 API访问授权的开放标准...

    java开源包5

    brap(Java远程调用框架 BRAP) 一个Java远程调用框架,它将原生Java对象序列化压缩装入HTTP中。它是 Spring HttpInvoker的一个轻量级选择,特别适合于当你不想在客户端程序中使用Spring框架。 API访问授权的开放标准...

    java开源包10

    brap(Java远程调用框架 BRAP) 一个Java远程调用框架,它将原生Java对象序列化压缩装入HTTP中。它是 Spring HttpInvoker的一个轻量级选择,特别适合于当你不想在客户端程序中使用Spring框架。 API访问授权的开放标准...

    java开源包4

    brap(Java远程调用框架 BRAP) 一个Java远程调用框架,它将原生Java对象序列化压缩装入HTTP中。它是 Spring HttpInvoker的一个轻量级选择,特别适合于当你不想在客户端程序中使用Spring框架。 API访问授权的开放标准...

    java开源包8

    brap(Java远程调用框架 BRAP) 一个Java远程调用框架,它将原生Java对象序列化压缩装入HTTP中。它是 Spring HttpInvoker的一个轻量级选择,特别适合于当你不想在客户端程序中使用Spring框架。 API访问授权的开放标准...

    java开源包7

    brap(Java远程调用框架 BRAP) 一个Java远程调用框架,它将原生Java对象序列化压缩装入HTTP中。它是 Spring HttpInvoker的一个轻量级选择,特别适合于当你不想在客户端程序中使用Spring框架。 API访问授权的开放标准...

    java开源包9

    brap(Java远程调用框架 BRAP) 一个Java远程调用框架,它将原生Java对象序列化压缩装入HTTP中。它是 Spring HttpInvoker的一个轻量级选择,特别适合于当你不想在客户端程序中使用Spring框架。 API访问授权的开放标准...

    java开源包101

    brap(Java远程调用框架 BRAP) 一个Java远程调用框架,它将原生Java对象序列化压缩装入HTTP中。它是 Spring HttpInvoker的一个轻量级选择,特别适合于当你不想在客户端程序中使用Spring框架。 API访问授权的开放标准...

    Java资源包01

    brap(Java远程调用框架 BRAP) 一个Java远程调用框架,它将原生Java对象序列化压缩装入HTTP中。它是 Spring HttpInvoker的一个轻量级选择,特别适合于当你不想在客户端程序中使用Spring框架。 API访问授权的开放标准...

    JAVA上百实例源码以及开源项目源代码

    得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口函数得到远程接口的引用,用远程接口的引用访问EJB。 EJB中JNDI...

Global site tag (gtag.js) - Google Analytics