Tag: soap

C#.NET Web服务并返回具有子对象列表的对象列表

我正在构建一个Web服务来传回一个(艺术家)对象列表。 在艺术家对象内部有一个(专辑)对象列表。 在Album对象中有一个歌曲列表。 所以基本上我正在建立一个大的父母音乐树。 我的问题是,如何使用SOAP传递此信息? 什么是最好的使用方法。 现在我得到的只是 string string string 它在专辑中分解,但它显示了我存储的两张专辑。 任何建议,将不胜感激!

SOAP xml客户端 – 使用Visual Studio 2010 c# – 如何?

我是.NET世界的新手,但必须使用VStudio C#2010(.NET 4.0)来生成以SOAP Xml方式从Web服务请求数据的客户端。 我在这里寻找答案,但更加困惑。 MSDN表示“构建XML Web服务客户端”是.NET 4.0的遗产,即WSDL是遗留的。 他们说,使用“WCF”。 在WCF我迷路了 – 太多太模糊了。 它必须更简单……以及我可以在网上找到的所有例子 – 它们都使用WSDL,“遗产”。 以下是为了从Web服务获取数据而需要使用的服务的定义: 请求: POST /catalog.asmx HTTP/1.1 Host: www.somewebsite.com Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: “https://www.somewebsite.com/KeywordSearch” string int 响应: HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length …some stuff… 那么,构建这个简单客户端的正确方法,或者至少是最合理的方式是什么? 您会向新手建议哪些工具/库/方法(假设是VS 2010 C#,.NET 4.0环境)?

在.net Core中调用SOAP服务

我正在将一个.net 4.6.2代码移植到一个调用SOAP服务的.net Core项目中 。 在新代码中我使用C#(由于一些配置原因,我现在还不记得为什么)。 但我得到以下例外。 收到对https://someurl.com/ws/Thing.pub.ws:Something的HTTP响应时发生错误。 这可能是由于服务端点绑定不使用HTTP协议。 这也可能是由于服务器中止HTTP请求上下文(可能是由于服务关闭)。 请参阅服务器日志以获取更多详 投掷它的代码是 try { var binding = new BasicHttpsBinding(BasicHttpsSecurityMode.Transport); binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Basic; var endpoint = new EndpointAddress(new Uri(“https://someurl.com/ws/TheEndpoint.pub.ws:AService”)); var thing= new TheEndpoint.AService_PortTypeClient(binding, endpoint); thing.ClientCredentials.UserName.UserName = “usrn”; thing.ClientCredentials.UserName.Password = “passw”; var response = await thing.getSomethingAsync(“id”).ConfigureAwait(false); } finally { await thing.CloseAsync().ConfigureAwait(false); } 它基于旧配置工作,调用服务是这样的, 我错过了什么? 我无法在网上找到很多这方面的信息。 希望您能够帮助我。 更新 Per […]

在C#中,我如何捕获Web服务调用中使用的SOAP?

我有一个C#应用程序,它是Web服务的客户端。 我的一个要求是允许捕获我发送的SOAP,这样如果出现问题,我可以修复bug,或者certificate问题出在我正在调用的服务中。 我的WebReference代理服务类像往常一样从System.Web.Services.Protocols.SoapHttpClientProtocol派生。 如果我有一个魔杖,我会让这个基类实现一个OnPost事件,我可以处理将SOAP写入我的日志并继续。 没有像WireShark那样运行数据包嗅探器,是否有一种简单的方法可以获得这种级别的日志记录?

如何在.NET中为XAttribute设置名称空间前缀?

