Tag: web services

从.NET调用Java / AXIS Web服务:’return null’问题

我一直在通过所有谷歌,stackoverflow等寻求这个问题。 我找到了很多相关的答案,但不是一个真正的解决方案。 我正在从.NET客户端使用Axis服务,但返回始终为null,无论我发送什么参数,始终为null。 所以我开始看,我试图从SOAPUI中使用它,它工作! 所以我的第一个想法是,.NET做错了,我搜索和搜索,我发现命名空间存在一些问题。 相关文章在这里 所以在此之后,我尝试通过服务引用,Web引用使用服务,使用WSDL.EXE创建代理(它创建得非常好!)并查找所有命名空间,但是所有的lokked很好..我做了一些更改它到命名空间但没有。 然后我发现不仅名称空间是问题,也是数组; 实际上服务返回这样的东西。 0036887 00110 00110 000270 NOMBRE PENDIENTE 2011-02-15 2011-02-15 2012-02-15 03 CARLOS ZARATE JIMENEZ ZAJC720213K98 0449626251463 1 003 237.84 237.84 951.36 .00 0036887 0000000 CARLOS ZARATE JIMENEZ 1972-02-13 1 1 0 00150 SEGURO DE MUERTE ACCIDENTAL 250,000 .00 820.00 039 250,000 .00 00150 SEGURO DE MUERTE ACCIDENTAL […]

使用RestSharp将POST参数添加到POST请求中

我想对这样的URL发出POST请求: http://localhost/resource?auth_token=1234 我想在体内发送JSON。 我的代码看起来像这样: var client = new RestClient(“http://localhost”); var request = new RestRequest(“resource”, Method.POST); request.AddParameter(“auth_token”, “1234”); request.AddBody(json); var response = client.Execute(request); 如何将auth_token参数设置为GET参数并将请求设置为POST?

向Web引用添加授权标头

我正在尝试向客户端的Web服务发出请求(我不知道客户端的底层平台)。 我使用“添加Web引用”在Visual Studio 2010中使用了客户端的WSDL并生成了我的代理类(称为“ContactService”)。 我现在需要在我的服务请求中添加如下所示的授权标头。 Header=Authorization & Value=Basic 12345678901234567890 (上面的“123456 …”值只是占位符) ContactService service = new ContactService(); //not sure if this is the right way – it’s not working WebClient client = new WebClient(); client.Headers.Add(“Authorization”, “Basic 12345678901234567890”); service.Credentials = client.Credentials; int contactKey = null; try { contactKey = service.CreateContact(“ABC”, emailAddress, firstName, lastName, null); } 将授权标头添加到服务请求的正确方法是什么? 谢谢!

在浏览器中测试wcf服务

