分享
 
 
 

在J2EE上部署Web服务(Web Services)(2)

王朝java/jsp·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

打包和部署Web服务

在开始讲述怎样在J2EE上部署web服务之前,让我们先回顾一下J2EE上部署服务的步骤。

你可以按照同样的步骤部署本文后面介绍的其他构件。(如果你有丰富的J2EE经验而不

需要的话,请跳到下一节,该节详细描述了为web服务部署一个特殊工具。部署JAXM Pr

ovider 和 Admin Tool)

在J2EE上部署服务

在J2EE上部署服务时,利用deploytool建立一个新的应用程序EAR文件,且将它与适当的

WAR文件关联并设置web上下文(context)。deploytool通过与J2EE服务器通信来部署和

反部署构件。

注意:jaxrservlet是一个为了说明部署步骤而构想出来的虚构文件。该文件实际上在J

WSDP EA2中并不存在。

在J2EE SDK容器中部署服务

1、 如果J2EE服务器没有运行,则到%J2EE_HOME%in (UNIX: $J2EE_HOME/bin)目录下

并执行j2ee命令来启动它。J2EE服务器必须在启动deploytool之前运行。J2EE服务器启

动可能需要几分钟,等待直到看到"J2EE Server startup complete"的消息。如下:

c:j2sdkee1.3.1in> j2ee

J2EE server listen port: 1050

Redirecting the output and error streams to the following files

c:j2sdkee1.3.1logsJavaj2eej2eesystem.out

c:j2sdkee1.3.1logsjavaj2eej2eesystem.err

J2EE server startup complete

2、 到%J2EE_HOME%in (UNIX: $J2EE_HOME/bin)目录,通过执行deploytool命令启动

deploytool。

3、 选择File->New Application,建立一个新的应用程序EAR文件,如图2所示。

注意:该文的屏幕画面是Windows平台的,但是因为deploytool使用Swing,所以UNIX开

发者也应该可以看到同样的画面。

图2:建立一个新的EAR文件

4、 在出现的对话框中键入要创建的EAR文件名和在deploytool窗口中显示的名字。只要

愿意,可以取任何名字。如图3所示。我建立了一个名为ear-files的目录存放所有的EA

R文件。我的文件的名是jaxrservlet。它的显示名和文件名一样。

图3:选择一个文件名

5、 往应用程序中添加WAR文件(在本例中,是jaxrservlet.war)。选择File->Add to

Application->Web War,然后定位WAR文件并选择它。

6、 设置Web Context,指定web上下文:

选择应用程序(本例中假定是jaxrservlet 应用程序)

选择Web Context页

在如图4所示的Context Root字段中键入上下文。

7、 在Tool菜单中选择Deploy,部署该应用程序。进度对话框报告部署进度。它告诉你

什么时候部署完成,如图5所示。

图5: 部署应用程序

部署JAXM Provider 及其Admin Tool

JAXM Provider是一个异步通信的消息传输提供者。JAXM Provider Admin Tool允许你配

置provider。在运行JAXM Provider Admin Tool前,将JAXM Provider 和JAXM Provide

r Admin Tool部署到单独的J2EE应用程序中。按照下列步骤允许使用了JAXM Provider

的应用程序:

部署JAXM Provider

1、 配置jaxm-provider服务,使用8080端口:打开文件%JWSDP_HOME%servicesjaxm-

providerWEB-INFprovider.XML (UNIX: $JWSDP_HOME/services/jaxm-provider/WEB-

INF/provider.xml) 。然后将http://127.0.0.1:8081/jaxm-provider/receiver/ebxml

改变成http://127.0.0.1:8080/jaxm-provider/receiver/ebxml ,同时将http://127

.0.0.1:8081/jaxm-provider/receiver/soaprp 变成http://127.0.0.1:8080/jaxm-pro

vider/receiver/soaprp

2、 到%JWSDP_HOME%servicesjaxm-provider (UNIX: $JWSDP_HOME/service/jaxm-pr

ovider)目录下,通过执行jar -cvf jaxm-provider.war . 将JAXM Provider打包到一个

WAR文件中。注意该命令末尾有一个点。

3、 将jaxm-provider.jar拷贝到某个位置,如c:jaxm_services并将它从%JWSDP_HOME

%servicesjaxm-provider删除。 (UNIX:拷贝 jaxm-provider.war 到某个位置,如

$HOME/jaxm_services 并将它从$JWSDP_HOME/services/jaxm-provider删除)。该步骤是

必须的,目的是防止从安装Java WSDP的目录加载该服务。

