Tag: wsdl

使用XML进行WCF请求validation

我有一个使用.Net 4.0框架的WCF SOAP Web服务。 我使用contract first方法 – 即,使用WCSF Blue工具从手写WSDL生成服务代码。 我对请求消息有以下要求。 如果价格低于100,则不得有税元素,但如果它超过100,则需要纳税元素。 在XPath中,表达式如下 //t:price[. =100][following::t:tax] 我可以在服务的C#代码中处理它。 但我想使用任何XML技术在WSDL本身中定义规则。 这将有助于客户端了解输入消息应满足的业务validation。 (这是业务规则的定义,其实现在WSDL本身;不会将其他文档共享给客户端。) 在WCF中实现它的最佳方法是什么? 在WSDL哪个部分我可以定义XML validations以便它由WCF处理? 在下面给出的前两个引用中,提到了一种关于XPath和C#处理程序(用于Web服务框架)的方法。 我们不能在WCF中这样做吗? C#不能从WSDL读取XPath吗? 怎么做? 任何参考? 注意 :我可以执行C#处理程序; 但validation的business logic应该是XML 参考 使用业务规则validation扩展ASP.NET WebMethod框架 – 由Aaron Skonnard和Dan Sullivan完成 WS-Policy和WSE 2.0断言处理程序 – 由Aaron Skonnard撰写 Hartmut的盒子 – 使用WCF的四个原则和XML消息传递 在WCF中使用Schema进行消息validation 使用Schematron / XSD在C#中进行XMLvalidation 在xsd中定义xml,其中属性确定可能的内容

.Net – Web服务 – 停止可访问的WSDL和默认帮助页面,但保留服务

我有一个简单的.Net Web服务。 当我在浏览器中访问/webservice.svc路径时.Net会使用一些示例C#和VB.Net代码呈现一个很好的帮助页面。 如何阻止此显示? 另外,有没有办法阻止请求?wsdl返回wsdl文件? 感谢您提前了解任何信息。

WCF:WSDL优先方法:生成故障类型的问题

