Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > ASP .Net > ASP .Net Web Services > How to write c# proxy class to get at this data?

Reply
Thread Tools

How to write c# proxy class to get at this data?

 
 
Datura
Guest
Posts: n/a
 
      08-28-2003
Hi, I'm trying to use a wdsl generated proxy class to Invoke a web services
method which outputs a soap envelope shown below.



The response I'm looking for has two parts, one is a "Result" node, which I
am successful in getting back, the other is the "vntReturn" node, which I
know is being sent, but the Invoke method is not returning.



The problem seems to be that the Invoke method simply is returning only one
value, that found in the "Return" node. The attempt to assign vntReturn
from results[1] gives a run-time error of array index out-of-bounds.



Here's the proxy class code:




[System.Web.Services.Protocols.SoapRpcMethodAttribu te("http://tempuri.org/Da
vinci/action/Gateway.Perform",
RequestNamespace="http://tempuri.org/Davinci/message/",
ResponseNamespace="http://tempuri.org/Davinci/message/")]
[return: System.Xml.Serialization.SoapElementAttribute("Res ult")]
public string Perform(string vntReceive, string vntReturn) {
object[] results = this.Invoke("Perform", new object[] {
vntReceive,
vntReturn});
vntReturn = ((string)(results[1]));
/return ((string)(results[0]));
}


Any help or pointers greatly appreciated!



Thanks!





<SOAP-ENV:Body xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
SOAPENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">

<SOAPSDK4erformResponse
xmlns:SOAPSDK4="http://tempuri.org/Davinci/message/">

<Result>true</Result>

<vntReturn
xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance"
SOAPSDK2:type="SOAPSDK1:string">

&lt;body&gt;


&lt;security_user_id&gt;&lt;![CDATA[5]]&gt;&lt;/security_user_id&gt;


&lt;security_group_id&gt;&lt;![CDATA[1]]&gt;&lt;/security_group_id&gt;


&lt;security_group_descr_short&gt;&lt;![CDATA[MTG]]&gt;&lt;/security_group_d
escr_short&gt;


&lt;user_name&gt;&lt;![CDATA[James Carmichael]]&gt;&lt;/user_name&gt;


&lt;user_logon&gt;&lt;![CDATA[CARMICHAELJ]]&gt;&lt;/user_logon&gt;


&lt;error_level_id&gt;&lt;![CDATA[2]]&gt;&lt;/error_level_id&gt;


&lt;mts_server_name&gt;&lt;![CDATA[D01SVR84]]&gt;&lt;/mts_server_name&gt;


&lt;db_server_name&gt;&lt;![CDATA[D01SVR82]]&gt;&lt;/db_server_name&gt;


&lt;db_name&gt;&lt;![CDATA[rccl_qa]]&gt;&lt;/db_name&gt;


&lt;international_rep_ind&gt;&lt;![CDATA[0]]&gt;&lt;/international_rep_ind&g
t;


&lt;ir_country_code&gt;&lt;![CDATA[]]&gt;&lt;/ir_country_code&gt;


&lt;session_id&gt;&lt;![CDATA[{CB415EAD-7F2A-42E6-B715-C0F3FDE284B8}]]&gt;&l
t;/session_id&gt;

&lt;/body&gt;

</vntReturn>

</SOAPSDK4erformResponse>

</SOAP-ENV:Body>




 
Reply With Quote
 
 
 
 
Dino Chiesa [MSFT]
Guest
Posts: n/a
 
      08-29-2003
Index out of bounds means the array you are indexing does not include the
element you are attempting to access. It seems likely that the results
array has just one element?

Have you traced the SOAP on the wire?
eg, with proxytrace? http://www.pocketsoap.com/tcptrace/pt.aspx

What do you see, can you post it ?

Also, Why are you modifying the generated proxy? Shouldn't you just USE
the generated proxy?

-Dino


can you show us
"Datura" <(E-Mail Removed)> wrote in message
news:ugw3b.3205020$(E-Mail Removed)...
> Hi, I'm trying to use a wdsl generated proxy class to Invoke a web