4、 将jaxm-provider.jar打包到一个企业级应用程序,上下文是jaxm-provider,并按

照在J2EE SDK容器中部署服务的步骤进行部署。

部署JAXM Provider Admin Tool

1、 配置jaxm-provideradmin服务,使用8080端口:打开文件%JWSDP_HOME%services

jaxm-provideradminWEB-INFprovider.xml (UNIX: $JWSDP_HOME/services/jaxm-pro

videradmin/WEB-INF/provider.xml) ,然后将http://127.0.0.1:8081/jaxm-provider

/receiver/ebxml 改成http://127.0.0.1:8080/jaxm-provider/receiver/ebxml ,同时

将http://127.0.0.1:8081/jaxm-provider/receiver/soaprp 改成http://127.0.0.1:8

080/jaxm-provider/receiver/soaprp

2、 到%JWSDP_HOME%servicesjaxm-provideradmin (UNIX: $JWSDP_HOME/service/ja

xm-provideradmin)目录下,通过执行jar -cvf jaxm-provideradmin.war . 将JAXM Pr

ovider打包到一个WAR文件中。注意该命令末尾有一个点。

3、 将jaxm-provideradmin.jar拷贝到某个位置,如c:jaxm_services,并将它从%JWS

DP_HOME%servicesjaxm-provideradmin删除。 (UNIX:拷贝 jaxm-provideradmin.wa

r 到某个位置,如 $HOME/jaxm_services 并将它从$JWSDP_HOME/services/jaxm-provi

deradmin删除)。该步骤是必须的,目的是防止从安装Java WSDP的目录加载该服务。

4、 按照前面例子,将jaxm-provideradmin.jar打包到一个新的企业级应用程序,上下

文是jaxm-provideradmin。

5、 增加一个provider角色的用户j2ee。在deploytool中选择jaxm-provideradmin应用

程序。在Security页中,从Role Name列表中选择provider角色。如果provider角色没有

显示,则点击Edit并定义provider,确保选择了jaxm-provideradmin存档。一旦增加了

provider,就可以回到主security菜单。在角色名下选择provider,并点击Add在User

对话框中选择j2ee用户。

6、 确保JAXM Provider应用程序被部署。点击Servers,在已部署的应用程序列表中查

看jaxm-provider。

7、 部署JAXM Provider Admin Tool(J2EE上部署服务指南有详细介绍)。确保web上下

文是jaxm-provideradmin。

运行JAXM Admin Tool

JAXM Provider 和 Admin Tool部署完成后,就可以运行JAXM Admin Tool。

运行JAXM Admin Tool

1、 将浏览器链接到http://127.0.0.1:8080/jaxm-provideradmin。

2、 在提示框中键入登录名和口令,如图6所示。在该例中,我使用"j2ee"作为登录名和

口令。一旦网络验证了登录名和口令,就可以进入JAXM Admin Tool。

图6:JAXM Admin Tool登录

3、 配置消息传输提供者,如图7。

图7:JAXM Admin Tool

运行JAXM 示例

JWSDP下载包里带有一组JAXM示例程序,它们在%JWSDP_HOMEwebapps 目录 (UNIX: $JW

SDP_HOME/webapps) 下。例子说明可以使用JAXM API编写不同的应用程序。本节阐述如

何载J2EE SDK 1.3.x上运行这些例子。

jaxm-simple

这是一个利用本地消息传输提供者发送和接受消息的例子。

部署jaxm-simple例子

1、 使用前面介绍的deploytool,打包jaxm-simple.war到一个企业级应用。文件jaxm-

simple.war在%JWSDP_HOME%webapps (UNIX: $HWSDP_HOME/webapps)目录下。

2、 设置上下文为jaxm-simple。

3、 在J2EE上部署该应用程序。

部署完成后,就可以使用与JWSDP一起运行的相同方式运行它。

运行jaxm-simple应用程序

1、 将浏览器链接到http://127.0.0.1:8080/jaxm-simple。

屏幕与图8类似

2、 点击链接"这里",应该可以看到与图9类似的窗口。

你可以在%J2EE_HOMEin (UNIX: $J2EE_HOME/bin)目录下看到sent.msg和reply.msg。

图8:运行jaxm-simple

图9:jaxm-simple的输出

jaxmtags

这是一个使用jsp标签生产和消费SOAP消息的例子。

部署jaxmtags例子

将jaxmtags.war打包到一个企业级应用程序。

设置上下文为jaxmtags。

在J2EE SDK1.3.x上部署该应用程序。

现在,就可以使用与JWSDP一起运行的相同方式运行这个例子。

运行jaxmtags应用程序

