- 浏览: 65128 次
- 性别:
- 来自: 广州
最新评论
源网址:http://www.iteye.com/subject/Axis-Webservice
随着SOA的流行,webservice开发也变得相当的热门。许多企业都将自己的网站迁移到soa的架构。今天我们来一起体验一下通过axis来创建、发布和调用webservice的过程。如果大家不太了解SOA请访问下面网址(http://www-900.ibm.com/cn/software/rational/solution/tech/soa_design.shtml)
在开始之前我默认大家已经具有axis的安装经验,如果对axis安装和配置发布有任何问题请看http://yangyang.iteye.com/blog/56519 和http://yangyang.iteye.com/blog/56552两篇文章。let's go!
首先我们先假设一个需求。我们需要一个service,功能是给手机充值,充值成功后返回操作代码和消息。给手机充值需要手机号、充值金额、操作类型。操作成功或者失败后返回操作代码和消息。在这里我们将客户端的请求和服务器端响应进行了包装代码如下:
java 代码
1. package com.yy.ws;
2. public class ClientRequest {
3. private String opType;
4. private int amount;
5. private String phoneNumber;
6. public int getAmount() {
7. return amount;
8. }
9. public void setAmount(int amount) {
10. this.amount = amount;
11. }
12. public String getOpType() {
13. return opType;
14. }
15. public void setOpType(String opType) {
16. this.opType = opType;
17. }
18. public String getPhoneNumber() {
19. return phoneNumber;
20. }
21. public void setPhoneNumber(String phoneNumber) {
22. this.phoneNumber = phoneNumber;
23. }
24. }
optype代表操作类型,也可以用枚举类型。amount代表充值金额。phoneNumber代表手机号。
下面是服务器响应对象。如下:
java 代码
1. package com.yy.ws;
2. public class ServerResponse {
3. private long resultCode;
4. private String message;
5. public String getMessage() {
6. return message;
7. }
8. public void setMessage(String message) {
9. this.message = message;
10. }
11. public long getResultCode() {
12. return resultCode;
13. }
14. public void setResultCode(long resultCode) {
15. this.resultCode = resultCode;
16. }
17. }
resultCode代表充值操作代码。message代表服务器端操作成功与否的消息。
下面我们通过axis提供的一个工具org.apache.axis.wsdl.Java2WSDL.来产生wsdl文件。Java2WSDL是一个根据axis用户提供的webservice接口来产生相应的wsdl文件。在接口中我们定义了webservice的所有方法(服务)。如果大家不知道wsdl请查阅相应资料。http://www.ibm.com/developerworks/cn/webservices/ws-intwsdl/part1/#N10054
interface代码如下:
java 代码
1. package com.yy.ws;
2.
3. public interface MobileBoss {
4. public ServerResponse charge(ClientRequest req);
5. }
这个接口定义了一个名字为MobileBoss的webservice,其中一个服务名字为charge。下面我们通过Java2WSDL工具生成这个ws的wsdl文件。
进入接口所在源文件的文件夹(包的最上层,如果包名是com.yy.ws则需要在com的上一层目录下如classes),我的文件夹结构是classes/com/yy/ws/所以我需要进入源文件目录:
C:\ws>cd classes
在控制台输入如下命令:
C:\ws\classes> java org.apache.axis.wsdl.Java2WSDL -o mb.wsdl -l "http://localhost:8080/axis/services/MobileBoss" -n "urn:MobileBoss" -p"com.yy.ws" "urn:MobileBoss" com.yy.ws.MobileBoss
参数说明: -o 输出wsdl文件名称
-l 访问的url
-n 命名空间
-p 包名 命名空间的名字(urn:是命名空间的缩写,必须有!)
com.yy.ws.MobileBoss 是接口的全路径。包名+类名。
如果没有抛出异常,我们就可以在C:\ws\classes文件夹下找到mb.wsdl.
这个mb.wsdl文件描述的这个ws的所有信息,包括请求响应对象、访问url、端口等等信息。这个文件是由axis的Java2WSDL 工具生成的,怎么样?是不是很方便啊!
下面我们来通过org.apache.axis.wsdl.WSDL2Java来生成相应的webservice代码。
进入wsdl文件所在目录。
C:\ws> cd classes
键入如下命令:
C:\ws\classes> java org.apache.axis.wsdl.WSDL2Java -o . -d Session -s -S true -Nurn:MobileBoss com.yy.ws mb.wsdl
参数说明: -o 输出文件所在目录( .-代表当前目录 )
-s生成server端绑定代码
-d发布范围
-S是否产生发布和撤销webservice的deploy.wsdd和undeploy.wsdd文件。ture代表生成发布文件。
-Nurn:命名空间 包名
mb.wsdl - wsdl文件名。
如果没有抛出异常,我们就可以在C:\ws\classes文件夹下找到下面几个文件:
ClientRequest.java
MobileBoss.java
MobileBossService.java
MobileBossServiceLocator.java
MobileBossSoapBindingImpl.java
MobileBossSoapBindingSkeleton.java
MobileBossSoapBindingStub.java
ServerResponse.java
deploy.wsdd 和undeploy.wsdd。
除了最后两个发布文件以外最重要的有两个文件,即MobileBossSoapBindingImpl.java和MobileBossServiceLocator.java
MobileBossSoapBindingImpl代码如下:
java 代码
1. java 代码
/**
2. * MobileBossSoapBindingImpl.java
3. *
4. * This file was auto-generated from WSDL
5. * by the Apache Axis 1.3 Oct 05, 2005 (05:23:37 EDT) WSDL2Java emitter.
6. */
7.
8. package com.yy.ws;
9.
10. public class MobileBossSoapBindingImpl implements com.yy.ws.MobileBoss{
11. public com.yy.ws.ServerResponse charge(com.yy.ws.ClientRequest in0) throws java.rmi.RemoteException {
12. return null;
13. }
14.
15. }
我们需要在这个webservice中实现自己的业务方法!我们加入如下业务代码:
java 代码
1. /**
2. * MobileBossSoapBindingImpl.java
3. *
4. * This file was auto-generated from WSDL
5. * by the Apache Axis 1.3 Oct 05, 2005 (05:23:37 EDT) WSDL2Java emitter.
6. */
7.
8. package com.yy.ws;
9.
10. public class MobileBossSoapBindingImpl implements com.yy.ws.MobileBoss {
11.
12. /*
13. *
14. * implements the service methods
15. */
16. public com.yy.ws.ServerResponse charge(com.yy.ws.ClientRequest req)
17. throws java.rmi.RemoteException {
18. String bizInfo = req.getPhoneNumber() + "/" + req.getOpType() + "/"
19. + req.getAmount();
20. System.out.println(bizInfo);
21. System.out.println(req.getPhoneNumber() + "is charged successfully!");
22. ServerResponse res = new ServerResponse();
23. res.setMessage(bizInfo);// save service informations.
24. res.setResultCode(8888);// save result code.
25. return res;
26. }
27.
28. }
好了现在我们将webservice的实现代码发布到tomcat的axis web应用中。如将你的代码拷贝到axis/WEB-INF/classes下
进入你的deploy.wsdd所在目录。
cd C:\tomcat5\webapps\axis\WEB-INF\classes\com\yy\ws
输入如下命令:
C:\tomcat5\webapps\axis\WEB-INF\classes\com\yy\ws> java org.apache.axis.client.AdminClient deploy.wsdd
AdminClient -一个axis发布工具,会自动地将你的webservice发布到WEB-INF下的server-config.wsdd文件中。如果显示:
Processing file deploy.wsdd
Done processing
则表示发布成功!
好了,现在我们已经完成了创建和发布过程,接下来我们来进行最后一步工作——调用我们写的webservice!
java 代码
1. package com.yy.ws.test;
2.
3. import java.net.MalformedURLException;
4. import java.rmi.RemoteException;
5.
6. import javax.xml.rpc.ServiceException;
7.
8. import com.yy.ws.ClientRequest;
9. import com.yy.ws.MobileBoss;
10. import com.yy.ws.MobileBossService;
11. import com.yy.ws.MobileBossServiceLocator;
12. import com.yy.ws.ServerResponse;
13.
14. public class Test {
15. public static void main(String args[]) throws ServiceException, MalformedURLException, RemoteException{
16. ClientRequest req = new ClientRequest();
17. req.setAmount(1000);
18. req.setOpType("charge");
19. req.setPhoneNumber("13912345678");
20. MobileBossService sl = new MobileBossServiceLocator();
21. //URL url = new URL("http://localhost:8080/axis/services/MobileBoss");
22. //s.getMobileBoss(url);
23. MobileBoss mb = sl.getMobileBoss();//default port
24. ServerResponse resp = mb.charge(req);
25. System.out.println("client result:"+resp.getResultCode()+"\nclient message:"+resp.getMessage());
26. }
27. }
结果如下:
服务器端显示:
13912345678|charge|1000
13912345678is charged successfully!
客户端显示:
client result:8888
client message:13912345678|charge|1000
服务器段成功返回消息,大功告成!不是很难吧?!这篇文章的所有代码我都测试过,全部可以直接使用。希望能够对大家有所帮助。
axis可以随意部署在大部分web application server上,如:tomcat。它与你自己部署的应用几乎没有任何的耦合关系你只需要在你的web.xml中配置一下axis就可以正常使用了。这样我们能够很方便的将axis集成到我们自己开发的项目上。具体的配置如下:
xml 代码
<listener>
<listener-class>org.apache.axis.transport.http.AxisHTTPSessionListenerlistener-class>
listener>
<servlet>
<servlet-name>AxisServletservlet-name>
<display-name>Apache-Axis Servletdisplay-name>
<servlet-class>
org.apache.axis.transport.http.AxisServlet
servlet-class>
servlet>
<servlet>
<servlet-name>AdminServletservlet-name>
<display-name>Axis Admin Servletdisplay-name>
<servlet-class>
org.apache.axis.transport.http.AdminServlet
servlet-class>
<load-on-startup>100load-on-startup>
servlet>
<servlet>
<servlet-name>SOAPMonitorServiceservlet-name>
<display-name>SOAPMonitorServicedisplay-name>
<servlet-class>
org.apache.axis.monitor.SOAPMonitorService
servlet-class>
<init-param>
<param-name>SOAPMonitorPortparam-name>
<param-value>5001param-value>
init-param>
<load-on-startup>100load-on-startup>
servlet>
<servlet-mapping>
<servlet-name>AxisServletservlet-name>
<url-pattern>/servlet/AxisServleturl-pattern>
servlet-mapping>
<servlet-mapping>
<servlet-name>AxisServletservlet-name>
<url-pattern>*.jwsurl-pattern>
servlet-mapping>
<servlet-mapping>
<servlet-name>AxisServletservlet-name>
<url-pattern>/services/*url-pattern>
servlet-mapping>
<servlet-mapping>
<servlet-name>SOAPMonitorServiceservlet-name>
<url-pattern>/SOAPMonitorurl-pattern>
servlet-mapping>
<session-config>
<!-- Default to 5 minute session timeouts -->
<session-timeout>5session-timeout>
session-config>
<mime-mapping>
<extension>wsdlextension>
<mime-type>text/xmlmime-type>
mime-mapping>
<mime-mapping>
<extension>xsdextension>
<mime-type>text/xmlmime-type>
mime-mapping>
只要将上述的配置信息加入到你的web应用中就可以将Axis集成到你自己的项目中去了。还有一点需要说明,那就是除了这个配置以外还有将你的Axis.jar和其他必要的jar文件加入到你的WEB-INF/lib目录中,以及发布你的的webservice的classes到WEB-INF/classes/中。
接《用Axis创建的Webservice的集成与发布(上)》。
需要说明的有下面两个配置:
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
这个配置了指出所有webservice的访问都是以 "web应用名/service/webservice名称" 的形式来访问的。你可以更改它的名字,但是请注意。这个需要与你的其他webservice配置文件匹配或者说同步。如WEB-INF下的server-config.wsdd文件中对webservice的配置。还有java2wsdl和wsdl2java工具生成的代码中的配置。如:wsdl2java工具生成的类MobileBossServiceLocator 类中的这个URL的默认配置
private java.lang.String MobileBoss_address = "http://localhost:8080/axis/services/MobileBoss";
除了上面的那个配置以外还有一个比较重要的配置:
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>*.jws</url-pattern>
</servlet-mapping>
这个是通过jws既java源代码的方式发布webservice。这种情况用的比较少。知道有这个配置才能使用jws就可以了。
当然了除了这两个配置以外还有许多配置如timeout配置和监控器配置,这里就不多说了。我会在以后的高级应用中说明其他配置的功用。祝大家工作顺利。that's all!
随着SOA的流行,webservice开发也变得相当的热门。许多企业都将自己的网站迁移到soa的架构。今天我们来一起体验一下通过axis来创建、发布和调用webservice的过程。如果大家不太了解SOA请访问下面网址(http://www-900.ibm.com/cn/software/rational/solution/tech/soa_design.shtml)
在开始之前我默认大家已经具有axis的安装经验,如果对axis安装和配置发布有任何问题请看http://yangyang.iteye.com/blog/56519 和http://yangyang.iteye.com/blog/56552两篇文章。let's go!
首先我们先假设一个需求。我们需要一个service,功能是给手机充值,充值成功后返回操作代码和消息。给手机充值需要手机号、充值金额、操作类型。操作成功或者失败后返回操作代码和消息。在这里我们将客户端的请求和服务器端响应进行了包装代码如下:
java 代码
1. package com.yy.ws;
2. public class ClientRequest {
3. private String opType;
4. private int amount;
5. private String phoneNumber;
6. public int getAmount() {
7. return amount;
8. }
9. public void setAmount(int amount) {
10. this.amount = amount;
11. }
12. public String getOpType() {
13. return opType;
14. }
15. public void setOpType(String opType) {
16. this.opType = opType;
17. }
18. public String getPhoneNumber() {
19. return phoneNumber;
20. }
21. public void setPhoneNumber(String phoneNumber) {
22. this.phoneNumber = phoneNumber;
23. }
24. }
optype代表操作类型,也可以用枚举类型。amount代表充值金额。phoneNumber代表手机号。
下面是服务器响应对象。如下:
java 代码
1. package com.yy.ws;
2. public class ServerResponse {
3. private long resultCode;
4. private String message;
5. public String getMessage() {
6. return message;
7. }
8. public void setMessage(String message) {
9. this.message = message;
10. }
11. public long getResultCode() {
12. return resultCode;
13. }
14. public void setResultCode(long resultCode) {
15. this.resultCode = resultCode;
16. }
17. }
resultCode代表充值操作代码。message代表服务器端操作成功与否的消息。
下面我们通过axis提供的一个工具org.apache.axis.wsdl.Java2WSDL.来产生wsdl文件。Java2WSDL是一个根据axis用户提供的webservice接口来产生相应的wsdl文件。在接口中我们定义了webservice的所有方法(服务)。如果大家不知道wsdl请查阅相应资料。http://www.ibm.com/developerworks/cn/webservices/ws-intwsdl/part1/#N10054
interface代码如下:
java 代码
1. package com.yy.ws;
2.
3. public interface MobileBoss {
4. public ServerResponse charge(ClientRequest req);
5. }
这个接口定义了一个名字为MobileBoss的webservice,其中一个服务名字为charge。下面我们通过Java2WSDL工具生成这个ws的wsdl文件。
进入接口所在源文件的文件夹(包的最上层,如果包名是com.yy.ws则需要在com的上一层目录下如classes),我的文件夹结构是classes/com/yy/ws/所以我需要进入源文件目录:
C:\ws>cd classes
在控制台输入如下命令:
C:\ws\classes> java org.apache.axis.wsdl.Java2WSDL -o mb.wsdl -l "http://localhost:8080/axis/services/MobileBoss" -n "urn:MobileBoss" -p"com.yy.ws" "urn:MobileBoss" com.yy.ws.MobileBoss
参数说明: -o 输出wsdl文件名称
-l 访问的url
-n 命名空间
-p 包名 命名空间的名字(urn:是命名空间的缩写,必须有!)
com.yy.ws.MobileBoss 是接口的全路径。包名+类名。
如果没有抛出异常,我们就可以在C:\ws\classes文件夹下找到mb.wsdl.
这个mb.wsdl文件描述的这个ws的所有信息,包括请求响应对象、访问url、端口等等信息。这个文件是由axis的Java2WSDL 工具生成的,怎么样?是不是很方便啊!
下面我们来通过org.apache.axis.wsdl.WSDL2Java来生成相应的webservice代码。
进入wsdl文件所在目录。
C:\ws> cd classes
键入如下命令:
C:\ws\classes> java org.apache.axis.wsdl.WSDL2Java -o . -d Session -s -S true -Nurn:MobileBoss com.yy.ws mb.wsdl
参数说明: -o 输出文件所在目录( .-代表当前目录 )
-s生成server端绑定代码
-d发布范围
-S是否产生发布和撤销webservice的deploy.wsdd和undeploy.wsdd文件。ture代表生成发布文件。
-Nurn:命名空间 包名
mb.wsdl - wsdl文件名。
如果没有抛出异常,我们就可以在C:\ws\classes文件夹下找到下面几个文件:
ClientRequest.java
MobileBoss.java
MobileBossService.java
MobileBossServiceLocator.java
MobileBossSoapBindingImpl.java
MobileBossSoapBindingSkeleton.java
MobileBossSoapBindingStub.java
ServerResponse.java
deploy.wsdd 和undeploy.wsdd。
除了最后两个发布文件以外最重要的有两个文件,即MobileBossSoapBindingImpl.java和MobileBossServiceLocator.java
MobileBossSoapBindingImpl代码如下:
java 代码
1. java 代码
/**
2. * MobileBossSoapBindingImpl.java
3. *
4. * This file was auto-generated from WSDL
5. * by the Apache Axis 1.3 Oct 05, 2005 (05:23:37 EDT) WSDL2Java emitter.
6. */
7.
8. package com.yy.ws;
9.
10. public class MobileBossSoapBindingImpl implements com.yy.ws.MobileBoss{
11. public com.yy.ws.ServerResponse charge(com.yy.ws.ClientRequest in0) throws java.rmi.RemoteException {
12. return null;
13. }
14.
15. }
我们需要在这个webservice中实现自己的业务方法!我们加入如下业务代码:
java 代码
1. /**
2. * MobileBossSoapBindingImpl.java
3. *
4. * This file was auto-generated from WSDL
5. * by the Apache Axis 1.3 Oct 05, 2005 (05:23:37 EDT) WSDL2Java emitter.
6. */
7.
8. package com.yy.ws;
9.
10. public class MobileBossSoapBindingImpl implements com.yy.ws.MobileBoss {
11.
12. /*
13. *
14. * implements the service methods
15. */
16. public com.yy.ws.ServerResponse charge(com.yy.ws.ClientRequest req)
17. throws java.rmi.RemoteException {
18. String bizInfo = req.getPhoneNumber() + "/" + req.getOpType() + "/"
19. + req.getAmount();
20. System.out.println(bizInfo);
21. System.out.println(req.getPhoneNumber() + "is charged successfully!");
22. ServerResponse res = new ServerResponse();
23. res.setMessage(bizInfo);// save service informations.
24. res.setResultCode(8888);// save result code.
25. return res;
26. }
27.
28. }
好了现在我们将webservice的实现代码发布到tomcat的axis web应用中。如将你的代码拷贝到axis/WEB-INF/classes下
进入你的deploy.wsdd所在目录。
cd C:\tomcat5\webapps\axis\WEB-INF\classes\com\yy\ws
输入如下命令:
C:\tomcat5\webapps\axis\WEB-INF\classes\com\yy\ws> java org.apache.axis.client.AdminClient deploy.wsdd
AdminClient -一个axis发布工具,会自动地将你的webservice发布到WEB-INF下的server-config.wsdd文件中。如果显示:
Processing file deploy.wsdd
Done processing
则表示发布成功!
好了,现在我们已经完成了创建和发布过程,接下来我们来进行最后一步工作——调用我们写的webservice!
java 代码
1. package com.yy.ws.test;
2.
3. import java.net.MalformedURLException;
4. import java.rmi.RemoteException;
5.
6. import javax.xml.rpc.ServiceException;
7.
8. import com.yy.ws.ClientRequest;
9. import com.yy.ws.MobileBoss;
10. import com.yy.ws.MobileBossService;
11. import com.yy.ws.MobileBossServiceLocator;
12. import com.yy.ws.ServerResponse;
13.
14. public class Test {
15. public static void main(String args[]) throws ServiceException, MalformedURLException, RemoteException{
16. ClientRequest req = new ClientRequest();
17. req.setAmount(1000);
18. req.setOpType("charge");
19. req.setPhoneNumber("13912345678");
20. MobileBossService sl = new MobileBossServiceLocator();
21. //URL url = new URL("http://localhost:8080/axis/services/MobileBoss");
22. //s.getMobileBoss(url);
23. MobileBoss mb = sl.getMobileBoss();//default port
24. ServerResponse resp = mb.charge(req);
25. System.out.println("client result:"+resp.getResultCode()+"\nclient message:"+resp.getMessage());
26. }
27. }
结果如下:
服务器端显示:
13912345678|charge|1000
13912345678is charged successfully!
客户端显示:
client result:8888
client message:13912345678|charge|1000
服务器段成功返回消息,大功告成!不是很难吧?!这篇文章的所有代码我都测试过,全部可以直接使用。希望能够对大家有所帮助。
axis可以随意部署在大部分web application server上,如:tomcat。它与你自己部署的应用几乎没有任何的耦合关系你只需要在你的web.xml中配置一下axis就可以正常使用了。这样我们能够很方便的将axis集成到我们自己开发的项目上。具体的配置如下:
xml 代码
<listener>
<listener-class>org.apache.axis.transport.http.AxisHTTPSessionListenerlistener-class>
listener>
<servlet>
<servlet-name>AxisServletservlet-name>
<display-name>Apache-Axis Servletdisplay-name>
<servlet-class>
org.apache.axis.transport.http.AxisServlet
servlet-class>
servlet>
<servlet>
<servlet-name>AdminServletservlet-name>
<display-name>Axis Admin Servletdisplay-name>
<servlet-class>
org.apache.axis.transport.http.AdminServlet
servlet-class>
<load-on-startup>100load-on-startup>
servlet>
<servlet>
<servlet-name>SOAPMonitorServiceservlet-name>
<display-name>SOAPMonitorServicedisplay-name>
<servlet-class>
org.apache.axis.monitor.SOAPMonitorService
servlet-class>
<init-param>
<param-name>SOAPMonitorPortparam-name>
<param-value>5001param-value>
init-param>
<load-on-startup>100load-on-startup>
servlet>
<servlet-mapping>
<servlet-name>AxisServletservlet-name>
<url-pattern>/servlet/AxisServleturl-pattern>
servlet-mapping>
<servlet-mapping>
<servlet-name>AxisServletservlet-name>
<url-pattern>*.jwsurl-pattern>
servlet-mapping>
<servlet-mapping>
<servlet-name>AxisServletservlet-name>
<url-pattern>/services/*url-pattern>
servlet-mapping>
<servlet-mapping>
<servlet-name>SOAPMonitorServiceservlet-name>
<url-pattern>/SOAPMonitorurl-pattern>
servlet-mapping>
<session-config>
<!-- Default to 5 minute session timeouts -->
<session-timeout>5session-timeout>
session-config>
<mime-mapping>
<extension>wsdlextension>
<mime-type>text/xmlmime-type>
mime-mapping>
<mime-mapping>
<extension>xsdextension>
<mime-type>text/xmlmime-type>
mime-mapping>
只要将上述的配置信息加入到你的web应用中就可以将Axis集成到你自己的项目中去了。还有一点需要说明,那就是除了这个配置以外还有将你的Axis.jar和其他必要的jar文件加入到你的WEB-INF/lib目录中,以及发布你的的webservice的classes到WEB-INF/classes/中。
接《用Axis创建的Webservice的集成与发布(上)》。
需要说明的有下面两个配置:
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
这个配置了指出所有webservice的访问都是以 "web应用名/service/webservice名称" 的形式来访问的。你可以更改它的名字,但是请注意。这个需要与你的其他webservice配置文件匹配或者说同步。如WEB-INF下的server-config.wsdd文件中对webservice的配置。还有java2wsdl和wsdl2java工具生成的代码中的配置。如:wsdl2java工具生成的类MobileBossServiceLocator 类中的这个URL的默认配置
private java.lang.String MobileBoss_address = "http://localhost:8080/axis/services/MobileBoss";
除了上面的那个配置以外还有一个比较重要的配置:
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>*.jws</url-pattern>
</servlet-mapping>
这个是通过jws既java源代码的方式发布webservice。这种情况用的比较少。知道有这个配置才能使用jws就可以了。
当然了除了这两个配置以外还有许多配置如timeout配置和监控器配置,这里就不多说了。我会在以后的高级应用中说明其他配置的功用。祝大家工作顺利。that's all!
发表评论
-
webwork的iterator不支持嵌套List?
2009-01-08 16:54 1311因为页面采用了webwork的标签,今天遇到一个麻烦事情,就是 ... -
MyEclipse Database Explorer 连接数据库
2008-11-06 11:40 0环境: 1.MyEclipse 6.5.0 GA 2.jdk1 ... -
Webservice错误
2008-04-01 18:18 2284AxisFault faultCode: {http://s ... -
日期加减(Calendar)
2008-01-04 16:35 10690package test; import java. ... -
Tomcat内存释放不了
2007-12-27 18:11 10464今天公司CMS的tomcat又挂掉了,之前挂了一次.出现 ... -
使用Axis开发Web Service程序-入门
2007-12-21 15:47 18784今天看了一个上午Axis,现在终于可以调通了,主要是在ht ... -
FCKeditor
2007-08-19 20:04 2568FCKeditor 的例子,里面是FCKeditor + 少量 ... -
AJAX JSON-RPC + MYSQL 数据库登陆和查询操作
2007-08-16 14:48 3256第一步: 建立mysql 数据库,创建noteuser表和增加 ... -
AJAX+JSON+DOJO+MYSQL 登陆和查询
2007-08-16 14:29 4877第一步: 建立mysql 数据库,创建noteuser表和增加 ...
相关推荐
标题中的“手把手教你用axis1.4搭建webservice”是指一篇教程,旨在指导读者如何使用Axis1.4这个开源工具来创建和部署Web服务。Axis是Apache软件基金会的一个项目,它提供了一种简单的方式来实现Java到SOAP(Simple ...
本教程将详细介绍如何使用 AXIS 开发工具创建并发布 WebService。AXIS 是一个开源的 Java SOAP 工具包,它允许开发者轻松地创建、部署和使用 WebServices。在开始之前,确保你已经搭建了合适的开发环境,包括 JDK ...
Axis2是目前比较流行的WebService... 本课程通过一套完备的WebService电子书教程+20多讲教学视频+ QQ群中老师辅导的教学服务方式的教学方式, 手把手辅导学员掌握Axis2的核心技术,并一步步带领学员完成这三个项目。
在Java中,我们可以使用Apache Axis、JAX-WS(Java API for XML Web Services)或者Spring框架来创建和消费Web服务。 教程开始,我们先确保安装了必要的开发环境,比如Java Development Kit(JDK)和构建工具如...
标题 "FLEX资源---------手把手实现WebService服务与通讯" 提供了一个关于使用FLEX与WebService进行通信的主题。这篇博文可能是作者分享的一种详细教程,指导读者如何在实际开发中实现这一功能。结合描述中的链接,...
【WebService概念】 Web Service是一种基于开放标准的互操作机制,允许不同应用程序和平台通过互联网进行通信。这种通信是基于XML(eXtensible Markup Language)的,确保数据能够在各种编程语言和操作系统之间无缝...
浪曦航母战斗编队式企业级项目培训系列明细 JAVA,JSP/Servlet基础 Struts2 ...Mule Esb发布基于CXF,Axis的WebService, Extjs3.2与Html/css/js整合打造不规则九宫格效果 JBPM4.4开发销售工作流