分享
 
 
 

利用Axis实现基于SOAP的Web Service(II)

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

利用Axis实现基于SOAP的Web Service

简介

这是一篇用Java不到2周的新手写的关于利用Axis实现基于SOAP的Web Service的纪实性文章,里面不敢介绍什么SOAP,Axis,Web Service之类的理论知识,因为我至今还不是很懂这些,其中涉及到的你可能感兴趣的问题是:

1.如何用JBuilder 9写Web Service的服务器端和客户端;

2.如何发布Web Service;

3.如何解决Web Service中自定义对象的传递问题.

我使用的各个主要开发抱/工具/平台的情况如下:

1. JDK 1.4.0.01

2. JBuilder 9.0

3. Axis 1.1(past name is Apache SOAP 3.0)

4. Xerces 2.5.0

5. Javamail 1.3.1

6. Jaf 1.0.2

7. Tomcat 4.1

关键字 Axis,Web Service,SOAP,JBuilder

*我要写的Web Service

真的当然不能说,职业道德嘛,所以假设叫CommitOrderReq:

public ResultInfo CommitOrderReq (OrderFormInfo ofi)

这是一个公开给别人提交订单的Web Service,客户端要传给我一个OrderFormInfo对象,这个对象描述了订单的信息,我返回给客户端一个ResultInfo对象.下面是OrderFormInfo和ResultInfo的定义:

class OrderFormInfo

{

public OrderFormInfo( ) { }; // $$$ - 1

String m_strOrderName;

int m_nOrderID;

OrderOwner m_objOrderOwner; // $$$ - 2

String get_OrderName( );

void set_OrderName(String strIn);

String get_OrderID( );

void set_OrderID(int nIn );

}

class ResultInfo

{

public ResultInfo( ) { }; // $$$ - 3

String m_strResult;

String get_Result ( );

void set_Result (String strIn);

}

有两个地方需要注意的,这两个类最好遵从JavaBean的规范(“遵从JavaBean的规范”,我甚至都不知道这么说对不对,呵呵,对Java世界还不熟悉…见谅呀各位),不遵从的话你到时候会在客户端传递对象给服务器的时候遇到麻烦的,怎么遵从呢?哎..就是:

1.一定要有默认构造函数(就是不带参数的构造函数),见$$$ -1,$$$ -3;

2.像Microsoft COM中的某种属性一样针对各个成员变量提供get,set方法.

请注意,在OrderFormInfo对象里面又聚合了一个OrderOwner对象,这种样子参数在实际工作中经常会遇到的情况,一开始我没有在意这一点,没觉得有什么不对…后来大家会知道发生了什么…

*用JBuilder 9写一个Web Service

File|New,新建一个工程,然后把自己让Web Service做的事情写完了…其中艰辛就不说了,都不知道该怎么去查Java那浩瀚的类…Sun要是有MSDN之类的帮助就好了…

*部署Web Service

A.Select File|New Project to display the Project wizard.Select “Web Service” tab and then click “Web Service Configuation”.

B. Choose Apache Axis from the Toolkit drop-down list,enter ”webApp” in another field;

C. Select File|New Project to display the Project wizard.Select “Web Service” tab,click “Export as a web service”.

D.In “Export as a web service – Step 1 of 7”wizard click browser-button that belongs to “Interface or Class”.

E.In “Choose Class or Intersface to Export As Web Service” dialog,find and select the “firstjavawebservice.HelloAxis” item.It is the class that you want to export as web service.

F.Run this project,it will display “JBuilder Apache Axis Admin Console”page,click “view”to check whether your web service is successfully deploy on your local tomcat server.You should conform WSDL file also.

G.Click finish to close the Project wizard.

别以为这就完了,假设我刚才我在Step B中填写的是perdubug_ws,接下来我就把perdubug_ws\WEB-INF目录下的东西拷贝到服务器上的\Tomcat 4.1\webapps\axis\WEB-INF目录下,这就算部署了…我就很纳闷是否JBuilder 9提供了这样的功能是的我可以直接在本地编译完我的代码然后直接部署到远端的服务器上呢?反正我是没找到…

部署完了再在浏览器里面输入http://服务器地址:端口号/axis/,就会出现你的Axis的页面否这说明你没有配置好Axis…点击View看一下你的服务是否部署成功了,如果成功的话你可以看到你的服务名旁边有一个(WSDL),记下它的URL后面用得到,我们在这称呼这个URL为wsdl_URL,主要是为了好记.

未完待续

http://www.csdn.net/Develop/read_article.asp?id=26188

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有