Hi,
i am currently trying out WSDD (device developer) version 5.6 and 5.7.1. What i am trying to to is to basically write some webservice clients in the form of Midlets (which runs on smartphones, etc) to connect to Domino webservices.
As MIDP and wsdd currently only allows (??) for doc/literal services, i define the Domino services to be of this type.
My problem is that i can only get rather simple services to work (i.e calling a service method and returning a simple string or number).
I have developed a service that uses complex types (basically one method that returns an object which in turns gives you an array of other objects). More specifically, i have a service that one can query which one gives a username and that in turn gets all calendar entries for a given day and returns them (CalendarService → one or more DayCalendar → one or more CalendarEntries).
Calling this service as rpc/encoded works just fine (have done it from RAD/WSAD and Delphi. When switching to WSDD/Midlets, i keep getting the following exception:
javax.xml.rpc.JAXRPCException: java.rmi.MarshalException: org.xml.sax.SAXParseException: FATAL ERROR: Required white space is missing.
at com.ibm.pvcws.jaxrpc.rpc.OperationImpl.invoke(OperationImpl.java:394)
I can’t tell where this whitespace is supposed to be.
I have even tried some of the examples as given here:
but they give the same result (missing whitespace). A small example that gives this error looks like this (from the tutorial above):
Const DefaultNameSpace = “ws.test”
Class infoArray
Public info() As String
End Class
Public Class Test
Public Function GetTodayCalendar(somevar As String) As InfoArray
Set GetTodayCalendar = New InfoArray
Redim GetTodayCalendar.info(1 To 3)
GetTodayCalendar.info(1) = "this is 1: " + somevar
GetTodayCalendar.info(2) = "this is 2: " + somevar
GetTodayCalendar.info(3) = "this is 3: " + somevar
End Function
End Class
Any hints?
regards
Daniel