关闭

jbuilderX的webservice入门(服务器端和客户端)多图

1908人阅读 评论(0) 收藏 举报

jbuilderX的webservice入门(服务器端和客户端)多图

 

导读:

本文结合实际制作一个web service的服务器端和多种方式的客户端的测试。服务器端利用jbuilderX结合tomcat来发布,客户端用java方式和php方式,还利用xmlspy这个工具软件。
最后提供这个源代码下载。
有兴趣的同学可以这样联系我:MSN:j2me@mail.china.com



1.服务器端:

 

2.客户端:

1.JAVA方式

2.PHP方式

3.Xmlspy方式


3.原代码下载:
目前无空间存放,有兴趣可以同我联系:j2me@mail.china.com

 

 

 

 

 

web service服务器端,这里我们使用jbuilerX来做。

 

步骤:

 

1WebServiceTestproject


2.开始一个新的webservice,点击webservices designer

中间我们只选module type server端的,客户端的我们另外建项目,

copy admin/console 是为之后我们发布时查看之用,

中间须建一个web module,我们新建一个felio的,一路next下来,最后成这样:

 

next之后会到这里了

 

 

3.这时我们要先为web services 建一个发布的类,这个就是我们要发布的内容了。

我们新建一个classReceive


值得注意的是:必须为这个类的成员变量get/set的方法(bean),这样发布出去的参数才能被客户端接收到, 在这里我们设置的接收方法是:reveiveInfo

参数为int idString类型的 name,当然了其他类型也是可以的,如对象类型,MAP类,等等。

最后就是这样:



4.好了,我们把上面的reveiveInfo 方法让能发布出去,回到刚才的web services designer



把我们刚才的class指定到class or interface里去,

这时能看到所有的方法了,这样基本上就可以搞定了

编译这个项目,tomcat 启动,管理界面:

view 链接里面就是web services发布的地址了:http://localhost:8080/felio/services/Receive?wsdl

 

soap monitor是一个applet的监视器,不过要设置一下,不过每次设置一下之后编译都会被他覆盖掉,没有好的办法来测试了,最后我们用xml spy 2006来测试了。



客户端测试:

 

 

 

1. Java方式:

可以新建一个工程来测试,但方便起见,我们就在刚才的工程下:webservices ->web service configuration

client only



之后我们在design界面下import from url来引入web service

我们可以看到开始定义的方法都能看的到了



左边他会生成一个generated 目录下一些类:



之后要测试的话,我们要用他自动生成的ReceiveServiceTestCase.java这个类了

在里面加入main方法:

public static void main(String[] args) {

      ReceiveServiceTestCase t= new ReceiveServiceTestCase("TEST");

      try {

        t.test5ReceiveReveiveInfo();  //里面的方法名具体看客户端生成的情况了

      }

      catch (Exception ex) {

      }

    }

 

之后在上面的test5ReceiveReveiveInfo()方法里加入我们的参数:

//value = binding.reveiveInfo(0, new java.lang.String());

这一行改成有参数的:

        value = binding.reveiveInfo(99, "我是felio");

 

好了,为这个类调试一下了:

make一下,我们可以看到在tomcat下,会出现:



看来成功了.YEAH。。。。。。。


2. Php 方式

我们需要一个成熟的web service解析类库,nusoap,听说php5已经支持web service了,不过没用过,这里我们用nusoap来试试了,sourceforge上的版本为0.7.1,地址为:http://sourceforge.net/projects/nusoap/ 

代码如下:

<?

require_once('./nusoap/lib/nusoap.php');

 

$client = new soapclient("http://localhost:8080/felio/services/Receive?wsdl", true);

 

$err = $client->getError();

if ($err) {

echo '操作失败' . $err ;

}

 

//reveiveInfo web service接收的方法名

//传递的参数放到一个数组里面来,对象也是一样

$result = $client->call('reveiveInfo',array("id"=>123456,"name"=>"我是felio"));

 

// Check for a fault

if ($client->fault) {

echo "失败";

}

else {

// Check for errors

$err = $client->getError();

if ($err)

echo "失败";

else        {

        // Display the result

        echo '返回成功';

        print_r ($result);           

}

}

 

?>

 

 


可以看到测试成功了:

PS:我在nusoap包里要输出的XML打印了出来:

 

        echo $soapmsg;

如果实际用,大家可以把他关掉:


3. Xmlspy方式

 

XMLSPY里很方便的SOAP工具,太棒了,他里面还可以帮你分析调用的方法名,有用的工具还不少,调试下来就很爽了




输入地址:

马上可以看到,他已经帮我们生成客户端了,太方便了:



之后发送请求给服务器:

成功~~~

 

源代码下载:
目前无空间存放,有兴趣可以同我联系:j2me@mail.china.com

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:107137次
    • 积分:1441
    • 等级:
    • 排名:千里之外
    • 原创:39篇
    • 转载:0篇
    • 译文:0篇
    • 评论:16条
    文章分类
    最新评论