.NETWebService,如何访问。。。?

.NETWebService,如何访问。。。?,.net,web-services,soap,.net,Web Services,Soap,注意:我只是在使用webservice,我无法控制webservice代码 因此,在.NET2.0中,我引用了webservice,并在webservice命名空间中看到了一个类,比如foobar。它的定义是: public class foobar : System.Web.Services.Protocols.SoapHttpClientProtocol public interface foobarSoap 但是在.NET3.5中,当我添加对同一Web服务的引用时,我不再有这个foob

注意:我只是在使用webservice,我无法控制webservice代码

因此,在.NET2.0中,我引用了webservice,并在webservice命名空间中看到了一个类,比如foobar。它的定义是:

public class foobar : System.Web.Services.Protocols.SoapHttpClientProtocol
public interface foobarSoap
但是在.NET3.5中,当我添加对同一Web服务的引用时,我不再有这个foobar类可用。我确实看到了foobarSoap,它是一个公开上述foobar类中所有方法的接口。它的定义是:

public class foobar : System.Web.Services.Protocols.SoapHttpClientProtocol
public interface foobarSoap
但是,它没有公开属性(出于明显的原因)


我需要访问这些属性。如何操作?

您可以尝试使用Web服务描述语言工具(
Wsdl.exe
)生成实际的类文件:

wsdl.exe/语言:cshttp://www.example.com/FooService.wsdl


您可以在其上获取有关的详细信息。

您可以尝试使用Web服务描述语言工具(
Wsdl.exe
)生成实际的类文件:

wsdl.exe/语言:cshttp://www.example.com/FooService.wsdl


您可以在其上获得有关的更多信息。

我有一种隐秘的感觉,即这些属性不会成为服务定义(WSDL)的一部分,这意味着您可能无法使用它们。如果可能的话,试着说服维护服务的人将属性作为实际方法公开

很可能您将无法访问这些属性,在这种情况下,您可能只是运气不好。对不起

我将尝试公开一个属性,然后在这里报告结果

编辑:无法使用WCF公开接口属性,它只是无法编译

[ServiceContract]
public interface IFooService
{
    [OperationContract] // This is not allowed, it will not compile
    string Name { get; set; }
}
编辑:也不能使用ASMX web服务完成:(


我有一种隐秘的感觉,即属性不会成为服务定义(WSDL)的一部分,这意味着您可能无法使用它们。如果可能,请尝试说服维护服务的人员将属性作为实际方法公开

很可能您将无法访问这些属性,在这种情况下,您可能只是运气不好。对不起

我将尝试公开一个属性,然后在这里报告结果

编辑:无法使用WCF公开接口属性,它只是无法编译

[ServiceContract]
public interface IFooService
{
    [OperationContract] // This is not allowed, it will not compile
    string Name { get; set; }
}
编辑:也不能使用ASMX web服务完成:(


我刚刚创建了一个示例项目,并使用“添加服务参考”菜单创建了该服务的web代理:

http://www.xmlme.com/WSShakespeare.asmx
VisualStudio2008基于WSDL生成了一个接口和一个代理类


它似乎工作正常。我是否遗漏了什么。

我刚刚创建了一个示例项目,并使用“添加服务参考”菜单创建了该服务的web代理:

http://www.xmlme.com/WSShakespeare.asmx
VisualStudio2008基于WSDL生成了一个接口和一个代理类


它似乎工作正常。我是否遗漏了什么。

我从2005年升级到2008年时遇到了类似的问题。当您单击“添加服务引用”时,我想您遗漏了什么,此时会出现一个较新的对话框。单击底部的“高级”按钮,然后在出现的下一个对话框中,单击“兼容性”部分底部的“添加Web引用”按钮。然后,您将获得最有可能习惯的对话框,并且将具有标准的2.0代理类。

从2005 t升级时,我遇到了类似的问题o 2008。当您单击“添加服务引用”时,我认为您缺少了什么,此时会出现一个较新的对话框。单击底部的“高级”按钮,然后在出现的下一个对话框中,单击底部的“兼容性”部分中的“添加Web引用”按钮。然后,您将获得最常用的对话框,该对话框将具有标准的2.0代理类