example webservice use SOAP UI
18 April, 2014
I am testing webservices integration for a customer, new to the YF webservices not new to SOAP webservices in general.
What I normally do is set up SOAP UI to browse the wsdl and make some tests.
I have a multi tenant YF installation which I want to use for testing the YF webservices.
Steps so far:
- checked login type (=email)
- setup SOAP UI project, use wsdl from YF server. cleared all question marks
- want to test the GETUSER function (simpelest example?)
- according to documentation it needs
- LoginID (admin email address)
- Password
- OrgID = 1 (not sure is this true in a multi tenant envr.?)
- person = AdministrationPerson
- in the AdministraionPerson:UserID = email adres of arbitrary user
SOAP UI response:
soapenv:Server.userException
java.lang.NullPointerException
bi-dikwservices
Now I am stuck... tried a lot of things...
Questions:
- Is the yfws.jar installed by default? how can I verify it is installed correctly? I presume that if the wsdl is present on the server the service is up and running? Please confirm.
- Can I increase logging so that I can see the webservice connection attempt in the logs?
- Am I missing something trivial? Like admin cannot use the webservice by default settings of any kind?
Any response much appreciated
hugo
I have tried this out using SoapUI 5.
Request:
[code]
GETUSER
admin
1
test
admin
[/code]
It seems to work, I get a correct response:
[code]
0
Successfully Authenticated User: admin
Getting user information...
Getting user information...
Web Service Request Complete
6561537bd59a83cb31378f7205843c45
SUCCESS
admin@yellowfin.com.au
System
F
5
EN
Administrator
YFADMIN
DR
AUSTRALIA/SYDNEY
admin
[/code]
Answers to your other questions:
Is the yfws.jar installed by default? how can I verify it is installed correctly? I presume that if the wsdl is present on the server the service is up and running?
yfws.jar is only required if you are using Java and want to use the pre-generated stubs, with some helper functions. The file does not need to be installed on the server. The webservices will be working out-of-the box, available at: http:///services. Navigating to this URL will verify that the Axis services are running.
Can I increase logging so that I can see the webservice connection attempt in the logs?
Yes, see http://www.yellowfinbi.com/YFForum-Debug-logging-?thread=90436.
However the log lines that are output may be difficult to comprehend.
Am I missing something trivial? Like admin cannot use the webservice by default settings of any kind?
You need to make sure that the user you are using has the webservice function enabled. The default admin user will have this turned on by default.
so indeed mij axis services are not running...
http://bi.dikwservices.nl:8090/services/
gives
AXIS error
No service is available at this URL
Now how to validate the axis services...?
thx
hugo
http://bi.dikwservices.nl:8090/services (without the trailing slash)
works ok.
Your SOAP request also works, seems an issue with sending over the complete SOAP message with empty elements instead of leaving out the elements we do not need ...?
thx
hugo
Here's an example soap message for GETALLUSERREPORTS:
[code]
GETALLUSERREPORTS
mike@test.com
1
myPassword
mike@test.com
[/code]