`
ynp
  • 浏览: 438389 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

异构语言交互访问 解决方案及例子(一)

阅读更多
异构语言交互访问 解决方案及例子(一)
方案一
后台 c++实现 、前端java调用
开源库:后端jsonrpc库 前端:jsonrpc4j
方案二
采用webservice实现
后台 c++实现 、前端java调用
开源库:后端:gsoap 前端:cxf

jsonrpc4j 库测试

---》服务端
import java.io.IOException;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.googlecode.jsonrpc4j.JsonRpcServer;

public class HelloWorldServlet extends  HttpServlet {
    private static final long serialVersionUID = 3638336826344504848L;
    private JsonRpcServer rpcService = null;
    @Override
    public void init(ServletConfig config) throws ServletException {
        super.init(config);
        rpcService = new JsonRpcServer(new HelloWorldService(), HelloWorldService.class);
    }

    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        rpcService.handle(req, resp);    
    }
}




public class HelloWorldService{
public String SayHello(){
String s =  "hello!";
System.out.println(s);
return s;
}
}


---》客户端

import java.net.URL;

import com.googlecode.jsonrpc4j.JsonRpcHttpClient;

public class JavaRpcTest {
/**
* @param args
* @throws Throwable
*/
public static void main(String[] args) throws Throwable {
JsonRpcHttpClient client = new JsonRpcHttpClient(new URL("http://127.0.0.1:8888/javaRpcTest/index.json"));
        String properties = client.invoke("SayHello", null, String.class);
        System.out.println(properties);
}
}
分享到:
评论
2 楼 ynp 2014-04-18  
不是文件,上面是个servlet,下面是调用连接到这个servlet,只需要在web.xml中配置映射到这个servlet就行。
kluevy 写道
你好,index.json 这个是什么啊,Exception in thread "main"
我测试时NEW URL那行报错java.io.FileNotFoundException:

不是文件,只是个调用servlet的连接,只需要在web.xml中配置映射到这个servlet就行。
<servlet>
<servlet-name>rpcTest</servlet-name>
<servlet-class>HelloWorldServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>rpcTest</servlet-name>
<url-pattern>/index.json</url-pattern>
</servlet-mapping>
参考一下 这个文章吧 写的比较全 http://gubaojian.blog.163.com/blog/static/1661799082012101439591/
1 楼 kluevy 2013-12-26  
你好,index.json 这个是什么啊,Exception in thread "main"
我测试时NEW URL那行报错java.io.FileNotFoundException:

相关推荐

    异构语言交互访问 解决方案及例子(二)

    标题 "异构语言交互访问 解决方案及例子(二)" 暗示了这篇内容主要探讨的是在不同编程语言之间进行互操作性的问题。在IT领域,这通常涉及到跨平台通信、Web服务或者分布式系统的设计。在这个场景下,一个常见的解决...

    多视图例子.多视图例子.多视图例子.

    在IT领域,多视图(Multi-View)是一种常见的概念,尤其在数据挖掘、机器学习、计算机图形学和...通过学习和实践这些例子,开发者和研究人员能够更好地掌握如何在实际项目中运用多视图技术,提升解决方案的效率和质量。

    【推荐】吴小伟-Kubernetes 管理复杂异构应用在端点Dice平台中的实践

    Kubernetes,作为当前容器编排领域的主流技术之一,在复杂异构应用的管理与部署方面扮演着至关重要的角色。...通过集成市场(marketplace)功能,它还能够将各种云产品和服务整合进来,为用户提供一站式的解决方案。

    Designing, Building And Deploying Messaging Solutions

    这样的集成解决方案必须面对一些基本的挑战,比如网络不可靠、网络延迟、应用程序的异构性以及应用程序随时间的不断变化。 网络不可靠性要求集成方案能够处理数据在网络中传输时可能出现的延迟或中断问题。网络的...

    Corba编程。。

    3. **分布式计算基础**:CORBA为分布式计算环境中的对象交互提供了一套完整的解决方案。 **CORBA的基本架构包括:** 1. **客户端发起请求**:客户端应用通过本地ORB(Object Request Broker)向远程对象发送请求。...

    c# thrift demo

    Thrift是一种开源的跨语言服务开发框架,由Facebook于2007年发布,旨在提供高效、灵活且可扩展的远程过程调用(RPC)解决方案。它允许开发者定义服务接口和服务数据类型,然后自动生成支持多种编程语言的客户端和...

    双向适配器

    在实际项目中,例如整合第三方库或模块,或者在旧系统与新系统之间建立接口,双向适配器都是一个值得考虑的解决方案。通过深入研究“bothwayAdapter”这个示例,开发者可以更直观地理解双向适配器的工作机制,并将其...

    面向移动高端装备的银河衡芯敏捷交换芯片.docx

    银河衡芯敏捷交换芯片则针对这些限制,提供了一种端到端的解决方案,减少了平台开发的复杂性,实现了网络的透明化操作,并且能够卸载计算任务,减轻CPU负担,提升整体计算性能。 HX-DS40是这一系列芯片的一个例子,...

    数据库中间件技术.pdf

    数据库中间件技术是一种重要的软件解决方案,它允许应用程序与各种不同的数据库系统进行交互,无论是同构还是异构环境。在当前的IT领域,多种数据库系统共存,如Oracle、SQL Server、Sybase、MySQL和Informix等,...

    SOA中ESB框架

    ### SOA中ESB框架的关键知识点 #### 一、SOA与ESB的基本概念 ...LightESB作为一种轻量级的消息框架,不仅解决了传统ESB产品存在的问题,还提供了更为高效、灵活的解决方案,为企业应用的集成带来了新的可能性。

    第5章物联网中间件28.pptx

    - 解决方案中间件阶段:提供针对特定业务场景的完整解决方案。 通过以上内容,我们可以了解到物联网中间件在物联网系统中的核心地位,它是连接感知层、网络层和应用层的关键技术,对于构建高效、灵活、可扩展的...

    基于XML的数据据交换的实现.pdf

    综上所述,基于XML的数据交换实现不仅解决了HTML在高级应用中的局限性,而且通过其灵活的数据描述能力和强大的规范性,为跨平台的数据交换提供了有效解决方案。此外,随着XML相关技术的不断发展和完善,其在各行各业...

    TAO编程指南.doc

    CORBA提供了一种独立于网络协议、编程语言和软硬件平台的解决方案,使不同系统之间能够轻松共享对象和服务。 - **TAO (The ACE ORB)**: 是基于C++的一种高性能、可扩展的实时CORBA平台。由美国华盛顿大学的Douglas C...

    软件构件与中间件技术

    数据库中间件如Oracle RAC,提供了数据库集群解决方案,增强了数据访问的可用性和性能。 在软件构件与中间件技术的学习中,我们还会接触到EJB(Enterprise JavaBeans)、JMS(Java Message Service)和SOA(Service...

    基于组件的弹性异构网络物理组件协同建模和有效性共同验证的方法

    以上知识点围绕着计算机科学中的系统设计、网络建模、系统验证等核心领域,并涉及到了当前数字化和网络化趋势下的重要问题和解决方案。通过对这些概念的深入理解和应用,IT专业人士可以在设计和开发复杂系统时更加...

    《SAP高级应用开发》源代码

    通过深入研究这份《SAP高级应用开发》源代码,开发人员不仅能提升他们的编程技能,还能更好地理解和利用SAP的最新技术趋势,从而为企业提供更高效、更灵活的解决方案。无论你是SAP初学者还是经验丰富的开发者,这份...

    12-复习重点.ppt

    在IT领域,复习重点涉及了多个关键概念,涵盖了从传统架构到现代分布式系统的不同层面。以下是对这些知识点的详细解析...无论是开发分布式系统、构建云计算平台还是设计物联网解决方案,都需要对这些知识有深入的理解。

    SOA架构实践.pptx

    Oracle SOA套件是Oracle提供的全面集成解决方案,包括BPEL流程管理器、服务总线、业务活动监视(BAM)等组件,它在业界获得了广泛的认可和奖项,被评价为市场上最全面、最易用的SOA产品。通过这个套件,企业可以构建...

Global site tag (gtag.js) - Google Analytics