全部,我想创建一个肥皂信封xml文件,例如。 我使用System.Xml.Linq来执行此操作,但我无法弄清楚如何将soap前缀添加到encodingStyle属性。 到目前为止,我有这个: XNamespace ns = XNamespace.Get(“http://www.w3.org/2001/12/soap-envelope”); XAttribute prefix = new XAttribute(XNamespace.Xmlns + “soap”, ns); XAttribute encoding = new XAttribute(“encodingStyle”, “http://www.w3.org/2001/12/soap-encoding”); XElement envelope = new XElement(ns + “Envelope”, prefix, encoding); 这给了我 您使用XAttribute为元素添加前缀,我可以使用XAttribute向XAttribute添加前缀吗? 谢谢,P

如何使用SOAP和不使用WSE在.NET中签署Amazon Web服务请求

亚马逊产品广告API(以前称为Amazon Associates Web服务或亚马逊AWS)已实施新规则,到2009年8月15日,必须对所有Web服务请求进行签名。 他们在他们的网站上提供了示例代码,展示了如何使用REST和SOAP在C#中执行此操作。 我正在使用的实现是SOAP。 你可以在这里找到示例代码,我不包括它,因为有相当数量。 我遇到的问题是他们的示例代码使用WSE 3,我们当前的代码不使用WSE。 有没有人知道如何使用WSDL中自动生成的代码来实现此更新? 如果我不需要,我现在不必切换到WSE 3的东西,因为这个更新更像是一个快速的补丁,让我们能够完全实现这个目前的开发版本(8月) 3,他们开始在实时环境中的5个请求中掉落1个,如果他们没有签名,这对我们的应用程序来说是个坏消息)。 这是执行SOAP请求实际签名的主要部分的片段。 class ClientOutputFilter : SoapFilter { // to store the AWS Access Key ID and corresponding Secret Key. String akid; String secret; // Constructor public ClientOutputFilter(String awsAccessKeyId, String awsSecretKey) { this.akid = awsAccessKeyId; this.secret = awsSecretKey; } // Here’s the core logic: // […]

Flex与C#后端通信的最佳方式?

flex前端与C#中编写的后端进行通信的最佳方法是什么? HTTP中唯一的通信通道,因此没有自定义套接字。 我过去使用过SOAP,但由于xml的开销很大,我担心性能,而我目前正在处理的这个应用程序将是非常数据密集型的。 任何支持简单设置和透明编组/解组的东西都可以。 有什么东西像BlazeDS for .net?

从PHP发送字节数组到WCF

我必须从我的PHP客户端向WCF主机发送一个字节数组(编码的照片)。 当我在PHP中对我的数组执行var_dump()时,我得到一个数组[2839],这是正常的,但在服务器端调试时我看到接收到的数组只是字节[5] …我知道如何修复它? 我用这样的代码 $file = file_get_contents($_FILES[‘Filedata’][‘tmp_name’]); $byteArr = str_split($file); foreach ($byteArr as $key=>$val) { $byteArr[$key] = ord($val); } $client = new SoapClient(‘http://localhost:8000/MgrService?wsdl’, array( ‘location’ => ‘http://localhost:8000/MgrService/SOAP11’, ‘trace’ => true, ‘soap_version’ => SOAP_1_1 )); $par1->profileId = 13; $par1->photo = $byteArr; $client->TestByte($par1); 正如我之前在wcf主机上写的那样,我只获得了字节[5]:/也许它需要一些解码来对肥皂序列化? 我应该使用Base64解码吗? 一般我只想将发布的文件上传到c#函数,其中byte []作为参数:/ Help 哦,这个函数的wsdl部分看起来像这样

Amazon(AWS) – 请求必须包含参数Signature

我正在努力完成让我的第一部分代码与AWS合作的最后一部分 – 我已经做到了这一点,我在VS中附加了Web引用,这有这个 amazon.AWSECommerceService service = new amazon.AWSECommerceService(); // prepare an ItemSearch request amazon.ItemSearchRequest request = new amazon.ItemSearchRequest(); request.SearchIndex = “DVD”; request.Title = “scream”; request.ResponseGroup = new string[] { “Small” }; amazon.ItemSearch itemSearch = new amazon.ItemSearch(); itemSearch.AssociateTag = “”; itemSearch.Request = new ItemSearchRequest[] { request }; itemSearch.AWSAccessKeyId = ConfigurationManager.AppSettings[“AwsAccessKeyId”]; itemSearch.Request = new ItemSearchRequest[] { request […]

如何在WCF中反序列化自定义SOAP标头?

我正在尝试通过WCF向所有SOAP请求添加自定义标头。 我发现这篇关于如何做到这一点的精彩文章 。 我的MessageHeader类看起来像这样: public class OperatorNameMessageHeader : MessageHeader { private string opName; public const string HeaderName = “OperatorNameMessageHeader”; public const string HeaderNamespace = “http://schemas.microsoft.com/scout”; public override string Name { get { return HeaderName; } } public override string Namespace { get { return HeaderNamespace; } } public string OperatorName { get { return opName; […]