Axis
配置:
1,axis本身可以servlet的形式集成到任何支持servlet的Web容器(web.xml)
-
<
servlet
>
<
display-name
>
Apache-Axis Servlet
</
display-name
>
<
servlet-name
>
AxisServlet
</
servlet-name
>
<
servlet-class
>
org.apache.axis.transport.http.AxisServlet
</
servlet-class
>
</
servlet
>
2,当然需要让Web容器找到org.apache.axis.transport.http.AxisServlet
将axis所需库和资源配置到classpath里面
或者将axis的lib目录拷贝到WEB-INFO下
3,然后让axis接管WebService的url(web.xml)
-
<
servlet-mapping
>
<
servlet-name
>
AxisServlet
</
servlet-name
>
<
url-pattern
>
*.jws
</
url-pattern
>
</
servlet-mapping
>
-
<
servlet-mapping
>
<
servlet-name
>
AxisServlet
</
servlet-name
>
<
url-pattern
>
/services/*
</
url-pattern
>
</
servlet-mapping
>
4,剩下的只需要告诉axis每个WebService对应着哪个Java类即可(server-config.wsdd(与web.xml同目录))
-
<
service name
="
OrganizationWebService
"
type
=""
provider
="
java:RPC
"
style
="rpc
"
use
="encoded
">
<
parameter
name
="scope
"
value
="Request
" />
<
parameter
name
="
className
"
value
="
nucleus.organization.webservice.OrganizationWebService
" />
<
parameter
name
="
allowedMethods
"
value
="
isValid, personOfID, personsOfRole, queryCategories, queryPersons
" />
<
namespace
>
http://webservice.organization.nucleus
</
namespace
>
<
typeMapping
encodingStyle
="http://schemas.xmlsoap.org/soap/encoding/
"
qname
="ns1:CategoryInfo
"
languageSpecificType
="java:nucleus.organization.webservice.CategoryInfo
"
serializer
="org.apache.axis.encoding.ser.BeanSerializerFactory
"
deserializer
="org.apache.axis.encoding.ser.BeanDeserializerFactory
"
name
="CategoryInfo
"
xmlns:ns1
="
http://webservice.organization.nucleus
" />
</
service
>
使用:
一、Axis安装 1、环境 J2SE SDK 1.3 or 1.4: 我使用 1.4.2 Servlet Container: 我使用的Tomcat 5.0
2、到 http://ws.apache.org/Axis/网站下载Axis安装包
3、解压缩安装包,将Axis_UNZIP_PATH/Axis-version/webapps下的Axis包拷贝到TOMCAT_HOME/webapps/下,以下约定Axis_HOME为该TOMCAT_HOME/webapps/Axis目录
4、启动tomcat,访问http://localhost:8080/Axis 检查安装是否成功
5、以上步骤执行成功,可以开发webservice例子了
Axis支持三种web service的部署和开发,分别为:
1、Dynamic Invocation Interface ( DII)
2、Stubs方式
3、Dynamic Proxy方式
二、编写DII(Dynamic Invocation Interface )方式web服务
1.编写服务端程序HelloClient
2、将源码拷贝到Axis_HOME下,重命名为 HelloClient.jws
3、访问连接http://localhost:8080/Axis/HelloClient.jws?wsdl,页面显示Axis自动生成的wsdl
4、编写访问服务的客户端 TestHelloClient.java
三、编写Dynamic Proxy方式访问服务
1、编写部署服务端程序,同上边DII方式,本次仍使用上边部署的HelloClient
2、编写代理接口
3、编写并执行客户端程序TestHelloClient.java
四、编写wsdd发布web服务,编写stub client访问web服务
1、编写服务端程序server,SayHello.java,编译server.SayHello.java
3、编写wsdd文件
3、将编译后的文件拷贝到Axis_HOME/WEB-INF/classes下,如:D:/tomcat/webapps/Axis/WEB-INF/classes
4、发布服务:
java org.apache.Axis.client.AdminClient deploy.wsdd
5、生成client stub文件
a:方式1
将SayHello.java拷贝到Axis_HOME/下,重命名为SayHello.jws,
执行下面的命令生存client stub
b:方式2
执行如下命令生成SayHello.wsdl
执行如下命令生成client stub
生成的stub client文件列表为:
1.SayHello.java
2.SayHelloService.java。
3.SayHelloServiceLocator.java
4.SayHelloSoapBindingStub.java
6、编写客户端程序,编译并执行
2、到 http://ws.apache.org/Axis/网站下载Axis安装包
3、解压缩安装包,将Axis_UNZIP_PATH/Axis-version/webapps下的Axis包拷贝到TOMCAT_HOME/webapps/下,以下约定Axis_HOME为该TOMCAT_HOME/webapps/Axis目录
4、启动tomcat,访问http://localhost:8080/Axis 检查安装是否成功
5、以上步骤执行成功,可以开发webservice例子了
Axis支持三种web service的部署和开发,分别为:
1、Dynamic Invocation Interface ( DII)
2、Stubs方式
3、Dynamic Proxy方式
二、编写DII(Dynamic Invocation Interface )方式web服务
1.编写服务端程序HelloClient
public class HelloClient |
2、将源码拷贝到Axis_HOME下,重命名为 HelloClient.jws
3、访问连接http://localhost:8080/Axis/HelloClient.jws?wsdl,页面显示Axis自动生成的wsdl
4、编写访问服务的客户端 TestHelloClient.java
import org.apache.Axis.client.Call; |
三、编写Dynamic Proxy方式访问服务
1、编写部署服务端程序,同上边DII方式,本次仍使用上边部署的HelloClient
2、编写代理接口
public interface HelloClientInterface |
3、编写并执行客户端程序TestHelloClient.java
import javax.xml.rpc.Service; |
四、编写wsdd发布web服务,编写stub client访问web服务
1、编写服务端程序server,SayHello.java,编译server.SayHello.java
package server; |
3、编写wsdd文件
deploy.wsdd |
3、将编译后的文件拷贝到Axis_HOME/WEB-INF/classes下,如:D:/tomcat/webapps/Axis/WEB-INF/classes
4、发布服务:
java org.apache.Axis.client.AdminClient deploy.wsdd
5、生成client stub文件
a:方式1
将SayHello.java拷贝到Axis_HOME/下,重命名为SayHello.jws,
执行下面的命令生存client stub
java org.apache.Axis.wsdl.WSDL2Java |
b:方式2
执行如下命令生成SayHello.wsdl
java org.apache.Axis.wsdl.Java2WSDL |
执行如下命令生成client stub
java org.apache.Axis.wsdl.WSDL2Java |
生成的stub client文件列表为:
1.SayHello.java
2.SayHelloService.java。
3.SayHelloServiceLocator.java
4.SayHelloSoapBindingStub.java
6、编写客户端程序,编译并执行
public class SayHelloClient |