ellking.study.webservice.tax.*,javax.naming.*"%>
<jsp:useBean id="tax" class="com.hellking.study.webservice.tax.TaxBean"/>
<%
double salary=0;
try{
salary=Double.parseDouble
((String)request.getParameter
("salary"));
}
catch(Exception e){}
%>
<html>
<head>
<title>通过JNDI调用Web服务。</title>
</head>
<body>
<div align="center">
<h1>Web服务----适合北京地区,
2003年</h1>
<%
out.println("个人所得税是:<br>");
out.println(tax.getTax1(salary));
out.println("<br>另一种方法调用Web服务,
个人所得税是:<br>");
out.println(tax.getTax2(salary));
%>
<hr>
<form action="/tax/tax">
<table border=1>
<tr bgcolor=654321>
<td >输入工资</td>
<td><input type=text name=salary></td>
</tr>
<tr><td colspan=2><input
type=submit value=查看></td>
</tr>
</table>
</form>
</div>
<hr>
</body>
</html>
最后来看具体的部署描述符。 在客户端的描述中引用Web服务 打开J2EESDK部署工具(执行%J2EESDK_HOME%\\AppServer\\bin\\deploytool.bat或者$J2EESDK/AppServer/bin/deploytool.sh),新建一个Web应用,把上面的测试JSP添加进来。在部署时,Web应用将包含如图1所示的文件。
图1 Web应用中包含的文件
点击这个Web应用,在右边再点击【Web services Refs】选项卡,再点击【Add】按钮。现在可以增加Web服务引用了。增加一个名称为service/tax的Web服务引用,如图2所示。
图2 增加Web服务引用
注意上面的Service接口是com.hellking.study.webservice.tax.MyTaxService。然后点击【Container Managed Ports】,如图3所示。
图3 增加容器管理端点
到此,一种引用Web服务的方式就完成了。 下面看服务接口直接是Service的情况,再增加一个Web服务引用,如图4所示。
图4 增加另一种服务引用
注意上面Service Interface是javax.xml.rpc.Service,并且指定了名称空间(urn:Tax)和Local Part(MyTaxService)。同样,按照图3所示方法增加一个容器管理端点,端点接口名称和端口组件名称和图3一致。 经过了上面的部署,实际上在web.xml中生成了以下的部署描述符。 例程 10 生成的部署描述符
<service-ref>
<service-ref-name>
service/tax</service-ref-name>
<service-interface>com.hellking.
study.webservice.tax.
MyTaxService</service-interface>
<wsdl-file>WEB-INF/wsdl
/MyTaxService.wsdl</wsdl-file>
<jaxrpc-mapping-file>mapping.xml
</jaxrpc-mapping-file>
<port-component-ref>
<service-endpoint-interface>
com.hellking.study.
webservice.tax.TaxService
</service-
<jsp:useBean id="tax" class="com.hellking.study.webservice.tax.TaxBean"/>
<%
double salary=0;
try{
salary=Double.parseDouble
((String)request.getParameter
("salary"));
}
catch(Exception e){}
%>
<html>
<head>
<title>通过JNDI调用Web服务。</title>
</head>
<body>
<div align="center">
<h1>Web服务----适合北京地区,
2003年</h1>
<%
out.println("个人所得税是:<br>");
out.println(tax.getTax1(salary));
out.println("<br>另一种方法调用Web服务,
个人所得税是:<br>");
out.println(tax.getTax2(salary));
%>
<hr>
<form action="/tax/tax">
<table border=1>
<tr bgcolor=654321>
<td >输入工资</td>
<td><input type=text name=salary></td>
</tr>
<tr><td colspan=2><input
type=submit value=查看></td>
</tr>
</table>
</form>
</div>
<hr>
</body>
</html>
最后来看具体的部署描述符。 在客户端的描述中引用Web服务 打开J2EESDK部署工具(执行%J2EESDK_HOME%\\AppServer\\bin\\deploytool.bat或者$J2EESDK/AppServer/bin/deploytool.sh),新建一个Web应用,把上面的测试JSP添加进来。在部署时,Web应用将包含如图1所示的文件。
图1 Web应用中包含的文件
点击这个Web应用,在右边再点击【Web services Refs】选项卡,再点击【Add】按钮。现在可以增加Web服务引用了。增加一个名称为service/tax的Web服务引用,如图2所示。
图2 增加Web服务引用
注意上面的Service接口是com.hellking.study.webservice.tax.MyTaxService。然后点击【Container Managed Ports】,如图3所示。
图3 增加容器管理端点
到此,一种引用Web服务的方式就完成了。 下面看服务接口直接是Service的情况,再增加一个Web服务引用,如图4所示。
图4 增加另一种服务引用
注意上面Service Interface是javax.xml.rpc.Service,并且指定了名称空间(urn:Tax)和Local Part(MyTaxService)。同样,按照图3所示方法增加一个容器管理端点,端点接口名称和端口组件名称和图3一致。 经过了上面的部署,实际上在web.xml中生成了以下的部署描述符。 例程 10 生成的部署描述符
<service-ref>
<service-ref-name>
service/tax</service-ref-name>
<service-interface>com.hellking.
study.webservice.tax.
MyTaxService</service-interface>
<wsdl-file>WEB-INF/wsdl
/MyTaxService.wsdl</wsdl-file>
<jaxrpc-mapping-file>mapping.xml
</jaxrpc-mapping-file>
<port-component-ref>
<service-endpoint-interface>
com.hellking.study.
webservice.tax.TaxService
</service-
| 对此文章发表了评论 |