即使在配置文件中使用 ,我也无法在浏览器中调用基本的wcf web方法。 对于源代码,它是非常基本的: 对于界面: [ServiceContract] public interface IService1 { [OperationContract] [WebInvoke(Method = “GET”, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare)] string GetData(); [OperationContract] CompositeType GetDataUsingDataContract(CompositeType composite); // TODO: ajoutez vos opérations de service ici } 并为实施: public string GetData() { return (“{‘code’:’yes’}”); } 此方法在内置的visual studio wcf服务测试程序中工作正常,并返回{‘code’:’yes’} 。 在浏览器中,当我调用http://localhost:54421/Service1.svc/GetData ,它会显示一个空白页面。 我该如何解决这个问题?

同步从Web API调用外部api

我需要从我的Web API 2控制器调用外部api,类似于此处的要求: 使用Web API Action中的HttpClient调用外部HTTP服务 但是,上面的解决方案需要在我的api方法的GET调用中添加async关键字,从而使我的调用异步。 我更喜欢用同步方法呈现我的API的客户端,但仍然能够从我自己的api调用外部api(并且需要在我的api返回之前返回)。 有没有办法做到这一点?

从C#调用WCF时如何增加MaxReceivedMessageSize

可能重复: 已超出传入邮件的最大邮件大小限额(65536) 我正在使用WCF进行文件上传和下载。 上传成功但是当我下载一个大文件时,我发现了这个错误 错误:已超出传入邮件的最大邮件大小限额(65536)。 要增加配额,请在相应的绑定元素上使用MaxReceivedMessageSize属性。 我的Service.config文件具有以下代码。 <!– –> 任何人都可以帮助我如何增加MaxReceivedMessageSize

如何调用Web服务方法?

我有一个包含此方法的Web服务: [WebMethod] public static List GetFileListOnWebServer() { DirectoryInfo dInfo = new DirectoryInfo(HostingEnvironment.MapPath(“~/UploadedFiles/”)); FileInfo[] fInfo = dInfo.GetFiles(“*.*”, SearchOption.TopDirectoryOnly); List listFilenames = new List(fInfo.Length); for(int i = 0; i < fInfo.Length; i++) { listFilenames.Add(fInfo[i].Name); } return listFilenames; } 这将返回文件夹中的文件名列表。 当我调试应用程序时,它工作正常。 我想要做的是从winform应用程序调用这个webservice方法。 我添加了对web服务的.dll的引用,这就是我调用上面方法的方法: private void Form1_Load(object sender, EventArgs e) { List files = TestUploaderWebService.Service1.GetFileListOnWebServer(); } 上面的代码不起作用 – 当它进入方法时,Web应用程序的路径为空,HostingEnvironment类的许多属性也为null。 […]

ASP.NET MVC中的超快文本到语音(WAV – > MP3)

这个问题主要是关于Microsoft的Speech API(SAPI)对服务器工作负载的适用性,以及它是否可以在w3wp中可靠地用于语音合成。 我们有一个异步控制器使用.NET 4中的本机System.Speech程序集(不是作为Microsoft Speech Platform – Runtime Version 11的一部分提供的Microsoft.Speech)和lame.exe来生成mp3,如下所示: [CacheFilter] public void ListenAsync(string url) { string fileName = string.Format(@”C:\test\{0}.wav”, Guid.NewGuid()); try { var t = new System.Threading.Thread(() => { using (SpeechSynthesizer ss = new SpeechSynthesizer()) { ss.SetOutputToWaveFile(fileName, new SpeechAudioFormatInfo(22050, AudioBitsPerSample.Eight, AudioChannel.Mono)); ss.Speak(“Here is a test sentence…”); ss.SetOutputToNull(); ss.Dispose(); } var process = new Process() […]

发送和接收SOAP消息

我在C#中编写Web服务客户端,不想创建和序列化/反序列化对象,而是发送和接收原始XML。 这可能在C#中吗?

如何使用ClientInspector修改WCF消息头的MustUnderstand

我从WCF客户端调用非WCF服务。 WCF客户端包括“MustUnderstand”头属性设置为“1”。 这是典型的SOAP请求: 2010-08-23T20:48:52.680Z 2010-08-23T20:53:52.680Z blablabla blablabla 8/23/2010 4:48:51 PM 123 现在,这是我回来的回应。 soapenv:MustUnderstand WSWS3173E: Error: Did not understand "MustUnderstand" header(s):{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd}Security 注意关于MustUnderstand的部分没有被理解。 此服务的所有者已指出它们允许具有WSSE名称空间前缀但实际上不在XSD中的元素,并执行一些其他处理以阻止它们接受MustUnderstand =“1”,因此我必须找到一种方法使用MustUnderstand =“0”发送消息。 我尝试使用MessageHeader属性在MessageContract中为代理客户端更改此项,但这没有帮助。 接下来,我实现了一个自定义客户端消息检查器。 我为每个MSDN创建了一个自定义行为扩展元素和一个IEndpointBehavior的类,这些都是微不足道的,但这里是为了完整性: public class ExClientBehavior : IEndpointBehavior { #region IEndpointBehavior Members public void AddBindingParameters(ServiceEndpoint endpoint, BindingParameterCollection bindingParameters) { // no op } public void ApplyClientBehavior(ServiceEndpoint endpoint, ClientRuntime clientRuntime) { ExInspector […]