[Mono-list] consuming 'php nusoap' webservice

Lluis Sanchez lluis@ximian.com
Thu, 03 Feb 2005 13:18:52 +0100


On dc, 2005-02-02 at 11:50 +0100, Arturo González wrote:
> Hi,
> 
> I'm trying to develop an example client for ILIAS open source
> webservice, lately supported by novell
> (http://www.ilias.uni-koeln.de/ios/index-e.html) , but i'm having
> problems with a remote function that returns an integer.
> 
> The server is located at:
> 
> http://tad1.ugr.es/ilias_3_3_x/webservice/soap/server.php
> http://tad1.ugr.es/ilias_3_3_x/webservice/soap/server.php?wsdl
> 
> if i try to consume the lookupUser method as follows:
> 
> int user_id =  ilUA.lookupUser(sess_id, "soap_user");
> 
> Then the compiler says that can't convert from string to int:
> 
> exampleClient.cs(25) error CS0029: Cannot convert implicitly from
> `string' to `int'

The return type of that method is xsd:integer, which is mapped to String
by to wsdl tool. Notice that xsd:integer is not the same as xsd:int,
which is mapped to Int32. MS.NET does the same.

> 
> if i try the next:
> 
> int user_id =  Convert.ToInt32(ilUA.lookupUser(sess_id, "soap_user"));
> 
> then it throws:
> 
> Unhandled Exception: System.Web.Services.Protocols.SoapException:
> Session not valid

The error you are getting is an error reported by the server. You should
debug the server and see why it is throwing that error.

> 
> in <0x004c5>
> System.Web.Services.Protocols.SoapHttpClientProtocol:ReceiveResponse
> (System.Net.WebResponse,System.Web.Services.Protocols.SoapClientMessage,System.Web.Services.Protocols.SoapExtension[])
> in <0x0007d> (wrapper remoting-invoke-with-check)
> System.Web.Services.Protocols.SoapHttpClientProtocol:ReceiveResponse
> (System.Net.WebResponse,System.Web.Services.Protocols.SoapClientMessage,System.Web.Services.Protocols.SoapExtension[])
> in <0x002a9> System.Web.Services.Protocols.SoapHttpClientProtocol:Invoke
> (string,object[])
> in <0x0006b> (wrapper remoting-invoke-with-check)
> System.Web.Services.Protocols.SoapHttpClientProtocol:Invoke
> (string,object[])
> in <0x0006b> ilUserAdministration:lookupUser (string,string)
> in <0x000bf> ConsoleIlUserAdmin:Main (string[])
> 
> 
> Does anyone know what could be happening? I had no problem consuming the
> 'login' method that returns a string with the PHP_SESSID.
> 
> regards,
> 
> Arturo.
> 
>