Invoke methods dinamically with out parameters in c#

C

cchasqueira

Hi,
I'm trying to call a web service dinamically that has a method with out parameters. The way I'm calling the method is passing an object array with the parameters to invoke the method, but I can't specify which of these are out parameters. Is there any way of doing that?
This is the code I'm using to invoke the method. I'm also showing the method definition as it may help shed some light on the subject.

Thanks

Code:

[System.Web.Services.Protocols.SoapDocumentMethodAttribute...]
public bool LaunchIncident(string strUserName, string strSummary, Variable[] varList, out int nIncidentNo, out string strError) {
object[] results = this.Invoke("LaunchIncident", new object[] {
strUserName,
strSummary,
varList});
nIncidentNo = ((int)(results[1]));
strError = ((string)(results[2]));
return ((bool)(results[0]));
}

object []args = {"Someone", "", varlist, nIncidentNo, strError}; //Launch Incident
object ox = type.InvokeMember("LaunchIncident",System.Reflection.BindingFlags.InvokeMethod,null,sc,args);




**********************************************************************
Sent via Fuzzy Software @ http://www.fuzzysoftware.com/
Comprehensive, categorised, searchable collection of links to ASP & ASP.NET resources...
 
J

Jan Tielens

You can't work with weakly typed parameters or return values (e.g. object
types) on web services, unless you use the XMLInclude attribute. This is
because all the types you will be using as a parameter or return value
should be described in the WSDL.

If you want to call web services dynamically, I suggest you take a look at
Christian's tool:
http://weblogs.asp.net/cweyer/archive/2003/07/07/9769.aspx

--
Greetz
Jan
________________
Read my weblog: http://weblogs.asp.net/jan


Catia CC said:
Hi,
I'm trying to call a web service dinamically that has a method with out
parameters. The way I'm calling the method is passing an object array with
the parameters to invoke the method, but I can't specify which of these are
out parameters. Is there any way of doing that?
This is the code I'm using to invoke the method. I'm also showing the
method definition as it may help shed some light on the subject.
Thanks

Code:

[System.Web.Services.Protocols.SoapDocumentMethodAttribute...]
public bool LaunchIncident(string strUserName, string strSummary,
Variable[] varList, out int nIncidentNo, out string strError) {
object[] results = this.Invoke("LaunchIncident", new object[] {
strUserName,
strSummary,
varList});
nIncidentNo = ((int)(results[1]));
strError = ((string)(results[2]));
return ((bool)(results[0]));
}

object []args = {"Someone", "", varlist, nIncidentNo, strError}; //Launch Incident
object ox = type.InvokeMember("LaunchIncident",System.Reflection.BindingFlags.InvokeMeth
od,null,sc,args);




**********************************************************************
Sent via Fuzzy Software @ http://www.fuzzysoftware.com/
Comprehensive, categorised, searchable collection of links to ASP &
ASP.NET resources...
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,995
Messages
2,570,230
Members
46,819
Latest member
masterdaster

Latest Threads

Top