axis入门

首先将axis的jar包添加到classpath中

1.根据接口生成wsdl,注意要在工程的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"  webservice.example2.server.MobileBoss

参数说明: -o  输出wsdl文件名称

                   -l 访问的url (你的webservice地址,最后的路径名MobileBoss会与后面生成的文件有关)

                  -n 命名空间

                 -p  包名 命名空间的名字。(urn:是命名空间的缩写,必须有!)
                   包名其实没什么关系,如果你不用这个wsdl文件的话。

               webservice.example2.MobileBoss 是接口的全路径。包名+接口名。



2.根据wsdl生成java文件和deploy.wsdd

C:\ws\classes>java org.apache.axis.wsdl.WSDL2Java -o . -d Session -s -S true  -Nurn:MobileBoss webservice.example2.auto mb.wsdl

参数说明: -o 输出文件所在目录( .-代表当前目录 )

                   -s生成server端绑定代码

                   -d发布范围 (注意此参数)

                  -S是否产生发布和撤销webservice的deploy.wsdd和undeploy.wsdd文件。ture代表生成发布文件。

                  -Nurn:命名空间 包名
                 
                  webservice.example2.auto  为文件输出目录

                 mb.wsdl - wsdl文件名。
                
                
                
3.生成的MobileBossSoapBindingImpl文件中加入业务逻辑

4.在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>
  <servlet>
   <display-name>Axis Admin Servlet</display-name>
   <servlet-name>AdminServlet</servlet-name>
   <servlet-class>
    org.apache.axis.transport.http.AdminServlet
   </servlet-class>
   <load-on-startup>100</load-on-startup>
  </servlet>
  <servlet>
   <display-name>SOAPMonitorService</display-name>
   <servlet-name>SOAPMonitorService</servlet-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>/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>
 
 
5.发布工程,启动web服务器

6.通过deploy.wsdd生成server-config.wsdd,以达到发布webservice的目的
D:\apache-tomcat-5.5.25\webapps\axis\WEB-INF\classes\webservice\example2\auto>java  org.apache.axis.client.AdminClient -lhttp://localhost:8080/axis/services/AdminService  deploy.wsdd

-l后的axis为工程名称

7.测试代码

ClientRequest req = new ClientRequest();  

         req.setAmount(1000);  

         req.setOpType("charge");  

         req.setPhoneNumber("13912345678");  

         MobileBoss Service sl = new MobileBoss ServiceLocator();  

         URL url = new URL("http://localhost:8080/axis/services/MobileBoss");  

         MobileBoss mb = sl. getMobileBoss(url);  

//         MobileBoss mb = sl.getMobileBoss();//default port  

         ServerResponse resp = mb.charge(req);  

         System.out.println("client result:"+resp.getResultCode()+"\nclient message:"+resp.getMessage());

你可能感兴趣的:(apache,tomcat,Web,servlet,webservice)