"Wrong number of arguments" defining a Web Service Consumer

Hi all.I need to consume a webservice whose WSDL definition can be downloaded here: https://inergy.easyvista.com/WebService/smobridge.php?wsdl (it can be freely downloaded).

The WSDL import is always regularly completed but when the designer shows the declarations it always reports a “Wrong number of arguments for: INVOKE” at line 42.

I downloaded the WSDL definition an tested it with Altova XMLSpy: nothing looks wrong.

I obviously checked the 42 line and the above function definition (see below) in every way but I can’t highlight errors.

==========

Function EZV_CreateRequest(Account As String, Login As String, Pass As String, _

Catalog_GUID As String, Catalog_Code As String, AssetID As String, AssetTag As String, _

ASSET_NAME As String, Urgency_ID As String, Severity_ID As String, External_reference As String, _

Phone As String, Requestor_Identification As String, Requestor_Mail As String, Requestor_Name As String, _

Location_ID As String, Location_Code As String, Department_ID As String, Department_Code As String, _

Recipient_ID As String, Recipient_Identification As String, Recipient_Mail As String, _

Recipient_Name As String, Origin As String, Description As String, ParentRequest As String, _

CI_ID As String, CI_ASSET_TAG As String, CI_NAME As String, SUBMIT_DATE As String) As String

Let EZV_CreateRequest = Service.Invoke("EZV_CreateRequest", Account, Login, Pass, Catalog_GUID, Catalog_Code, AssetID, AssetTag, ASSET_NAME, Urgency_ID, Severity_ID, External_reference, Phone, Requestor_Identification, Requestor_Mail, Requestor_Name, Location_ID, Location_Code, Department_ID, Department_Code, Recipient_ID, Recipient_Identification, Recipient_Mail, Recipient_Name, Origin, Description, ParentRequest, CI_ID, CI_ASSET_TAG, CI_NAME, SUBMIT_DATE)

End Function

==========

I implemented some other Web Service Consumer and I have no problems at all.

Any idea?

Thanks in advance for your kind reply.

Subject: You might be hitting a LS limit

I had a quick check. the Method call is correct in relation to the WSDL file. The arguments have no reserved names in them.

However you have 30 arguments arguments in your webservice call which equates to 31 arguments in your Service.invoke(). So you may be hitting an internal LotusScript limit.

You could try reducing the variable names in the method call to see if that helps but as far as I recall I think the number of argument limits is around 31.

Subject: Yes, it’s a LS limit

I tried to shorten the parameter names but without any result.So I tried to cut-off one parameter from the EZV_CreateRequest function et voilà, the error disappeared.

But now - obviously - the WS call fails because of the missing parameter and the remote server respond with a “bad envelope” error.

Some workaround? Maybe arrays, is there any example?