JF,Hey, guy. Don't admire me!

解决方案 »

  1.   

    我吐血了,刚整理好的,不小心刷新了,全没了,我哭。to vcvj 把你的文章里的东西放点上来好不?实在是郁闷And now... Some Services
    • AdminService (wsdl) 
    o AdminService 
    • Version (wsdl) 
    o getVersion 
    • Authentication (wsdl) 
    o toVerifyCheck 
    o toVerifyCheck 
    可以看到,在services/下提供三个服务,前两个是Axis自提供,后面则是已经deploy的服务接口。发布一个服务接口比较麻烦(如果纯敲代码,所以我们一般会简单地编写个如下形式的批处理或用ant实现或者在Jbuilder加上ant make.
    Do.bat含如下:
    java -cp %1/axis.jar;%1/jaxrpc.jar;%1/saaj.jar;%1/commons-logging.jar;%1/commons-discovery.jar;%1/wsdl4j.jar;%1/soap.jar;.;  org.apache.axis.client.AdminClient %2 -p 80 %3执行如下:
    do ../lib deploy.wsdd我把do.bat 放在工程classes下了,当然许多axis支持的jar类会在../lib(WEB-INF/lib)下了,所以指定参数1为 ../lib, 参数2指定你要做的动作定义(.wsdd),当然有时你的该web应用程序作为发布某指定地址就会出现发布是默认地址如下所示:
    E:\Start\defaultroot\WEB-INF\classes>java -cp ../lib/axis.jar;../lib/jaxrpc.jar;../lib/saaj.jar;../lib/commons-logging.jar;../lib/commons-discovery.jar;../lib/wsdl4j.jar;../lib/soap.jar;.;  org.apache.axis.client.AdminClient deploy.wsdd -p
    80
    Processing file deploy.wsdd
    Exception:: (404)/axis/services/AdminService这种情况我们通常有时可能要为该默认地址作些指定时就要加如下参数
    -lhttp://localhost/start/services/AdminService当然你也要为你的deploy作你要定义的动作文件:
    deploy.wsdd:
    <deployment xmlns="http://xml.apache.org/axis/wsdd/"
                xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
     <service name="Authentication" provider="java:RPC">
      <parameter name="className" value="vcvj.webservices.Authentication"/>
      <parameter name="allowedMethods" value="*"/>
     </service>
    </deployment>应该可以看出两个重点属性,一个是发布到services/….的服务名,一个是实质class指定,当然该类在你该地址可以找到,现在你该知道我要在classes进行do.bat动作的原因了吧,调试时类更新后不用再do it.我就是通过这里的内容做的映射。呵呵……实在没时间写了,有机会整理下重新发吧。