最近一个项目客户要求使用webservice共享数据,下面是他们发给我的接口文档,应该是比较简单。
惭愧,从来没做过webservice,因为时间很紧,来不及自己研究了,特求助大家,能提供源码或例子最好,感激!
下面是客户发来的webservice接口文档(已经隐去了敏感文字),从语法看他们似乎是采用的C++或.Net语法,我这边是java1.6。验证采用 SOAPHEADER 
Public class  MySoapHeader: SoapHeader
{
    public string name;
    public string psd;
}SOAP调用的返回也使用SoapHead方式:
Public class  ReturnHeader: SoapHeader
{
    public int ReturnCode; //-1:表示验证失败;0:表示验证通过; -2:表示数据操作失败;
    public string Msg; //这里用户没有定义
}
上面这段话意思我明白,就是要求通过soapHead来传递验证信息和返回数据的信息。
我以前都是直接在方法里加验证参数(很笨,汗!),不知道在java代码里怎么描述头信息。
我已经写好了我所需要提供的服务方法,已经发布并成功,也在客户端调用成功。
但我只知道使用myeclipse提供的JAS-WS工具自动生成webservice的服务端代码(客户端代码)和wsdl配置文件。
这个头信息好像不能通过java服务类自动生成(好像可以用注解,但我不会。)
验证类和返回类我已经写好了,现在的问题就是,我如何把这两个类通过soapheader来描述。
是不是在myeclipse自动生成的配置文件的基础上去手动修改来添加这些信息呢?加上后又如何能和service类关联上呢?
不知道我描述清楚没有,谢谢!

解决方案 »

  1.   

    直接让他们提供wsdl地址呗,管他用什么语言实现的
      

  2.   

    我是说我这边也要提供service的。我这边怎么写,尤其是返回值怎么封装到soaphead里。
    比如我有个一个service方法,客户那边调用这个方法插入到我的服务器一条用户信息。// 返回值 0 成功  1 失败
    public int addUser(int id, String name, String phone, String email, .........){
        。
        return 0;
    }首先怎么写代码校验?
    怎么把返回值封装到 Public class  ReturnHeader{}里面返回给用户?
      

  3.   


    ReturnCode = addUser(int id, String name, String phone, String email, .........);if(ReturnCode == 0){
        Msg = "插入成功";
    }else if(ReturnCode == -1){
        Msg = "插入失败";
    }
      

  4.   

    嗯,不是楼上的意思。我是说代理类怎么加上传soapHead的代码
      

  5.   

    在java服务类怎么配出soapheader来传输验证参数和返回参数?
    迷惑
      

  6.   

    在Net添加soapHeader似乎很简单public class MyHeader : SoapHeader 

      public string Username; 
      public string Password; 
    } [WebService(Namespace = "http://www.rainsts.net/ ", Description= "我的Web服务 ")] 
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 
    public class WebService : System.Web.Services.WebService  

      public MyHeader my;   [WebMethod] 
      [SoapHeader( "my ", Direction = SoapHeaderDirection.In)] 
      public void TestSoapHeadIn() 
      { 
      System.Diagnostics.Debug.Write(my.Username); 
      System.Diagnostics.Debug.Write(my.Password); 
      } 

    如果要改变方向,只需Direction = SoapHeaderDirection.Out但是,在java怎么做,没有人知道吗?