快速部署axis

服务器端部署
第一步    导入所需axis的jar包到你的web工程
第二步    编写需要发布的方法
public   class  sayHello {
   
public String sayHello(String name){
      
return name + "web service";
   }

}
第三步   修改web.xml加入以下内容
< servlet >
            
< servlet-name > AxisServlet </ servlet-name >
            
< display-name > Apache-Axis Servlet </ display-name >
            
< servlet-class >
            org.apache.axis.transport.http.AxisServlet
            
</ servlet-class >
            
</ servlet >
    
< servlet >
        
< servlet-name > AdminServlet </ servlet-name >
        
< display-name > Axis Admin Servlet </ display-name >
        
< servlet-class >
            org.apache.axis.transport.http.AdminServlet
        
</ servlet-class >
        
< load-on-startup > 100 </ load-on-startup >
    
</ servlet >
    
< servlet >
            
< servlet-name > SOAPMonitorService </ servlet-name >
            
< display-name > SOAPMonitorService </ display-name >
            
< servlet-class >
            org.apache.axis.monitor.SOAPMonitorService
            
</ servlet-class >
            
< init-param >
            
< param-name > SOAPMonitorPort </ param-name >
            
< param-value > 5001 </ param-value >
            
</ init-param >
            
< load-on-startup > 100 </ load-on-startup >
            
</ servlet >
< servlet-mapping >
            
< servlet-name > AxisServlet </ servlet-name >
            
< url-pattern > /axis/servlet/AxisServlet </ url-pattern >
</ servlet-mapping >
            
< 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 >
            
< servlet-mapping >
            
< servlet-name > SOAPMonitorService </ servlet-name >
            
< url-pattern > /SOAPMonitor </ url-pattern >
            
</ servlet-mapping >
            
<!--  uncomment this if you want the admin servlet  -->
           
            
< servlet-mapping >
            
< servlet-name > AdminServlet </ servlet-name >
            
< url-pattern > /axis/servlet/AdminServlet </ url-pattern >
            
</ servlet-mapping >  
第四步   编写server-config.wsdd 放入web.xml所在目录
<? xml version="1.0" encoding="UTF-8" ?>
< deployment  xmlns ="http://xml.apache.org/axis/wsdd/"  xmlns:java ="http://xml.apache.org/axis/wsdd/providers/java" >
 
< globalConfiguration >
  
< parameter  name ="sendMultiRefs"  value ="true" />
  
< parameter  name ="disablePrettyXML"  value ="true" />
  
< parameter  name ="adminPassword"  value ="admin" />
  
< parameter  name ="attachments.Directory"  value ="C: omcatwebappswssWEB-INFattachments" />
  
< parameter  name ="dotNetSoapEncFix"  value ="true" />
  
< parameter  name ="enableNamespacePrefixOptimization"  value ="false" />
  
< parameter  name ="sendXMLDeclaration"  value ="true" />
  
< parameter  name ="sendXsiTypes"  value ="true" />
  
< parameter  name ="attachments.implementation"  value ="org.apache.axis.attachments.AttachmentsImpl" />
  
< requestFlow >
   
< handler  type ="java:org.apache.axis.handlers.JWSHandler" >
    
< parameter  name ="scope"  value ="session" />
   
</ handler >
   
< handler  type ="java:org.apache.axis.handlers.JWSHandler" >
    
< parameter  name ="scope"  value ="request" />
    
< parameter  name ="extension"  value =".jwr" />
   
</ handler >
  
</ requestFlow >
 
</ globalConfiguration >
 
< handler  name ="URLMapper"  type ="java:org.apache.axis.handlers.http.URLMapper" />
 
< handler  name ="LocalResponder"  type ="java:org.apache.axis.transport.local.LocalResponder" />
 
< handler  name ="Authenticate"  type ="java:org.apache.axis.handlers.SimpleAuthenticationHandler" />
   
 
<!-- user service start  -->
 
<!-- 增加一个服务只需新增以下代码  -->
 
< service  name ="HelloWebService"  provider ="java:RPC" >
     <!-- 发布的方法 -->
   < parameter  name ="allowedMethods"  value ="*" />
  
< parameter  name ="className"  value ="cn.com.hnisi.sayHello" />   
 
</ service >
 
<!--  end  -->
 
< service  name ="AdminService"  provider ="java:MSG" >
  
< parameter  name ="allowedMethods"  value ="AdminService" />
  
< parameter  name ="enableRemoteAdmin"  value ="false" />
  
< parameter  name ="className"  value ="org.apache.axis.utils.Admin" />
  
< namespace > http://xml.apache.org/axis/wsdd/ </ namespace >
 
</ service >  
 
< service  name ="Version"  provider ="java:RPC" >
  
< parameter  name ="allowedMethods"  value ="getVersion" />
  
< parameter  name ="className"  value ="org.apache.axis.Version" />
 
</ service >
 
< transport  name ="http" >
  
< requestFlow >
   
< handler  type ="URLMapper" />
   
< handler  type ="java:org.apache.axis.handlers.http.HTTPAuthHandler" />
  
</ requestFlow >
  
< parameter  name ="qs:list"  value ="org.apache.axis.transport.http.QSListHandler" />
  
< parameter  name ="qs:wsdl"  value ="org.apache.axis.transport.http.QSWSDLHandler" />
  
< parameter  name ="qs.list"  value ="org.apache.axis.transport.http.QSListHandler" />
  
< parameter  name ="qs.method"  value ="org.apache.axis.transport.http.QSMethodHandler" />
  
< parameter  name ="qs:method"  value ="org.apache.axis.transport.http.QSMethodHandler" />
  
< parameter  name ="qs.wsdl"  value ="org.apache.axis.transport.http.QSWSDLHandler" />
 
</ transport >
 
< transport  name ="local" >
  
< responseFlow >
   
< handler  type ="LocalResponder" />
  
</ responseFlow >
 
</ transport >
</ deployment >
第五步   启动tomcat 或weblogic,
部署成功。

客户端调用
第一种方法
public   static   void  main(String[] args)  {
        
// TODO Auto-generated method stub
        try {
            
// 服务端的url,需要根据情况更改。
            String endpointURL = "http://192.168.16.28:7001/basic/services/urn:MessageService?wsdl";//
            
// Web服务端点地址            
            Service service = new Service();
            Call call 
= (Call) service.createCall();
            call.setTargetEndpointAddress(
new java.net.URL(endpointURL));
            call
                    .setOperationName(
new QName(endpointURL,
                            
"sayHello"));// 设置操作的名称。            
            call.addParameter("name", XMLType.XSD_STRING, ParameterMode.IN);// 参数的类型
            call.setReturnType(XMLType.XSD_STRING);// 返回的数据类型
            
//System.out.println(call.getPortName().toString());
            
            String ret 
= (String) call.invoke(new Object[] {     new String("my") });// 执行调用            
            System.out.println("返回状态:" + ret);

        }
 catch (Exception e) {
            e.printStackTrace();
        }

    }
第二种方法,根据wsdl文件生成代码,这里不作介绍
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值