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应用服务器上构建Web Service的全面指南,涵盖从安装配置到开发、测试、安全及高级特性应用的全过程。重点包括JBossWS的...
总结,JBoss作为一款强大的Java应用服务器,提供了丰富的J2EE服务和高级特性,其安装、配置和部署过程相对简单,适合开发和部署各种企业级应用。通过理解和掌握这些基础知识,开发者能够更有效地利用JBoss来构建和...
首先,"jboss-web.xml"是JBoss特定的Web应用程序部署描述符,它是Tomcat中的web.xml在JBoss环境中的扩展。这个文件主要负责定义应用的Servlet、过滤器、监听器以及与EJB交互的JNDI(Java Naming and Directory ...
3. **Java EE兼容性**:作为Java EE的一部分,JBoss Web支持EJB(Enterprise JavaBeans)、JMS(Java Message Service)、JTA(Java Transaction API)等服务,为开发企业级应用提供了一个全面的框架。 4. **安全...
mac linux 用 JBoss Restful 搭建Restful web service demo
JBoss Web,全称为JBoss Application Server的Web容器部分,是Red Hat公司开发的一款开源Java Servlet和JavaServer Pages(JSP)容器,它是JBoss应用服务器的重要组成部分。在本案例中,我们讨论的是2.1.0.GA版本,...
【JBOSS开发人员指南】 在IT行业中,JBoss是一个非常重要的开源中间件,由Red Hat公司维护,主要用于实现企业级应用服务器的功能。本指南旨在为开发者提供全面、深入的JBoss开发知识,帮助他们更好地理解和运用这个...
在JBoss中,我们可以将一个WEB应用配置为默认应用程序,使得用户可以通过IP地址直接访问,而无需在URL中指定具体的工程名。这个过程涉及到对JBoss服务器配置的深入理解和XML文件的编辑。 标题所指的"将WEB应用发布...
完成开发后,需要将应用打包为WAR(Web Application Archive)或EAR(Enterprise Application Archive)文件,然后将其复制到JBoss的deploy目录下。服务器会自动检测新部署的应用并启动。 9. ** ejbwJboss.eBook....
《JBoss开发技术文档》是针对企业级应用服务器JBoss的详细指南,旨在帮助开发者深入理解和熟练运用这一开源Java EE应用服务器。本文档分为两大主要部分:JBoss入门和JBoss的配置,涵盖了从安装、启动到高级特性的...
【ejb-jboss-web实例的workspace】是一个专用于开发和部署EJB(Enterprise JavaBeans)与Web应用程序的工作环境,基于JBoss应用服务器。这个工作空间集合了开发所需的各种组件、配置文件以及源代码,便于开发者进行...
例如,需要修改 web.xml 文件,以便 Jboss 服务器可以正确地查找项目的资源。 八、Jboss 服务器启动 在部署 Jboss 项目时,需要启动 Jboss 服务器,以便 Jboss 服务器可以正确地运行项目。 九、测试 在部署 ...
XFire是早先的一个Java Web Service框架,它简化了客户端和服务端的开发。在Java中,创建Web Service客户端通常涉及以下步骤: 1. **生成客户端代理类**:基于服务端的WSDL(Web Service Description Language)...
在IT行业中,开发Java企业级应用(J2EE应用)是一项关键技能,而Eclipse作为一款强大的集成开发环境(IDE)和JBoss Application Server(现在称为WildFly)作为开源的应用服务器,是Java开发者常用的选择。...
Jboss启动报Failed to parse WEB-INF/web.xml; - nested throwable错误解决方案 在Jboss应用服务器中,启动报错Failed to parse WEB-INF/web.xml; - nested throwable是一种常见的错误,本文将对此错误进行深入分析...
《精通JBoss——EJB与Web Services开发精解》是一本深入探讨企业级Java应用开发的专业书籍,专注于JBoss应用服务器的使用以及EJB(Enterprise JavaBeans)和Web Services的集成开发。本书旨在帮助读者全面掌握如何在...
JBoss 提供了丰富的服务,如JNDI(Java Naming and Directory Interface)、JMS(Java Message Service)、JTA(Java Transaction API)等。了解并掌握这些服务的使用方法,可以有效提升应用程序的性能和可扩展性。...
### JBoss ESB 开发手册概览 #### JBoss ESB 的主要特性 JBoss ESB,即Enterprise Service Bus,是Red Hat JBoss家族中的一员,专注于企业级服务总线解决方案,旨在简化不同应用程序间的集成与通信。其核心功能...
jboss7开发部署详细文档 jboss7是一个基于Java EE的应用服务器,提供了一个强大且灵活的平台来开发和部署企业级应用程序。本文档旨在指导开发者如何在jboss7上进行开发和部署, 并且介绍了如何将jboss4.2版本平滑地...
本书以丰富的示例,讲述在主流Java EE服务器——JBoss上开发Java EE程序的技术,包括Web(JSP、Servlet、MVC)、EJB(EJB 2.x)和EJB 3.0、JMS、Web Service、Hibernate、AOP等。正文讲述的所有内容,全部都有可运行...