最后一次尝试UP。对CSDN失望啊
解决方案 »
- HttpServlet中的request
- 高分求错误解决方法,分少再加
- 写了一个java邮件发送的程序老提示550 用户被锁定
- 有没有使用ajax调用struts1.2的验证框架的例子啊
- 调用JAVABEAN的机制的问题
- struts2关于拦截器的配置问题
- 有人用过Jshrink混淆吗?有什么软件能给class文件加密?
- 如何默认使用xerces做解析器?
- 有jbuilder+jboss或eclipse+jboss搭配开发EJB这类书吗?
- 请问如何更改tomcat的虚似路径?
- 基于Axis2开发Web Service的时候,如何将Access数据库添加进.aar文件中呢?
- 用jdk1.5时 transformer.transform()报错
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE jboss PUBLIC "-//JBoss//DTD JBOSS 3.0//EN" "http://www.jboss.org/j2ee/dtd/jboss_3_0.dtd">
<jboss>
<unauthenticated-principal>nobody</unauthenticated-principal>
<enterprise-beans>
<!--
To add beans that you have deployment descriptor info for, add
a file to your XDoclet merge directory called jboss-beans.xml that contains
the <session></session>, <entity></entity> and <message-driven></message-driven>
up for those beans.
-->
<session>
<ejb-name>Hello</ejb-name>
<jndi-name>Hello</jndi-name>
<local-jndi-name>HelloLocal</local-jndi-name>
<invoker-bindings>
<invoker>
<invoker-proxy-binding-name>
stateless-http-invoker
</invoker-proxy-binding-name>
</invoker>
</invoker-bindings>
</session>
</enterprise-beans>
<invoker-proxy-bindings>
<!-- A custom invoker for RMI/HTTP -->
<invoker-proxy-binding>
<name>stateless-http-invoker</name>
<invoker-mbean>jboss:service=invoker,type=http</invoker-mbean>
<proxy-factory>org.jboss.proxy.ejb.ProxyFactory</proxy-factory>
<proxy-factory-config>
<client-interceptors>
<home>
<interceptor>org.jboss.proxy.ejb.HomeInterceptor</interceptor>
<interceptor>org.jboss.proxy.SecurityInterceptor</interceptor>
<interceptor>org.jboss.proxy.TransactionInterceptor</interceptor>
<interceptor>org.jboss.invocation.InvokerInterceptor</interceptor>
</home>
<bean>
<interceptor>
org.jboss.proxy.ejb.StatelessSessionInterceptor
</interceptor>
<interceptor>org.jboss.proxy.SecurityInterceptor</interceptor>
<interceptor>org.jboss.proxy.TransactionInterceptor</interceptor>
<interceptor>org.jboss.invocation.InvokerInterceptor</interceptor>
</bean>
</client-interceptors>
</proxy-factory-config>
</invoker-proxy-binding>
</invoker-proxy-bindings>
<resource-managers>
</resource-managers>
</jboss>
改动完以上部分,理论上就可以通过RMI/HTTP方式进行调用了。但实际测试中发现,如果按jboss的默认配置安装,可以正常访问JNDI但无法正常访问EJB,。在调用InitialContext的lookup时,总会抛出UnknownHostException。这个问题不知道是怎样导致的,但可以通过修改jboss的http-invoker.sar的默认配置来解决它。打开jboss\ server\default\deploy\http-invoker.sar\META-INF目录下的jboss-service.xml文件。将文件中所有的UseHostName属性的值都改为false。该属性的意思是,用主机名来构成URL串,默认是打开。但在打开放式下,无法通过测试,所以将该项关闭。
(注:在实际测试时,本人只将服务“jboss:service=invoker,type=http”和“jboss:service=invoker,type=http,target=Naming”,既第一个和第三个服务,的属性改掉,即通过了测试。)
这里说一句,楼主如果是想探讨或者是想深入的学习jboss,就应该多去尝试一下不同的操作,这里可以通过Google,或者是其他的书籍什么的方式,很多的途径,希望楼主学习愉快,呵呵