日期:2014-05-20  浏览次数:20711 次

C# 请求webservice 急急急
请求webservice的一个方法,这个方法是返回一个btye[],但系当我客户端已调用这个方法的时候,就出错了



错误:
? 异常:System.InvalidOperationException

? 客户端发现响应内容类型为“”,但应为“text/xml”。\r\n请求失败,响应为空。



而那个webservice用IE是可以正常打开的,没有报错
IIS也试过重启了

我也试过在那个webservice上写一个方法,返回一个字符串,然后客户端去调用,这就没有出错!!

请问各位高手有什么解决方法啊??

------解决方案--------------------
webservice 所接受的参数必需是序列化的,懂吗?所谓序列化的,简单一点,就是传输的时候可以转换成字符串(流)传输的。。。对于不可序列化的对象,是不行滴。。。byte[] 就是这样的。
------解决方案--------------------
不带参数返回值也要序列化成byte[] (流)

接收端要反序列化成对象。。跨语言的实现方法。里面的lis还需要自己定义
------解决方案--------------------
客户端是通过wsdl生成的proxy吗?
我测试OK厄,你是如何调用的?

服务端:
C# code
[WebMethod]
public byte[] GetData()
{
    return System.Text.Encoding.UTF8.GetBytes("Hello World");
}

------解决方案--------------------
应该是你WebService里面返回的包含特殊字符,例如:'