JBoss开发Web Service
作者:kongxx
配置
使用JBoss版本<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /><chsdate year="1899" month="12" day="30" islunardate="False" isrocdate="False" w:st="on"><span lang="EN">3.2.3</span></chsdate>。
JBoss.Net是用来提供Web Service的模块,建立在Apache的Axis项目之上。通常我们使用的“default”server中不包括JBoss.Net服务,而是包含在“all”server中。因此如果需要使用Web Service则需要使用“all”server,或者新建一个server来提供Web Service。
在$JBOSS_HOME/server/下新建一个目录(如:kongxx),然后复制$JBOSS_HOME/all下所有文件到kongxx下,使用一下命令启动JBoss:
待启动JBoss成功后,用浏览器访问http://192.168.0.201:8080/jboss-net/services,则会出现以下页面:
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /><shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"></path><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><lock v:ext="edit" aspectratio="t"></lock></shapetype>
此时说明配置已经成功。
开发Web Service
JBoss引入了一种框架类型-Web Service archive(WSR)-来开发和部署Web Service。WSR其实就是一种JAR文件。
编写Java文件
创建一个Java文件并编译,
public class HelloWorld{
public String getMessage(String name){
return "Hello world , " + name ;
}
}
|
创建描述文件
在HelloWorld.java文件所在目录下创建META-INF目录,并在META-INF目录下创建一个web-service.xml文件,内容如下:
<deployment
xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<service name="HelloWorld" provider="java:RPC">
<parameter name="className" value="HelloWorld"/>
<parameter name="allowedMethods" value="getMessage"/>
</service>
</deployment>
|
创建WSR文件
进入HelloWorld.java文件和META-INF目录所在目录,运行
jar cvf HelloWorld.wsr HelloWorld.class META-INF
|
此时会在目录下产生一个HelloWorld.wsr文件。
部署Web Service
复制HelloWorld.wsr文件到$BJOSS_HOME/server/kongxx/deploy/下,此时察看Jboss的控制台,会出现以下信息:
01:37:16,322 INFO [MainDeployer] Starting deployment of package: file:/usr/local/jboss3x/server/kongxx/deploy/HelloWorld.wsr
01:37:16,411 INFO [MainDeployer] Deployed package: file:/usr/local/jboss3x/server/kongxx/deploy/HelloWorld.wsr
|
此时在浏览器中访问http://192.168.0.201:8080/jboss-net/services,出现以下页面:
其中已经包含了HelloWorld的Web Service,此时说明已经部署成功。
测试Web Service
Java测试
创建一个测试客户端,代码如下:
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
public class TestClient {
public static void main(String [] args) {
try {
String endpoint = "http://192.168.0.201:8080/jboss-net/services/HelloWorld";
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress( new java.net.URL(endpoint) );
call.setOperationName( "getMessage" );
call.addParameter( "name", XMLType.XSD_STRING, ParameterMode.IN );
call.setReturnType( XMLType.XSD_STRING );
String ret = (String) call.invoke( new Object [] { "kongxx" });
System.out.println("Result : " + ret);
} catch (Exception e) {
System.err.println(e.toString());
}
}
}
|
编译并运行,输出以下结果:
Result : Hello world , kongxx
|
表明Web Service运行正确。
.Net测试
新建一个项目,然后再解决方案资源管理器中项目名称,在右键弹出菜单中选中添加Web引用,如下图:
此时弹出以下窗口:
在以上窗口中的URL中输入http://192.168.0.201:8080/jboss-net/services/HelloWorld?wsdl并按转到按钮,显示以下信息:
然后按下添加引用按钮,完成引用。
添加测试代码:
WebReference.HelloWorldService service = new WebReference.HelloWorldService();
Console.WriteLine(service.getMessage("kongxx"));
|
运行后输出:
表明Web Service运行正确。
分享到:
相关推荐
在JBOSS上开发WEB SERVICE指南
JBoss是纯Java的Web应用服务器,为了保证JBoss服务器的正常运行,在安装JBoss之前首先要确保系统 已经安装了JDK。可以从http://labs.jboss.com/jbossas/downloads/ 下载最新JBoss应用服务器,本章选用JBoss 4.2.2.GA...
mac linux 用 JBoss Restful 搭建Restful web service demo
jboss-web.xml jndi.properties oracle-ds.xml三个文件,EJB+JPA 所需要的一些配置文件
JBOSS开发人员指南 JBOSS开发人员指南 JBOSS开发人员指南 JBOSS开发人员指南
jboss开发技术文档
ejb-jboss-web实例的workspace ejb-jboss-web实例的workspace ejb-jboss-web实例的workspace
利用Jboss开发J2EE程序 一些例子
JBoss Web应用服务器,构建于Tomcat之上
jboss-web-2.1.0.GA.zip 绿色包
JBoss Web Server User's Guide A high performance deployment platform Java EE, PHP and CGI applications
redhat jboss for web开发和部属教材 jboss相关的书
Jboss项目部署文档
本书以丰富的示例,讲述在主流Java EE服务器——JBoss上开发Java EE程序的技术,包括Web(JSP、Servlet、MVC)、EJB(EJB 2.x)和EJB 3.0、JMS、Web Service、Hibernate、AOP等。正文讲述的所有内容,全部都有可运行...
jboss web 是在tomcat的基础之上又进行了一些修改,如果你一直在用tomcat,建议试一下jboss web,它的目录结构和tomcat的一样,使用方法也一样,但性能要好点。 最重要的是他可以在一台机器上方便的安装多个服务。
eclipse 、jboss的下载、安装和配置,使用Eclipse开发Web应用的举例说明。图文并茂绝对值得一看,java高级开发者必看
将压缩包中的xml文件直接放到WEB-INF下即可!此时你就可以直接通过IP访问了,无需带工程名! 详情请见包中的readme.txt文件!
精通JBoss——EJB与Web Services开发精解
JBoss部署Web Project时的问题——请刷新
利用jboss 在 Eclipse IDE 开发 jboss电子文档