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);
Jan Tielens - 01 Jun 2004 06:24 GMT
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

Signature
Greetz
Jan
________________
Read my weblog: http://weblogs.asp.net/jan
> 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.
>
[quoted text clipped - 15 lines]
> 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...