.net 动态调用WCF 提供的参数不起作用 why????

问题描述

publicstaticobjectExecuteMethod<T>(stringpUrl,stringpMethodName,paramsobject[]pParams){EndpointAddressaddress=newEndpointAddress(pUrl);Bindingbindinginstance=null;BasicHttpBindingws=newBasicHttpBinding();ws.MaxReceivedMessageSize=20971520;ws.Security.Mode=BasicHttpSecurityMode.None;bindinginstance=ws;using(ChannelFactory<T>channel=newChannelFactory<T>(bindinginstance,address)){Tinstance=channel.CreateChannel();using(instanceasIDisposable){try{Typetype=typeof(T);MethodInfomi=type.GetMethod(pMethodName);returnmi.Invoke(instance,pParams);}catch(TimeoutException){(instanceasICommunicationObject).Abort();throw;}catch(CommunicationException){(instanceasICommunicationObject).Abort();throw;}catch(ExceptionvErr){(instanceasICommunicationObject).Abort();throw;}}}}

以上是调用的方法。这是调用语句:objecta=ExecuteMethod<IXmlReqBusService>("http://127.0.0.1:8080/XmlReqBusService/HelloService","Process",newobject[]{"binbin"});publicstringProcess(stringqsw){return"返回接口"+qsw;}这是调用的具体方法返回结果是"返回接口"为什么不是"返回接口binbin"

解决方案

解决方案二:
自己顶一下!!
解决方案三:
publicstringProcess(stringqsw){return"返回接口"+qsw;}object与String需要转换一下吧。。
解决方案四:
传入参数的类型与返回的不匹配,被过滤掉了?
解决方案五:
引用2楼wangnaisheng的回复:

publicstringProcess(stringqsw){return"返回接口"+qsw;}object与String需要转换一下吧。。

publicstringProcess(objectqsw){return"返回接口"+qsw.ToString();}这样子也不行
解决方案六:
引用3楼FoxDave的回复:

传入参数的类型与返回的不匹配,被过滤掉了?

这应该没关系吧
解决方案七:
顶起来啊,不要沉下去

时间: 2025-01-27 04:20:54

.net 动态调用WCF 提供的参数不起作用 why????的相关文章

总结C#动态调用WCF接口的两种方法_C#教程

如何使用 1.第一种方式比较简单,而且也是大家喜欢的,因为不需要任何配置文件就可解决,只需知道服务契约接口和服务地址就可以调用. 2.使用Invoke的方式,但是需要在调用客户端配置WCF,配置后在Invoke类里封装服务契约接口即可. 客户端调用DEMO //第一种方式 string url = "http://localhost:3000/DoubleService.svc"; IDoubleService proxy = WcfInvokeFactory.CreateServic

动态调用WCF服务

本文转载:http://www.cnblogs.com/wiseant/archive/2010/07/29/1787599.html 原文地址:http://blog.csdn.net/castlooo/archive/2010/05/06/5562619.aspx   客户端调用wcf ,有时需要动态的调用服务端的WCF中的方法,本方法,反射wcf 的接口,动态调用接口中的方法. 主要为,动态绑定,反射动态调用.   public static object ExecuteMethod<T>

如何动态调用wcf方法

问题描述 silverlightwcf一般调用方法sc.GetDepartmentBySqlWhereAsync(sqlWhere);反射调用TypescType=typeof(ServiceClient);objectobj=Activator.CreateInstance(scType);//MethodInfomethod=scType.GetMethod("GetDepartmentBySqlWhereAsync",BindingFlags.Instance|BindingFl

COM(VB/VBA/Script)利用服务标记调用WCF服务之三使用WSDL契约

前面我们介绍了使用MEX契约的服务标记在COM中调用WCF服务,这种方式是通过MEX终结点动态取得元 数据,使用起来是比较方便:但是有时服务的元数据中可能包含恶意用户可以利用的关于应用程序的敏感 信息,也就是说为了安全考虑有些服务可能不会通过MEX公布元数据信息.如果哦某些服务没有公布元数 据信息,用类型化有比较麻烦,针对这种情况我们该如何在COM中调用WCF服务呢?这时我们可以使用WSDL 契约来进行WCF服务的调用,使用这种方式和使用MEX类似,同样不需要进行类型的注册,信息都是通过动 态得

COM(VB/VBA/Script)利用服务标记调用WCF服务之二使用MEX契约

第一步:创建WCF服务 上一篇我们使用类型化契约的服务标记在COM中调用WCF服务,不过这个有一 定的局限性,因为需要注册类型,所以需要.Net FrameWork,但是在很多情况下COM客户端所在的环境没有 .Net Framework,比如说在Excel中,需要调用一个WCF服务来计算某个单元格的值,而且这个Excel文件可 能分发到许多机器上,你总不能给每台机器都装一个.Net Framework,同时都去给它注册所需的类型吧. 针对这种场景,我们可以使用MEX契约的服务标记来动态得到服务

接口-php怎么调用wcf服务,调用参数是对象参数。

问题描述 php怎么调用wcf服务,调用参数是对象参数. .net做的wcf接口,部署IIS上访问是可以的如图: 我用php soap调用测试,是否能通,也是可以的: <?php header('Content-Type: text/plain'); $client = new SoapClient('http://testu.sh.jinri.com/Flight.User.SOA/SuggestService.svc?wsdl'); echo ' '; echo "提供的方法n&quo

java-SSH Action 动态调用 参数 404异常

问题描述 SSH Action 动态调用 参数 404异常 1. 异常情况: 1. There is no Action mapped for namespace [/dd] and action name [laladList] associated with context path [/baee]. - [unknown location] 1. at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy

关于用结构体作参数动态调用webservice.

问题描述 protectedvoidButton1_Click(objectsender,EventArgse){stringwebServiceUrl="http://192.168.16.80/WebService_TH/Service1.asmx?wsdl";mmkk=newmm();kk.U9UserID=123456;kk.H01="0001";kk.H06="abcd";kk.kehubianm="000006";

c# 调用vc++写的动态库 时含有指针参数时的问题

问题描述 c#调用vc++写的动态库时含有指针参数时的问题[DllImport("yhybReckoning.dll",EntryPoint="_DataDown_sp@12",CharSet=CharSet.Unicode,CallingConvention=CallingConvention.Cdecl)]publicstaticunsafeexternstringDataDown_sp(stringDownLoadStr,stringDownloadLSH,r