在查找部署在WebSphere 8.5上的EJB 3.1时,我遇到了问题.
请建议我:
>我需要在classpath中包含哪些库?
>如何构建查找字符串?
>服务器端是否需要更改任何设置?
注意:我正在使用Eclipse IDE
解决方法
试试这个 :
>将com.ibm.ws.ejb.thinclient_8.5.0.jar和com.ibm.ws.orb_8.5.0.jar jars添加到客户端应用程序的类路径中.
>通过运行createEJBStubs.sh脚本生成客户端存根.
在< WAS_HOME> / bin目录下找到createEJBStubs.sh脚本.
语法:./ createEJBStubs.sh< ejbJarName> .jar
>将生成的jar添加到客户端应用程序的类路径中.
>为EJB提供自定义JNDI名称,如下所示:
打开WebSphere控制台,在左侧面板上单击Applications>所有应用程序.
单击已部署的应用程序.
单击Enterprise Java Bean Properties下的Bind EJB Business.
在JNDI名称列下为EJB设置自定义JNDI名称.例如customLookupString
客户代码示例:
public class WebSphereClient { public static void main(String[] args) { Properties props = new Properties(); props.put(Context.INITIAL_CONTEXT_FACTORY,"com.ibm.websphere.naming.WsnInitialContextFactory"); props.put(javax.naming.Context.PROVIDER_URL,"iiop://localhost:2818"); TestBeanRemote bean = null; Object obj; try { InitialContext ctx = new InitialContext(props); obj= ctx.lookup("customLookupString"); if (obj instanceof TestBeanRemote) { bean = (TestBeanRemote) obj; } System.out.println("Name : "+bean.getName()); } catch (NamingException e) { e.printStackTrace(); } } }
以上代码和流程对我有用.