web services 之 axis2

(1)下载Axis2,并解压。
官方网址:http://ws.apache.org/axis2/
(2)设置环境变量
SET AXIS2_HOME=解压后bin目录所在的目录,尽量不要有空格或中文
SET PATH=%AXIS2_HOME%\bin;

(3) 修改bin目录中的wsdl2java.bat
为了方便使用,以及避免一些NoClassFoundException类似的问题,修改wsdl2java.bat文件,查找:
set _RUNJAVA="%JAVA_HOME%\bin\java"
在这一行下面增加如下一行
set JAVA_OPTS="-Djava.ext.dirs=%AXIS2_HOME%\lib"

 
 WSDL2Java -uri \WSDL_North_070929\ctcc_mm_send_service_2_2.wsdl -o src
 WSDL2Java -uri \WSDL_North_070929\ctcc_mm_send_service_2_2.wsdl -p src -d xmlbeans -s -o build/client
客户端

1. 生成存根代码
 WSDL2Java -uri http://localhost:8089/SayHello/services/BookService?wsdl -p src -d xmlbeans -s -o build/client
 或
 WSDL2Java -uri http://localhost:8089/SayHello/services/BookService?wsdl -o src
try {
         BookServiceStub stock=new BookServiceStub();
         FindBook findBook3=new FindBook();
         findBook3.setIsbn("0123456789");
         FindBookResponse Response=stock.findBook(findBook3);
         System.out.println(Response.get_return().getAuthor());
        
               } catch (java.rmi.RemoteException remoteException) {
                   remoteException.printStackTrace();
               }

 


服务端
动态web服务

 
 web.xml 添加如下:

  <servlet>
        <servlet-name>AxisServlet</servlet-name>
        <servlet-class>
            org.apache.axis2.transport.http.AxisServlet
        </servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>AxisServlet</servlet-name>
        <url-pattern>/services/*</url-pattern>
    </servlet-mapping>

 

service.xml  代码

<serviceGroup>
 <service name="BookService"
             targetNamespace="http://ws.apache.org/axis2/samples/book/">
  <description>
   Book sample service
  </description>
        <schema schemaNamespace="http://ws.apache.org/axis2/samples/book/xsd/"/>
        <parameter name="ServiceClass" locked="false">samples.demo.BookService</parameter>
  <operation name="getBooks">
   <messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
  </operation>
        <operation name="findBook">
            <messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
        </operation>
 </service>
</serviceGroup>


wsdl 地址
http://127.0.0.1:8089/SayHello/services/BookService?wsdl

在调试中遇见的问题:

1:<error>

  < description>Unable to generate WSDL 1.1 for this service</description>
 <reason>If you wish Axis2 to automatically generate the WSDL 1.1, then please +set useOriginalwsdl as false in your services.xml</reason>
  </error>

在service.xml中改为<parameter name="useOriginalwsdl">false</parameter>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值