为何Web Service接口得不到传递过来的参数值?

flyfishcool 2003-08-19 10:37:09
我写了一个web service接口,其中有一个有一个方法有三个参数(byte[],int,string).但每次调用该方法但时候,总是最后一个string参数的值传不过来,显示为null。前两个参数正常,我跟踪断点,在调用之前,调用方的参数是有值的。
请各位高手指点。谢谢!
...全文
183 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyfishcool 2003-08-19
  • 打赏
  • 举报
回复
这样是能传过来的,但是三个参数时,当client端的string是用.net的序列化方法产生的string就不行了。
JensiaTsang 2003-08-19
  • 打赏
  • 举报
回复
webservice:
public FunName(string lStr)

client:
FunName("aaa");

传不过吗?!
flyfishcool 2003-08-19
  • 打赏
  • 举报
回复
很着急的,有没有人会啊。
flyfishcool 2003-08-19
  • 打赏
  • 举报
回复
我通过下面两个方法首先将对象objywXml中的数据转换到byte数组ywXmlbyte中,再调用下面的方法将数组转换为string。但这个字符串就不能被有些机器得到。
public int Serialize(YWXML objywXml, ref byte[] ywXmlbyte)
{
///将egXML对象序列化为egXMLbyte
///成功返回1,失败返回-1
///

int iRet = 1;
try
{
XmlSerializer serializer = new XmlSerializer(typeof(YWXML));
MemoryStream ms = new MemoryStream();
Stream stream = ms;
serializer.Serialize(stream,objywXml);
ywXmlbyte = new Byte[stream.Length];
//指针归零
stream.Seek(0, SeekOrigin.Begin);
stream.Read (ywXmlbyte,0,(int)stream.Length);
stream.Close();
}
catch(Exception ex)
{
iRet = -1;
Console.WriteLine(ex.ToString());
}
return iRet;
// TODO : implement
}
public int ByteToString(byte[] ywXmlbyte,ref string strXML)
{
MemoryStream ms = new MemoryStream(ywXmlbyte);
StreamReader sr = new StreamReader(ms);
try
{
strXML = sr.ReadToEnd();
}
catch
{
return -1;
}
return 1;
}
fq_ln 2003-08-19
  • 打赏
  • 举报
回复
还是你的其他地方有问题,具体什么地方出现错误,我也不太清除,把你的代码贴处来让大家看看。
我做过很多实验,没有你说的错误。
你单独做一个实验看看,应该没有问题。
flyfishcool 2003-08-19
  • 打赏
  • 举报
回复
怎么没人能解释一下吗?

12,162

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