在我的一个测试Web项目中的.aspx的代码隐藏中,我试图将此变量设置为返回的对象。我已经在我的Web项目中引用了Web服务,这很好。无法将源类型转换为目标类型
我正在打电话给我们的Web服务方法之一:
CompanyName.CC.DebitResponse debitRespnose = CCService.IssueDebit(...);
中的.asmx IssueDebit回报
键入CompanyName.CC.DebitResponse。
但我得到这个错误:
"Cannot convert source type MyWebTestProject.CCService.DebitResponse to target type CompanyName.CC.DebitResponse"
我的意思是我设置的变量,在我服务的方法定义的返回类型是完全一样的。那为什么会抱怨呢?
在我的web服务,这里的IssueDebit:
public DebitResponse IssueDebit(...)
{
...
}
我知道肯定DebitResponse在IssueDebit的类型是CompanyName.CC.DebitResponse
更新。
好的,我很困难。这是实际的代码(在我为了隐私目的而更改名称之前)。请不要再贴上任何这(或者如果你彻底改变名称,因为这是敏感的)
http://www.elbalazo.net/post/codebehind.txt和 http://www.elbalazo.net/post/webservice.txt
这才是真正的代码。在后面的代码中查看IssueDebit。
我在测试Web项目中的Web服务参考名为LitleService。
当我在对象资源管理器中查看该服务时,我注意到它具有相互冲突的类型。那么为什么这种类型会在我的服务中,如果我没有在我的.asax中定义这个类?
http://www.elbalazo.net/post/webservice_objectexplorer.jpg
在另一种方法我在我的代码隐藏掐灭,我在帕拉姆越来越暧昧参考这里:
private void SetIssueDebitResults(ServiceAuthResponse response)
{
//not implemented
}
Ambiguous Reference:
xxx.Litle.ServiceAuthResponse
WebServiceTesting.LitleService.ServiceAuthResponse
那么,为什么我得到ServiceAuthResponse OBJET在我这样的痘痘服务当实际的ServiceAuthResponse类的来源和定义是在xxx.Litle.ServiceAuthResponse ...一个完全不同的项目?我已经在这两个Web项目中引用了该程序集(测试项目和包含实际.asmx的我的Web项目)。
我注意到我的页面顶部有点插入,我不知道如何:使用ServiceAuthResponse = WebServicesTesting.CCService.DebitResponse;那是什么?我没有插入这个。 – PositiveGuy 2009-09-30 16:16:07