JBoss开发Web Service

原创 2007年09月30日 11:39:00

JBoss开发Web Service

作者:kongxx

配置

使用JBoss版本3.2.3

JBoss.Net是用来提供Web Service的模块,建立在ApacheAxis项目之上。通常我们使用的“defaultserver中不包括JBoss.Net服务,而是包含在“allserver中。因此如果需要使用Web Service则需要使用“allserver,或者新建一个server来提供Web Service

$JBOSS_HOME/server/下新建一个目录(如:kongxx),然后复制$JBOSS_HOME/all下所有文件到kongxx下,使用一下命令启动JBoss

run –c kongxx

待启动JBoss成功后,用浏览器访问http://192.168.0.201:8080/jboss-net/services,则会出现以下页面:

  此时说明配置已经成功。

开发Web Service

JBoss引入了一种框架类型-Web Service archiveWSR-来开发和部署Web ServiceWSR其实就是一种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,出现以下页面:

其中已经包含了HelloWorldWeb 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"));

运行后输出:

Hello world , kongxx

 表明Web Service运行正确。


 

Eclipse + Jboss + CXF构建Web Service服务

搭建Web Service需要的以下支持; 1. CXF

Jdev 开发 Web Service

  • 2017年11月01日 17:18
  • 1.95MB
  • 下载

开发Web Service之二:WSDL逆向生成服务端 .

一般开发Web Service,是选写服务端,再根据生成的WSDL文件生成客户端。看过一本SOA的书中说,如果实现防止不同语言一些特定的数据类型的不兼容性,推荐先定义WSDL接口,包括一输入输出参数、...

用axis2开发web service

  • 2010年05月06日 17:37
  • 853KB
  • 下载

【原创】PB开发Web Service接口环境搭建及问题解决

工作需要用WebService方式做接口,折腾了半月,走了无数弯路,才初见眉目。为了避免坚守PB开发的老中青同学们以后遇到同样的问题,在此做个简要总结。   ——by nocry115/泥草鞋前言:...

C#开发和调用Web Service实例

  • 2013年06月04日 10:26
  • 36KB
  • 下载

Web Service入门开发简单例子--很详尽

.net平台内建了对Web Service的支持,包括Web Service的构建和使用。与其它开发平台不同,使用.net平台,你不需要其他的工具或者SDK就可以完成Web Service的开发了。....
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JBoss开发Web Service
举报原因:
原因补充:

(最多只允许输入30个字)