首页 新闻 会员 周边

c#调用 Java web service返回null的问题

0
悬赏园豆:5 [待解决问题]

    C#调用JAVA的WEBSERVICE,现在JAVA那边返回自定义对象。

    我C#这边接收到的返回值是null,但是抓包发现已经调用成功,并且返回SOAP消息。

    这几天在网上找了很多资料,总结了一下,都说有两种原因:

一:JAVA返回的XML不标准,C#这边反序列化的时候出问题

二:JAVA的SERVICE类跟返回的自定义对象的类放在两个不同的包,而C#这边生成的类两者是放在同一个命名空间的,所以C#这边会出问题。

 

现在就有个问题,JAVA那边是不可能改的,有没有其他方法可以获取到返回的消息呢?

Mr.ch的主页 Mr.ch | 初学一级 | 园豆:6
提问于:2013-06-21 15:47
< >
分享
所有回答(1)
0

有一种思路:利用服务代理:

代码:

    public string GetRequest(string url, ref CookieContainer cc)
    {
        string content = string.Empty;
        HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(new Uri(url));
        webRequest.CookieContainer = cc;
        webRequest.Method = "Get";
        webRequest.ContentType = "application/x-www-form-urlencoded";
        using (HttpWebResponse response = (HttpWebResponse)webRequest.GetResponse())
        {
            using (StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
            {
                content = sr.ReadToEnd();
            }
        }
        return content;
    }

url就填写你调用java的地址  这样你在你本地的代码里面获取后  修改成符合格式要求的json或者xml 在本地直接用ajax调用 

相当于我请求我自己的后台 而我的后台用的HttpWebRequest取请求别人的地址,这样我就可以得到相应 的内容 你说他格式不对 获取后修改 说了那么多 应该明白了吧!以前也做过应该这样的 第3方返回的格式不对 无法修改 。

s_p | 园豆:138 (初学一级) | 2013-06-26 13:14
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册