example webservice use SOAP UI
18 April, 2014
Hi,
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 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
Hi 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.
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.
ok thx,
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
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
Ha ok
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
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
Hi - I just started decifering YF's web services with SOAPUI. I'm posting this to share what I've learned and maybe generate some more examples in the forum. We're using the Qt framework for our application which has a nice set of web service classes. This soap message returns all report objects for a user. Also, could someone clarify the tag? Looks like it may tie to organisation.iporg. Along that lines, is there a data dictionary of sorts that maps the wsdl to the underlying views/tables?
Here's an example soap message for GETALLUSERREPORTS:
[code]
GETALLUSERREPORTS
mike@test.com
1
myPassword
mike@test.com
[/code]
Here's an example soap message for GETALLUSERREPORTS:
[code]
GETALLUSERREPORTS
mike@test.com
1
myPassword
mike@test.com
[/code]
With regards to Hugo's question on empty elements - I used the web service wiki examples as a base for the soap message. I only sent over the elements that were referenced in the demo code. This seems to work, so far.