我目前正在创建一个与WS-I Basic Profile 1.1兼容的WCF Web服务。 我正在使用wsdl-first方法(实际上是第一次),首先定义复杂类型的xsd,WSDL,然后使用svcutil.exe生成相应的服务器以及客户端接口/代理。 到目前为止一切正常。 然后我决定在我的WSDL中添加一个错误 。 用svcutil重新生成成功,但后来我注意到我生成的错误没有我在xsd文件中定义的属性(由我的WSDL导入)。 复杂数据类型xsd 故障XSD定义 WSDL使用上述两种XSD 生成.Net故障对象 [System.Diagnostics.DebuggerStepThroughAttribute()] [System.CodeDom.Compiler.GeneratedCodeAttribute(“System.Runtime.Serialization”, “3.0.0.0”)] [System.Xml.Serialization.XmlSchemaProviderAttribute(“ExportSchema”)] [System.Xml.Serialization.XmlRootAttribute(IsNullable=false)] public partial class groupFault : object, System.Xml.Serialization.IXmlSerializable { private System.Xml.XmlNode[] nodesField; private static System.Xml.XmlQualifiedName typeName = new System.Xml.XmlQualifiedName(“groupFault”, “http://sicp.services.siag.it/groups_v1.wsdl”); public System.Xml.XmlNode[] Nodes { get { return this.nodesField; } set { this.nodesField = value; } } public […]

如何从ASP.Net访问PHP Web服务?

我正在尝试在C#ASP.Net Web应用程序中使用Web服务。 该服务是用PHP构建的,位于一些不受我控制的远程服务器上,因此我无法对其进行修改以将元数据或其他内容添加到其中。 当我在Visual Studio 2008中使用“添加Web引用”选项时,收到以下错误: HTML文档不包含Web服务发现信息。 在尝试添加以下Web服务时。 https://subreg.forpsi.com/robot2/subreg_command.php?wsdl Web服务function在Visual Studio 2008中公开并显示。但是我无法添加对它的引用以在ASP.Net应用程序中使用。 t3Service“说明 方法__construct() create_contact() get_contact() get_domain_info() get_last_error_code() get_last_error_msg() get_NSSET() get_owner_mail() 登录 ( ) register_domain() register_domain_with_admin_contacts() renew_domain() request_sendmail() send_auth_info() transfer_domain() 我还尝试了wsdl.exe方法,检索xml并将其复制到wsdl文件并生成代理类。 但是wsdl输出包含警告,生成的代理类会跳过公开的函数并生成如下所示的内容: // CODEGEN:命名空间’urn:t3’中的操作绑定’create_contact’被忽略。 use = encoded消息中的每个消息部分都必须指定一个类型。 // CODEGEN:忽略命名空间’urn:t3’中的操作绑定’get_contact’。 use = encoded消息中的每个消息部分都必须指定一个类型。 // CODEGEN:命名空间’urn:t3’中的操作绑定’get_domain_info’被忽略。 use = encoded消息中的每个消息部分都必须指定一个类型。 // CODEGEN:命名空间’urn:t3’中的操作绑定’get_last_error_code’被忽略。 use = encoded消息中的每个消息部分都必须指定一个类型。 // CODEGEN:命名空间’urn:t3’中的操作绑定’get_last_error_msg’被忽略。 use […]

将WSDL转换为C#类

使用microsoft net wsdl.exe工具将WSDL转换为C#类,但该工具无法转换WSDL文件的以下部分。 任何指向正确方向的人都非常感激。 WSDL输入 C#输出????? /// [System.CodeDom.Compiler.GeneratedCodeAttribute(“wsdl”, “2.0.50727.3038”)] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute(“code”)] [System.Xml.Serialization.XmlTypeAttribute(Namespace = “http://api.someexampledomain.com/”)] public partial class ArrayOfMerchant : Array { } /// [System.CodeDom.Compiler.GeneratedCodeAttribute(“wsdl”, “2.0.50727.3038”)] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute(“code”)] [System.Xml.Serialization.XmlTypeAttribute(Namespace = “http://api.someexampledomain.com/”)] public partial class ArrayOfMerchantSectors : Array { } 我想知道如何定义类’Merchant’和’ArrayOfMerchant’。 谢谢。

如何从C#webservice生成WSDL文件

我已经创建了这样的WebService: [WebService(Namespace = “http://ns”)] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] public class GroupManagerService : WebService { public GroupManagerService() { } [WebMethod] public bool MyMethod(string loginname, string country) { // code here… } } 是否可以为此代码生成WSDL文件而无需连接到正在运行的服务? 我搜索并找到了有关SvcUtil.exe和wsdl.exe的信息,但这些信息仅在从正在运行的WebService检索WSDL时才起作用。 (对于java ,有一个名为java2wsdl的工具,是否有等效的c# ?) :更新: 此问题的上下文是我要向SharePoint添加新的CustomWebService,它应该使用SharePoint上的_vti_bin文件夹中的WSPBuilder进行部署。 另请参阅我在SharePoint.SE上的post 。 我想自动生成(使用msbuild命令) ‘MyServicewsdl.aspx’和‘MyServicedisco.wsdl’ ,它必须放在_vti_bin文件夹中。 也许我错过了一些东西? svcutil.exe的输出是: bin\Debug>SvcUtil.exe MyWebService.dll Microsoft (R) Service Model Metadata Tool [Microsoft (R) Windows […]

C#中的SOAP客户端无法访问WSDL文件

我正在与第三方合作,将我们的一些系统与他们的系统集成在一起,它们为我们提供了一个SOAP接口,用于在其连接的系统中进行某些请求和更改。 对我来说问题是他们不提供WSDL文件供我使用。 如果我有一个WSDL文件,那么运行提供的.NET命令(wsdl.exe)并生成一个代理类来与服务进行交互就是一件简单的事情。 没有WSDL文件,有一种“简单”的方法吗? 我有我们可以访问的所有function以及我需要发送的参数以及我应该期待的回报。 拥有没有WSDL文件的SOAP服务是否常见? (我问这个,因为我们将来会增加更多的外部系统) 有没有人针对无WDSL服务完成代理类或任何其他forms的客户端,并且有任何关于如何做的好指示?

将WSDL对象获取到SQL数据库中

所以我讨厌问这个,但是最后10个小时的搜索和尝试编码都没有发现。 我有一个Visual Studio项目,附带一个SQL数据库。 我需要将谷歌天气服务API中的数据提取到sql表中。 网络服务电话是这个网站谷歌API呼叫 以及像accuweather和NOAA这样的其他几个网站,以显示三者之间的差异。 项目目标是查看数据是否相对相同,或者是否使用了不同的气象站,如果是这样,则会导致向用户报告天气的方式存在显着差异。 我缺少的是对象的解释器可以允许我将临时,湿度等放入sql表中 有没有人以前做过这个并有一些提示或参考?

WCF WSDL + Nillable属性

我有一个带有Flattened WSDL的WCF服务,而另一端的消费者告诉我nillable =“true”属性正在填充它们。 我尝试在服务合同中设置EmitDefaultValue = false,但我没有注意到行为的任何变化。 不可否认,我从来没有在这个级别深入研究WSDL生成,所以我有点迷失。 也许在下面发布的代码中可能会有一些调整可以解决我的问题? 如果我至少在正确的地方,我会继续调查。 有没有一种简单的方法可以从我的WSDL中删除nillable =“true”属性,这会产生意想不到的后果吗? 谢谢! public class FlatWsdl : IWsdlExportExtension, IEndpointBehavior { public void ExportEndpoint(WsdlExporter exporter, WsdlEndpointConversionContext context) { XmlSchemaSet schemaSet = exporter.GeneratedXmlSchemas; foreach (ServiceDescription wsdl in exporter.GeneratedWsdlDocuments) { List importsList = new List(); foreach (XmlSchema schema in wsdl.Types.Schemas) { AddImportedSchemas(schema, schemaSet, importsList); } wsdl.Types.Schemas.Clear(); foreach (XmlSchema schema […]

如何在C#中创建SOAP / WSDL客户端?

我一直在用PHP玩它并得到一些工作,我做的是: $client = new SoapClient(“http://ws.cdyne.com/WeatherWS/Weather.asmx?wsdl”); $fetchedArr = $client->GetCityForecastByZIP(array(“ZIP” => “10451”)); //get the weather in the bronx YO! 现在我希望我的应用程序我WPF / C#也这样做。 c#中的等价物是什么?