services
> method which outputs a soap envelope shown below.
>
>
>
> The response I'm looking for has two parts, one is a "Result" node, which

I
> am successful in getting back, the other is the "vntReturn" node, which I
> know is being sent, but the Invoke method is not returning.
>
>
>
> The problem seems to be that the Invoke method simply is returning only

one
> value, that found in the "Return" node. The attempt to assign vntReturn
> from results[1] gives a run-time error of array index out-of-bounds.
>
>
>
> Here's the proxy class code:
>
>
>
>
>

[System.Web.Services.Protocols.SoapRpcMethodAttribu te("http://tempuri.org/Da
> vinci/action/Gateway.Perform",
> RequestNamespace="http://tempuri.org/Davinci/message/",
> ResponseNamespace="http://tempuri.org/Davinci/message/")]
> [return: System.Xml.Serialization.SoapElementAttribute("Res ult")]
> public string Perform(string vntReceive, string vntReturn) {
> object[] results = this.Invoke("Perform", new object[] {
> vntReceive,
> vntReturn});
> vntReturn = ((string)(results[1]));
> /return ((string)(results[0]));
> }
>
>
> Any help or pointers greatly appreciated!
>
>
>
> Thanks!
>
>
>
>
>
> <SOAP-ENV:Body xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
> SOAPENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
>
> <SOAPSDK4erformResponse
> xmlns:SOAPSDK4="http://tempuri.org/Davinci/message/">
>
> <Result>true</Result>
>
> <vntReturn
> xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance"
> SOAPSDK2:type="SOAPSDK1:string">
>
> &lt;body&gt;
>
>
> &lt;security_user_id&gt;&lt;![CDATA[5]]&gt;&lt;/security_user_id&gt;
>
>
> &lt;security_group_id&gt;&lt;![CDATA[1]]&gt;&lt;/security_group_id&gt;
>
>
>

&lt;security_group_descr_short&gt;&lt;![CDATA[MTG]]&gt;&lt;/security_group_d
> escr_short&gt;
>
>
> &lt;user_name&gt;&lt;![CDATA[James Carmichael]]&gt;&lt;/user_name&gt;
>
>
> &lt;user_logon&gt;&lt;![CDATA[CARMICHAELJ]]&gt;&lt;/user_logon&gt;
>
>
> &lt;error_level_id&gt;&lt;![CDATA[2]]&gt;&lt;/error_level_id&gt;
>
>
> &lt;mts_server_name&gt;&lt;![CDATA[D01SVR84]]&gt;&lt;/mts_server_name&gt;
>
>
> &lt;db_server_name&gt;&lt;![CDATA[D01SVR82]]&gt;&lt;/db_server_name&gt;
>
>
> &lt;db_name&gt;&lt;![CDATA[rccl_qa]]&gt;&lt;/db_name&gt;
>
>
>

&lt;international_rep_ind&gt;&lt;![CDATA[0]]&gt;&lt;/international_rep_ind&g
> t;
>
>
> &lt;ir_country_code&gt;&lt;![CDATA[]]&gt;&lt;/ir_country_code&gt;
>
>
>

&lt;session_id&gt;&lt;![CDATA[{CB415EAD-7F2A-42E6-B715-C0F3FDE284B8}]]&gt;&l
> t;/session_id&gt;
>
> &lt;/body&gt;
>
> </vntReturn>
>
> </SOAPSDK4erformResponse>
>
> </SOAP-ENV:Body>
>
>
>
>



 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Re: How include a large array? Edward A. Falk C Programming 1 04-04-2013 08:07 PM
Is it possible for me to get the class file of dynamically generated proxy class? billdavidcn@gmail.com Java 2 08-20-2007 03:05 AM
Press Release: Scalable SIP Proxy and RTP Media Proxy for NAT traversal sales@lanscapecorp.com VOIP 1 01-23-2006 06:32 PM
Nested Class, Member Class, Inner Class, Local Class, Anonymous Class E11 Java 1 10-12-2005 03:34 PM
Help to set up tomcat 4.1.27 behind socks proxy to access database outside the proxy vidy5300 Java 0 06-07-2004 02:23 PM



Advertisments