手把手教你学Web Service
2007-09-01 21:35:03 来源:WEB开发网Server Error in ’/WebService4’ Application.
WebService4.Service1+Foo cannot be serialized because it does not have a default public constructor.
Description: An unhandled exception occurred during the execution of the current web request.Please review the stack trace for more information about the error and where it originated in the code.
Exception Details:System.Exception: WebService4.Service1+a cannot be serialized because it does not have a default public constructor.
Source Error:一大堆Error
怎么回事!看看error吧!WebService4.Service1+Foo出问题了,什么问题?
it does not have a default public constructor.
Faint,是都有default的吗?没有,系统会生成一个的波!不管了,加上一个。
public Foo()
{
//do nothing
}
再编译,成功了!至少Hello World的第一个页面出来了点击链接,不错,如你所想,还是出现上述输入数组的情形,道理都明白了吗?
Test
No test form is available as this service or method does not support the HTTP GET protocol.
SOAP
The following is a sample SOAP request and response.
The placeholders shown need to be replaced with actual values.
没事的,象3中情况一样,调用是没有问题的,放心!
5.好像都将完了吧?没有!诸位有没有考虑到在人家的程序中调用我的时候,怎样定的输入参数的类型?该类型使我自己定义的啊!如上变量Foo。好,我们到刚才生成的Windows Application里面看看那。在Solution Explore中的localhost,右键选择Update Web Referece。(我们改过,他可不知道,呵呵)把原来的语句改成:
localhost.Service1 ls=new localhost.Service1();
localhost.Foo FooTest=new localhost.Foo();
按点的时候,自动Foo会弹出来了,一切正常,没什么特别啊?好,我们回去改改Web Service。将class Foo改为:
public class Foo
{
public Foo ()
{
}
public Foo (int x)
{
str=new string[x];
}
public class HiddenOrNot
{
public HiddenOrNot()
{
//do nothing
}
}
public string[] str;
}
Web Method不变。回去Windows Application里面,再update一次,试试输入ls.,看看弹出来什么?没有我们新加上去的HiddenOrNot类吧?奇怪,我明明声明他是public的波!怎么不行?我们再回去Web Service,将Web Method改为:
public string HelloWorld(Foo FooTest, Foo.HiddenOrNot fhTest)
{
//do something
}
回去Windows Application 里面,再update一次,试试输入ls.,再看看弹出来什么? 有了!有ls.Foo 和ls.HiddenOrNot了。看来,Web Reference中,你的Web Service对象是否可见,就是根据输入参数确定的,他才不管你是public那(对了,记得constractor要为public波,还要有default constrator)。
6.好了,剩余的问题,就是上面几种情况的综合了,根据排列组合定理...嗯,不说了。各位看官自行实践ba!
- ››web安全之信息刺探防范1
- ››webqq 最新加密算法
- ››webdriver 数据库验证方法
- ››WebSphere Application Server 7.0 XML Feature P...
- ››Web2.0网络时代基于社会影响力的声望值
- ››Web服务器搭建:配置Linux+Apache+Mysql+PHP(或Pe...
- ››WebLogic调整Java虚拟机性能优化参数
- ››webqq2.0协议研究(3)-ClientId生成
- ››Web.config配置文件
- ››WebBrowser组件的execWB方法——Delphi控制浏览器...
- ››Web前端设计模式--制作漂亮的弹出层
- ››WebSphere 反向投资者: 解决 WebSphere Applicati...
更多精彩
赞助商链接