Axis基本配置与实现

简单对象访问协议(SOAP Simple Object Access Protocol)
      简单对象访问协议是交换数据的一种协议规范,是一种轻量的、简单的、基于XML标准通用标记语言下的一个子集)的协议,它被设计成在WEB上交换结构化的和固化的信息。
 
webService三要素
SOAP-->描述传递信息的格式
WSDL(Web Services Description Language)-->描述访问的具体接口
UDDI(Universal Description Discovery and Integration)
-->管理,分发,查询WebService
 
Axis部署 WebService:
1>jar包:

activation.jar

asm-attrs.jar

asm.jar

axis-ant.jar

axis.jar

commons-discovery-0.2.jar

commons-logging-1.0.4.jar

dom4j-1.6.1.jar

jaxrpc.jar

log4j-1.2.8.jar

mail.jar

saaj.jar

wsdl4j-1.5.1.jar

xerces-2.6.2.jar

xml-apis.jar

XmlSchema-1.0.jar
2>配置文件server-config.wsdd+web.xml

<deployment xmlns="http://xml.apache.org/axis/wsdd/" 

   xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> 

 

     

<handler name="URLMapper"type="java:org.apache.axis.handlers.http.URLMapper"/> 

         

     

   

   

    <service name="axisTest"provider="java:RPC">     

         

       

        <parameter name="className" value="com.taikang.study.studyAxis.service.PersonInfoService"/>       

       

        <parameter name="allowedMethod" value="*">parameter>

     service> 

     

     

    <transport name="http"> 

        <requestFlow> 

            <handler type="URLMapper"/> 

        requestFlow> 

    transport>       

deployment>  
 
 
web.xml

<servlet>

    <servlet-name>AxisServletservlet-name>

    <servlet-class>org.apache.axis.transport.http.AxisServletservlet-class>

servlet>

 

<servlet-mapping>

    <servlet-name>AxisServletservlet-name>

    <url-pattern>/axis/*url-pattern>

servlet-mapping>
 
3>java文件
主要学习写客户端程序
4>访问路径: http://10.136.12.148:8080/myTemp/axis/axisTest?wsdl
myTemp是工程名
axis是web.xml中配置的名称
axisTest是接口名?wsdl表示发布wsdl,这是一个webSevice描述性文件
 

 
  
 
  
 /myTemp 这个是工程的名字,表示进入了工程,执行了默认的index.jsp文件

<welcome-file-list>

   <welcome-file>index.jspwelcome-file>

welcome-file-list>



进入了/myTemp/axis:表示可以提供的一些接口,相当于一个WebService服务界面,可能这个服务界面有多个接口,这个路径在web.xml中配置,也就是说进来的WebService请求交给了org.apache.axis.transport.http.AxisServlet这个类来处理


 


Ø  进入了myTemp/axis/axisTest,这个路径映射具体的接口类,处理客户端请求


 

Ø  最后获得了接口的详细描述界面,显示了该接口的WSDL




此处provider一直写成provicer,导致无法正常访问HelloAxis接口服务,改正后可以正常访问.

 

客户端程序:

Service service = new Service();

Call call = (Call)service.createCall();

call.setTargetEndpointAddress(newjava.net.URL(webLogUrl));//接口的url

call.setOperationName(new QName("http://serv","pdfSeal"));

result = (String) call.invoke(new Object[] { xmlContent});

 

(1)实例化一个Service类,并创建一个Call实例,sevice.createCall();创建一个请求连接对象.

(2)call.setTargetEndpointAddress:指定访问接口地址

   call.setOperationName():指定接口名字

(3)call.invoke(): 传参调用接口,返回结果,参数写在大括号中

你可能感兴趣的:(JavaWeb)