`

客户端远程调用服务器方法

阅读更多

调用客制化方法出现如下异常信息

WARNING: The ManagerService is not initialized!  This can be caused by:
1) Attempting to invoke a server only method from a remote client
2) Attempting to invoke a method on a service from the constructor or static initializer of another service

相关实现代码:

jsp
.......
[td]//<td>
//<% ContentItem item = GotoObject.getContentItemfromContentHolder(pt);
//if(item!=null){
         
//%>
//<%=item.getDisplayIdentifier().getLocalizedMessage(Locale.CHINA)%>-<%=item.getFormatName()%>-<%=item.getDescription()%>-<%=item.getBusinessType()%><%}%>
//</td>
if(item!=null){%>
---
[/td]
.......

GotoObject.java
......
public static ContentItem getContentItemfromContentHolder(ContentHolder contentHolder){
if(contentHolder==null){
return null;
}
EPMDocument epm=null;
if(contentHolder instanceof WTPart){
epm = getEPMDocumentByWTPart((WTPart)contentHolder);
System.out.println("epm is ======="+epm);
}else if(contentHolder instanceof EPMDocument){
epm = (EPMDocument)contentHolder;
System.out.println("epm is ======="+epm);
}
try{
if(epm!=null){
epm = (EPMDocument)ContentHelper.service.getContents(epm);
Enumeration enum = ContentHelper.getContentListAll(epm).elements();

while (enum != null && enum.hasMoreElements())

{
           ContentItem item = (ContentItem) enum.nextElement();
           if(item !=null){
           ApplicationData data=(ApplicationData)item;
           try{
           ContentServerHelper.service.writeContentStream(data, "c:" + File.separator + data.getFileName());
           }catch(Exception e){
           e.printStackTrace();
           }
           return data;
           }
}
}
}catch(PropertyVetoException e){
e.printStackTrace();
}catch(WTException ex){
ex.printStackTrace();
}
return null;
}
........

 

因为使用了ContentServerHelper中的函数。

getContentItemfromContentHolder()函数只能在服务端的class中调用。

如果要在jsp中直接调用,需要采用远程方法调用。

如:

RemoteMethodServer.getDefault().invoke("getContentItemfromContentHolder",null,......);  

分享到:
评论
3 楼 cddcdd 2008-12-04  

客户端调用服务端的方法,就用远程调用
服务端调用服务端的方法,就用一般的方法调用
2 楼 chaoyy 2008-08-16  
刚查了下,需要把引用的类放置在windchill/codebase下,如果只放在编程环境下,服务器是不用装载该类的,部署后就不会出现no security manager...的错了。

无论是在IDE中还是在Windchill shell中,即便是在服务器上执行的java类,这种模式都是客户端-服务端方式,所以调用系统服务,只能用RemoteMethodServer.getDefault().invoke()方法。
1 楼 chaoyy 2008-08-15  
使用RemoteMethodServer.getDefault().invoke()方法调用服务端的方法,windchill shell中会报no security manager...的错,如何解决?

相关推荐

    RMI客户端调用远程服务器方法-远程方法调用

    以下是对“RMI客户端调用远程服务器方法”这一主题的详细解释: 一、RMI基本概念 1. 远程接口(Remote Interface):定义了可以被远程调用的方法,这些接口需要继承自`java.rmi.Remote`接口,并且可能抛出`java....

    远程方法调用(客户端调用服务端的方法)源码

    4. **客户端(Client)**:客户端通过` LocateRegistry.getRegistry()` 获取RMI注册表的引用,然后调用`Registry.lookup()` 查找并获取远程对象的引用,最后通过这个引用调用远程方法。 5. **服务器(Server)**:...

    Android客户端远程登录web服务器数据交换实例

    本文将深入探讨“Android客户端远程登录Web服务器数据交换实例”,讲解如何使用MySQL数据库、JSON数据传输以及Struts2、JavaBean和Servlet等技术。 首先,让我们了解一下MySQL数据库。MySQL是一款开源的关系型...

    客户端调用服务器端例子

    在IT行业中,客户端调用服务器端的例子是一种常见的交互模式,特别是在Web开发中。这个例子主要涉及到了Ajax(异步JavaScript和XML)技术,用于实现客户端与服务器端的远程调用。Ajax允许网页不需重新加载整个页面的...

    java RMI客户端调用远程服务器系统命令

    在RMI中,客户端和服务器端都需要定义一个远程接口(Remote Interface),这个接口声明了可供远程调用的方法。这些方法必须抛出`java.rmi.RemoteException`,因为远程调用过程中可能会出现网络通信问题。例如: ```...

    三种方式实现java远程调用(rmi),绝对可用

    在提供的压缩包文件中,"三种方式(原始方式_spring_jndi)实现java远程调用(rmi)"包含了相关的示例代码,帮助开发者理解并实践这三种RMI实现方法。在MyEclipse或其他Java开发环境中导入这些代码,可以进行调试和...

    windows网络编程电子书,内容包括NetBIOS和Windows重定向器方法、Winsock方法、客户端远程访问服务器方法。本书论述深入浅出、用大量实例详解了微软网络API函数的应用

    4. **客户端远程访问服务器方法**:这部分内容主要涉及如何设计和实现客户端程序与远程服务器的交互。这通常包括网络连接的建立、数据的请求和响应、错误处理等。书中将介绍如何使用HTTP、FTP等常用协议来实现客户端...

    tcp 客户端服务器程序

    在这个场景中,我们讨论的是一个用C++编写的TCP客户端和服务器程序,它还采用了多线程技术,这使得程序能够同时处理多个连接,提升效率。 首先,我们要理解TCP连接的工作原理。TCP是面向连接的协议,即在数据传输前...

    java rmi远程方法调用 客户端

    4. **客户端(Client)**:通过RMI机制与远程服务器交互的应用程序,它可以获取远程对象的引用并调用其方法。 5. **服务器(Server)**:运行远程实现的地方,它暴露远程对象给客户端调用。 在RMI客户端的实现中,...

    android AIDL 多个客户端调用一个服务器代码

    在客户端,首先需要通过`IBinder`获取服务端的接口实例,然后就可以像调用本地对象一样调用远程服务的方法。这通常通过`bindService()`和`onServiceConnected()`回调完成: ```java private IMyService myService...

    c#远程调用linux服务器的Python脚本(csdn)————程序.pdf

    标题中的"C#远程调用Linux服务器的Python脚本"指的是使用C#编程语言从Windows客户端远程执行在Linux服务器上托管的Python脚本。这通常涉及到跨平台通信和远程过程调用(RPC)技术。描述中提到的问题和解决方案集中在...

    WebService客户端调用服务器数据库

    【WebService客户端调用服务器数据库】 在信息技术领域,WebService是一种基于开放标准(如XML、WSDL和SOAP)的互操作协议,允许不同系统之间交换数据。本文将深入探讨如何使用WebService客户端来调用服务器上的...

    java服务器客户端Socket调用基本功能

    本文将深入探讨如何使用Java实现服务器客户端之间的Socket调用,并通过具体的示例代码来阐述基本功能。 首先,我们需要理解Socket的工作原理。Socket可以被视为网络上的端点,允许应用程序在两个网络连接之间建立...

    C#远程调用简单示例

    在IT领域,远程调用是一种关键技术,它允许一个应用程序组件(客户端)调用另一个在不同地址空间运行的应用程序组件(服务器)的方法,就像它们在同一进程内一样。在本示例中,我们关注的是C#语言中的远程调用,具体...

    客户端调用webservice所需完整jar包

    当我们谈论“客户端调用WebService”时,通常是指一个客户端应用程序通过特定的API与远程服务器上的WebService接口进行交互,获取或发送数据。在这个场景下,标题提到的“客户端调用WebService所需完整jar包”是一组...

    OPC C++ 客户端远程服务器.rar

    在“OPC C++ 客户端远程服务器.rar”这个压缩包中,我们看到的是一个使用C++编写的OPC客户端,它能够与远程服务器进行通信。 在OPC技术中,客户端通常负责请求数据、订阅更新或执行服务器上的方法,而服务器则提供...

    分布式软件开发 远程调用实例

    在“RemotingCall”这个实例中,你可以期待找到一个具体的.NET Remoting远程调用示例,涵盖了服务器端的设置、客户端的调用代码以及可能的配置文件示例。通过学习和实践这个实例,开发者可以深入理解.NET框架下的...

    java远程调用kettle说明与代码.pdf

    Java远程调用Kettle说明与代码 Java远程调用Kettle是一种基于Java的ETL(Extract、Transform、Load)工具,能够对数据进行提取、转换、加载,以满足不同业务需求。Kettle提供了名为Carte的Web Server程序,也被称为...

    java远程调用方法总结

    远程接口定义了可供远程调用的方法,它必须继承自`java.rmi.Remote`接口。远程对象则是实现了这个远程接口的类实例,它驻留在服务器端,负责处理客户端的调用请求。RMI通过Java序列化机制将方法调用和参数封装成消息...

Global site tag (gtag.js) - Google Analytics