我有Visual Studio 2010 Ulitmate(使用MSDN Premium),但我似乎无法找到此文件.
我已经尝试安装Visual Studio SDK但我似乎无法找到该文件.
我查了一下:
但我似乎无法找到它.
(如果您想知道,我需要它来执行这些步骤.)
我正在尝试从客户发送给我们的一些wsdl/xsd文件生成Web Service存根.我在使用wsdl.exe之前没有遇到任何问题,而所有内容都在wsdl文件中,但是当我在wsdl文件上运行该文件时,我收到一条错误消息,指出无法导入其中一个操作,因为其中一个缺少外部xsd中的元素.
我已经尝试将一个schemeLocation参数放在元素中,它仍然无法正常工作.有没有办法说明调用wsdl.exe时xsds是什么?
我无法发布wsdl文件,因为它们被NDA覆盖.
我正在努力建立一个Java B2B网络服务的客户端,我想我已经确定了我们已经存在一段时间的问题的原因.不幸的是我无法发布WSDL.
显然,我的自动生成的代理代码(通过wsdl.exe:由于WCF不支持密码摘要而必须使用WSE 3.0)无法处理具有多个具有相同复杂返回类型的Web方法的Web服务的WSDL.
举例来说 - 一个定义以下方法的Web服务:
Public ComplexTypeX Blah();
Public ComplexTypeX Blue();
Public ComplexTypeX Foo();
Public ComplexTypeY Bar();
Run Code Online (Sandbox Code Playgroud)
在我的Reference.cs文件中,如果我注释掉调用Blah(),Blue()或Foo()中任意两个的所有代码,那么剩余的未注释方法可以被调用没有问题.但是,如果我没有注释掉这三种方法中的一种(比如Blah()和Foo()),那么在实例化 Web服务客户端代码时我会收到以下错误消息:
"Blah方法无法反映出来." "命名空间' http://some.url '中的XML元素'ComplexTypeX' 引用方法和类型.使用WebMethodAttribute更改方法的消息名称,或使用XmlRootAttribute更改类型的根元素."
现在,肯定没有任何ComplexTypeX
方法被定义为Web服务的一部分,所以我只能假设.NET(或至少wsdl.exe)不允许您使用返回复杂(用户定义)的Web服务多种方法中相同类型的类型......对吗?
当它生成代理到Web服务时,是否可以让WSDL.exe生成接口以及代替具体类?
我们正在从ASP.Net应用程序中使用第三方Web服务,并且使用WSDL.exe生成了我们的代理类,并且很好.
我现在想通过伪造Web服务来编写针对我的包装器和业务类的测试.代理没有接口或抽象基类,它们被标记为内部,这意味着如果不将我的Fake/mock测试代码放入我的业务项目/程序集中,我就无法继承它们.
我可以手动创建一个接口(使用resharper)并编辑类,但是如果第三部分更改了他们的WSDL/Web服务我或者我的后继者还必须手动编辑接口,并自动生成类,这似乎从来没有像现在这样好理念.
伪造或嘲笑这项服务最优雅的方式是什么?我应该把假货放在商业项目中吗?我应该手动编辑文件并创建界面吗?我应该做一些完全不同的事吗?
我们有一个集中管理的对象模型,用于C#中的模式中的类型.我们希望整个企业中的每个人都使用该对象模型,而不是在web服务客户端或服务实现期间使用每次从wsdl/svcutil生成的对象模型.
wsdl/svcutil是否有一个参数(任何其他方式)在执行期间不为模式类型生成类?
我正在使用似乎使用相同对象结构服务器端的多个第三方Web服务(来自同一供应商).其中一项服务允许我按角色查询用户列表,另一项允许我按ID查询单个用户.为了使这种方式尽可能好地工作,从这两种服务返回的用户需要能够互换使用.
输入wsdl.exe.我知道/ sharetypes做了我想要它做的事情,但是,当我生成我的代理时,最终仍然是对象的多个版本(即Person,Person1,...).
我正在执行的命令如下:
wsdl.exe /sharetypes /language:VB http://mbptest2.seniormbp.com:8080/SeniorSystemsWS/UserManagementService.asmx?wsdl http://mbptest2.seniormbp.com:8080/SeniorSystemsWS/DataExportService.asmx?wsdl http://mbptest2.seniormbp.com:8080/SeniorSystemsWS/UserProfileService.asmx?wsdl
我创建了两个wsdl文件,其中包含从xsd模式文件导入的共享类型.
之后,我使用带有参数/ serverInterface的wsdl.exe工具生成的界面创建了Web服务.
第一个Web服务,通过系统"A"将Web方法"RegisterData"放入队列中一些复杂的对象进行处理.由于此方法返回布尔值(告诉我们对象已注册成功).
第二个Web服务,具有Web方法"UpdateData"以基于该相同对象更新系统"B"中的一些数据,并在系统"A"上进行了更改.
因此,在系统"A"中,我必须为第二个Web服务创建客户端,我将使用此修改后的复杂对象us参数调用方法"UpdateData".
但是,当我在Visual Studio中创建此客户端时(通过添加Web引用或添加服务引用),我必须为客户端创建一些命名空间.然后,当我试图调用"UpdateData"时,agument对于从第一个Web服务"RegisterData"方法接收的同一个对象具有不同的命名空间.
我想创建第一个Web服务和第二个Web服务客户端,我可以在它们之间使用相同类型的对象.
非常感谢你的帮助.
我一直在努力向提供商提供有关我在尝试使用其中一个WS时遇到的错误的更多信息.
他们让我使用wsdl.exe来执行以下命令:
wsdl.exe/l:CS /协议:SOAP/verbose/sharetypes https:example.com/?wsdl
我做到了,得到了:错误:处理' https://example.oom?wsdl '时出错.- 下载" https://example.com?wsdl "时出错. - 请求已中止:无法创建SSL/TLS安全通道.
事情是我有一个证书来导航" https://example.com?wsdl ",我认为它已正确安装.当我尝试在IE中转到该URL时,我只需要从列表中选择证书并给它一定的权限.然后显示wsdl.我让我的WS提供商告诉我如何告诉我命令:"使用ssl.使用此证书".他们告诉我问我的网络团队,但我没有这样的事情,所以我问谷歌,我发现:1)启用SSL/TLS(如果这意味着转到:IE> Internet选项>高级> SSL/TLS启用,我做了)和2)检查证书是否已安装且可用.我认为它是.
谁能告诉我我该怎么办?如何安装证书,但命令无法到达?
我有一个来自第三方服务提供商的大型 WSDL 文件。
当我使用 wsdl 工具命令行时,有什么方法可以挑选我想要的服务、合同、端点吗?
由于 wsdl 中包含的服务量太大,Visual Studio 崩溃了。
更新 似乎这是不可能的。只需要编辑 wsdl 以仅包含相关合同。第三方提供的解决了这个问题。
wsdl.exe ×9
c# ×6
.net ×3
web-services ×3
wsdl ×2
asmx ×1
certificate ×1
https ×1
mocking ×1
sdk ×1
service ×1
soap ×1
svcutil.exe ×1
testing ×1
xsd ×1