Java webservice中函数提供的返回值是list<map>,我是在vs2005下调用此函数,请问,java的list<>在c#中应使用何种类型获使用,java的map对象在c#中应使用何种类型获取和使用?前提,Java webservice无权修改。或者有什么其它的方法变通使用?

解决方案 »

  1.   

    知道map是什么类别的对象还是一个??给个例子你看看Member是一个类Member m1 = new Member() { f_name="hx",flg="f" };
                Member m2 = new Member() { f_name = "hz", flg = "a" };
                Member m3 = new Member() { f_name = "hg", flg = "d" };
                List<Member> mem=new List<Member>();
                mem.Add(m1);
                mem.Add(m2);
                mem.Add(m3);
               string jsonStr = logic.ExtJson<List<Member>>.WriteJson(mem);
               Response.Write(jsonStr);
               Response.Write("<br/>");           List<Member> members = logic.ExtJson<List<Member>>.ReadJosn(jsonStr);
      

  2.   

    估计他说的是那个标准的MAP,C#中对应的是DICTIONARY
      

  3.   

    java中的 list,翻译成 soap后,是array。拿到wsdl后,添加web引用,可以生成stub,然后参考下面的调用方式即可。
    ------------------------------------[转]c#调用java webservices
    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://momy.blogbus.com/logs/40398609.html与大家共享方法如下:(c#(2003/2005)如何调用java的Map类型成功了)
    1、修改wsdl中的方法返回是Map类型改为:object 
    2、修改Map 的返回类型为 object 
    3、修改 [System.Xml.Serialization.SoapTypeAttribute(Namespace="http://xml.apache.org/xml-soap")] 为
    [System.Xml.Serialization.SoapTypeAttribute(Namespace="http://xml.apache.org/xml-soap1")]
    就以上3步就ok了,支持2003/2005调用方法:  Web.FaxService web = new WindowsApplication2.Web.FaxService();            object oo = web.ss("参数1", "参数2","参数3",参数4);            System.Xml.XmlElement erm = null;
                string tmpstr = null;
                System.Array tmpary = (System.Array)oo;
                int pm = tmpary.Length - 1;
                for (int i = 6; i <= pm; i++)
                {
                    erm = (System.Xml.XmlElement)tmpary.GetValue(i);
                    tmpstr = erm.InnerText;
                   
                }            MessageBox.Show(tmpstr);最后成功了。希望对大家有所帮助。  
      

  4.   

    如果java的webservice已经部署了,最简单的方法是在vs中Add web reference...vs会生成代理类。你只要操作代理类就可以了。我调用过Ruby On Rail的web service。超级简单。