将浏览器链接到http://127.0.0.1:8080/jaxmtags。 屏幕与图10类似

点击三个链接中的一个发送消息,可以看到显示的响应。

图10:运行jaxmtags

jaxm-remote

这是一个使用JAXM消息传输提供者支持基本ebXML发送和接受消息的例子。

部署jaxm-remote服务

将%JWSDP_HOME%webappsjaxm-remote.war拷贝到某个位置,如c: emote。(UNIX: 将

$JWSDP_HOME/webapps/jaxm-remote.war 拷贝到某个位置,如 $HOME/remote)

到目录c: emote (UNIX: $HOME/remote)。

解开jaxm-remote.war:jar xvf jaxm-remote.war

删除WAR文件: c: emote> del jaxm-remote.war (UNIX: $HOME/remote$ rm jaxm-re

mote.war)。

在文件c: emoteWEB-INFclassesclient.xml (UNIX: $HOME/remote/WEB-INF/class

es/client.xml)中将http://127.0.0.1:8081/jaxm-provider/sender 改成http://127.

0.0.1:8080/jaxm-provider/sender

打包jaxm-remote.war文件:c: emote> jar cvf jaxm-remote.war . 注意命令末尾有

一个点。

打包该WAR文件到一个企业级应用程序。

设置上下文为jaxm-remote。

在J2EE SDK1.3.x上部署该应用程序。

运行jaxm-remote应用程序

将浏览器链接到http://127.0.0.1:8080/jaxm-remote。

jaxm-soaprp

这是一个使用JAXM消息传输提供者支持基本SOAP-RP发送和接受消息的例子。

部署jaxm-soaprp服务

将%JWSDP_HOME%webappsjaxm-soaprp.war拷贝到某个位置,如c:soaprp。(UNIX: 将

$JWSDP_HOME/webapps/jaxm-soaprp.war 拷贝到某个位置,如 $HOME/soaprp)

到目录c:soaprp (UNIX: $HOME/soaprp)。

解开jaxm-soaprp.war:jar xvf jaxm-soaprp.war

删除WAR文件: c:soaprp> del jaxm-soaprp.war (UNIX: $HOME/soaprp$ rm jaxm-so

aprp.war)。

在文件c:soaprpWEB-INFclassesclient.xml (UNIX: $HOME/soaprp/WEB-INF/class

es/client.xml)中将http://127.0.0.1:8081/jaxm-provider/sender 改成http://127.

0.0.1:8080/jaxm-provider/sender

打包jaxm-soaprp.war文件:c:soaprp> jar cvf jaxm-soaprp.war . 注意命令末尾有

一个点。

打包该WAR文件到一个企业级应用程序。

设置上下文为jaxm-soaprp。

在J2EE SDK1.3.x上部署该应用程序。

运行jaxm-soaprp应用程序

打开浏览器窗口。

将浏览器链接到http://127.0.0.1:8080/jaxm-soaprp。

jaxm-translator

这是一个将文本翻译成不同语言的一个简单翻译服务。该翻译服务与 babelfish.altav

ista.com进行会话,建立HTTP连接并从应答中抽取对输入字符串的翻译。文本被翻译成

德语、意大利语和法语。为了使该服务可以工作,必须连接到Internet。

部署translation服务

使用deploytool,将jaxm-translator.war打包到一个企业级应用程序。

设置上下文为jaxm-translator。

在J2EE SDK1.3.x上部署该应用程序。

可以使用与JWSDP一起运行的相同方式运行这个例子。

运行translation服务

确保连接到Internet。

将浏览器链接到http://127.0.0.1:8080/jaxm-translator。可以得到如图11类似的屏幕

(在这里,我键入good bye)

键入一些要翻译的文本。

点击radio按钮选择要翻译的方式。返回:在SOAPBody中或者作为JAXM消息的附件。

如果使用代理主机,则键入代理主机名和代理端口(如果不使用代理,则保持空白)。

点击Translate执行该服务。输出如图12所示。

图11:运行translation web服务

图12:translation 服务的输出

结论

通过按照本文中一步一步的指导,你已经学会了怎样配置J2EE SDK 1.3.1使得web服务可

以在上面进行部署。你也知道了怎样部署随JWSDP附带的web服务示例应用程序。

现在你有了构建新的web服务的工具和怎样在J2EE平台上部署它们的知识。通过实践可以

很快学会。也可以从更多信息的其他资源列表学到更多东西,包括超过60次关于web服务

的会议的幻灯片,它们是在3月底的JavaOne期间召开的。

(出处:http://www.knowsky.com)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
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- 王朝網路 版權所有