您的位置:首页 > 产品设计 > UI/UE

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

2006-06-15 23:11 218 查看
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来做。
 

步骤:

 

1.WebServiceTest的project



2.开始一个新的webservice,点击webservices designer
中间我们只选module type 为server端的,客户端的我们另外建项目,
copy admin/console 是为之后我们发布时查看之用,
中间须建一个web module,我们新建一个felio的,一路next下来,最后成这样:
 



next之后会到这里了


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



值得注意的是:必须为这个类的成员变量get/set的方法(bean),这样发布出去的参数才能被客户端接收到, 在这里我们设置的接收方法是:reveiveInfo
参数为int 的id,String类型的 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息