那位有时间帮我实现一个web services A+B的计算啊。

解决方案 »

  1.   

    用AXSI2开发的一个简单例子: 首先写个简单的JAVA类,如下: 
    package part; public class Hello { 
      public int add(int a, int b){ 
      return a+b; 
      } 

    表示我开发的这个WEB SERVICE会接受一个名字,然后返回一个echo加名字: 
    编译后放在part文件夹下面,在part同级目录下运行如下命令(当然首先你必须先在电脑上配置好AXIS2) 
    %AXIS2_HOME%\bin\java2wsdl -cp . -cn part.Hello -of Hello.wsdl 
    然后会生成一个文件Hello.wsdl, 在运行: 
    %AXIS2_HOME%\bin\WSDL2Java -uri Hello.wsdl -p part.skeleton -d adb -s -ss -sd -ssi -o build\service 
    这样就会生成一些JAVA类(生成了一个build文件夹,JAVA类在这文件夹里),这些类就是服务器端的代码,然后里面有个 
    HelloSkeleton.java,里面会有个方法要你自己处理下,也就是你想实现的加法
    然后再build文件夹下运行ant(推荐使用1.7.x版本,AXIS2和ant都可以到www.apache.org里面下),然后你就可以在生产的目录里找到Hello.aar文件,把这个文件放到%TOMCAT_HOME%\webapps\axis2\WEB-INF\services下就可以了,在浏览器里输入http:\\localhost:8080\axis2,你就会发现里面有个services链接,点进去就会发现hello这个服务。
      

  2.   

    用AXSI2开发的一个简单例子: 首先写个简单的JAVA类,如下: 
    package part; public class Hello { 
      public int add(int a, int b){ 
      return a+b; 
      } 

    表示我开发的这个WEB SERVICE会接受a,b,然后返回一个a+b,: 
    编译后放在part文件夹下面,在part同级目录下运行如下命令(当然首先你必须先在电脑上配置好AXIS2) 
    %AXIS2_HOME%\bin\java2wsdl -cp . -cn part.Hello -of Hello.wsdl 
    然后会生成一个文件Hello.wsdl, 在运行: 
    %AXIS2_HOME%\bin\WSDL2Java -uri Hello.wsdl -p part.skeleton -d adb -s -ss -sd -ssi -o build\service 
    这样就会生成一些JAVA类(生成了一个build文件夹,JAVA类在这文件夹里),这些类就是服务器端的代码,然后里面有个 
    HelloSkeleton.java,里面会有个方法要你自己处理下,也就是你想实现的加法 
    然后再build文件夹下运行ant(推荐使用1.7.x版本,AXIS2和ant都可以到www.apache.org里面下),然后你就可以在生产的目录里找到Hello.aar文件,把这个文件放到%TOMCAT_HOME%\webapps\axis2\WEB-INF\services下就可以了,在浏览器里输入http:\\localhost:8080\axis2,你就会发现里面有个services链接,点进去就会发现hello这个服务。
      

  3.   

    新建一个web service project 项目testWS25,
    package com.test.client;import java.net.MalformedURLException;import org.codehaus.xfire.XFire;
    import org.codehaus.xfire.XFireFactory;
    import org.codehaus.xfire.client.XFireProxyFactory;
    import org.codehaus.xfire.service.Service;
    import org.codehaus.xfire.service.binding.ObjectServiceFactory;import com.test.ws.MathService;public class CallXfireWebService_POJO { public static void main(String[] args) {
    Service serviceModel = new ObjectServiceFactory().create(MathService.class);

    XFire xfire = XFireFactory.newInstance().getXFire();  
    XFireProxyFactory factory = new XFireProxyFactory(xfire);
    // String serviceUrl = "http://localhost:8090/xfire/services/MathService";
    String serviceUrl = "http://localhost:8086/testWS25/services/MathService";

    int p1 = 115;
    int p2 = 4;

    int p3 = 9;
    int p4 = 240;

    MathService client = null;
    try {
    client = (MathService) factory.create(serviceModel, serviceUrl);
    } catch (MalformedURLException e) {
    System.out.println( "Client call webservice has exception: " + e.toString());
    }

    int result1 = (int) client.add(p1, p2);
    int result2 = (int) client.minus(p3, p4);
    System.out.println(result1);
    System.out.println(result2);

    }
    }package com.test.ws;public interface  MathService {
    public long add(int p1, int p2);
    public long minus(int p3, int p4);
    }package com.test.ws;public class MathServiceImpl implements  MathService{

     public long add(int p1, int p2) {
     System.out.println(p1 + p2);
         return p1 + p2;
     } public long minus(int p3, int p4) {
    System.out.println(p3 - p4);
    return p3 - p4;
    }
    } web.xml:<?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
      <servlet>
        <servlet-name>XFireServlet</servlet-name>
        <servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class>
        <load-on-startup>0</load-on-startup>
      </servlet>
      <servlet-mapping>
        <servlet-name>XFireServlet</servlet-name>
        <url-pattern>/services/*</url-pattern>
      </servlet-mapping>
      <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>
    </web-app>
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://xfire.codehaus.org/config/1.0">
    <service>
      <name>MathService</name>
      <namespace>
       http://localhost:8090/XFireWebService/MathService
      </namespace>
      <serviceClass>com.test.ws.MathServiceImpl</serviceClass>
     </service>
    </beans>在项目WebServices文件下的services.xml:
    其中:
    http://localhost:8090/XFireWebService/MathService
    要改成自己tomcat服务器的端口 如8086
    CallXfireWebService_POJO类里的
    String serviceUrl = "http://localhost:8086/testWS25/services/MathService";也要改
    当然,服务是要能启动起来的。
    不清楚的话,可以Email我:[email protected]
      

  4.   

    在项目WebServices文件下的services.xml:<?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://xfire.codehaus.org/config/1.0">
        <service>
      <name>MathService</name>
      <namespace>
       http://localhost:8090/XFireWebService/MathService
      </namespace>
      <serviceClass>com.test.ws.MathServiceImpl</serviceClass>
     </service>
    </beans>
      

  5.   

    运行CallXfireWebService_POJO类里的main()函数