.net调用Java开发的webservice接口(.net中直接web服务引用wsdl),可是有点值就是解析为null,而soapUI监控收发正常

.net调用Java开发的webservice接口(.net中直接web服务引用wsdl),可是有点值就是解析为null,而soapUI监控收发正常

.net调用Java开发的webservice接口(.net中直接web服务引用wsdl),可是有些值就是解析为null,而soapUI监控收发正常
.net调用Java开发的webservice接口(.net中直接web服务引用wsdl),可是有些值就是解析为null,而soapUI监控收发正常
------解决思路----------------------
经常发现这类问题,主要是返回的数据转换问题造成,一般情况下不要直接引用wsdl的方式(如果的调用.Net开发的webservice可以),用HttpWebRequest方式获取返回的数据,然后再解析,这种方式比引用wsdl成功率高,至于如何传参数,可以用
SoapUI工具进行分析,能看到该怎样传参数
还有用HTTPAnalyzerFull工具可以进行抓包,看看提交和返回的是什么内容

不管是.net 调用java或者Java调用.net,一般用以上两个工具都能解决问题 


------解决思路----------------------
引用:
 url:webservice地址
param:提交的参数,一般是xml格式,用SoapUI工具可以查看传的xml格式
public string GetGsReturn(string url, StringBuilder param)//提交到webservice并返回结果
  {
   string responseString = string.Empty;
   try
   {
    byte[] bs = Encoding.UTF8.GetBytes(param.ToString());

    HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(url);
    myRequest.Method = "post";

    myRequest.Headers.Add("SOAPAction", "\"\"");
    myRequest.Headers.Add("Accept-Encoding", "gzip,deflate");
    myRequest.ContentType = "text/xml; charset=utf-8";

    myRequest.KeepAlive = true;
    myRequest.ContentLength = bs.Length;
    myRequest.UserAgent = "Apache-HttpClient/4.1.1 (java 1.5)";

    Stream reqStream = myRequest.GetRequestStream();
    reqStream.Write(bs, 0, bs.Length);

    HttpWebResponse myResponse;
    try
    { myResponse = (HttpWebResponse)myRequest.GetResponse(); }
    catch (WebException ex)
    { myResponse = (HttpWebResponse)ex.Response; }
    if (myRequest != null)
    {
     StreamReader sr = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);
     responseString = sr.ReadToEnd();//返回的数据
    }
   }
   catch (Exception ex)
   {
    responseString = ex.Message;
   }
   return responseString;
  }

为什么我用你的代码返回的是wsdl?
------解决思路----------------------
我们调用对方公司的服务(Java写的),我也遇到这个问题,

实在没辙了 ,用了ChinaOneCup的方法可以成功