加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-17 02:55:52 所属栏目:安全 来源:网络整理
导读:jbuilderX的webservice入门(服务器端和客户端)多图 ? 导读: 本文结合实际制作一个web service的服务器端和多种方式的客户端的测试。服务器端利用jbuilderX结合tomcat来发布,客户端用java方式和php方式,还利用xmlspy这个工具软件。 最后提供这个源代码下

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读