Skip to Content
Author's profile photo Former Member

BI4.1: Creating a universe on top of a Web Service

New with BI 4.1 is the possibility of creating a universe on top of a Web Service. In this blog post I would like to show you how to create your first universe based on a Web Service. For this example I am using a Web Service that takes as Input two currencies and delivers as output the actual conversion rate.
In order to create a universe with all its components, you can take advantage of the new “Universal Wizard” that was introduced in BI 4.1:
0_Wizard.png
You can re-use one of your existing projects or create a new one, I choose to create a new project:
0_Wizard_2.png
After entering a name for the local project ( e.g. “_WebService”) hit next.
The wizard will start guiding you now with the creation of a connection. In order to create a connection to a Web Service, you need to select Relational data source:
0_Wizard_3.png
Enter now the name of the connection (e.g. “WebService1_Connection”)
0_Wizard_4.png

You are asked now to select a driver, select here the Web Service Connector in the category Generic:

0_Wizard_5.png
In the following screen you enter Web Service Description (WSDL) in the Web Service URL box:
0_Wizard_6b.png

Now you can test the connection and hit Finish.

The Universal Wizard proceeds now seamlessly into the process of creating a Data Foundation. Enter a name (e.g. WebService1_DataFoundation) for the Data Foundation and click Next:

0_Wizard_7.png

Select the table from the Web Service and hit Next:

0_Wizard_8.png

The Universal Wizard proceeds at this point seamlessly into the process of creating a Business Layer (im starting to really like this wizard!). Enter a name (e.g. WebService1_BusinessLayer) and hit Finish:
0_Wizard_9.png

Because this Web Service takes two inputs, the Edit Input Columns dialog appears. For now I am not binding the input columns to a parameter, simply because we do not have any parameters at this point in time. Go ahead and hit OK:

0_Wizard_10.png

By now, the Universal Creation Wizard has finished its task by creating all basic objects that a universe needs. In our case, the web service has two mandatory inputs, so we need to take care about those in order to get some data back from the web service. 

I have a list of world currencies in a CSV file, so I am creating two parameters in the Data Foundation that will get their List Of Values from the CSV file:

10_Parameter.png

Go to the data foundation and right-click on the table, hit Edit Input Columns:

11_InputColumns.png

And map the newly created parameters in the Data Foundation with the Web Service input parameters:

/wp-content/uploads/2013/08/13_271491.png

After mapping the parameters you are good to go!

Now lets create a test query in the business layer and enter two currencies:

/wp-content/uploads/2013/08/14_271492.png

the conversion rate is delivered by the Web Service (nice!): 

/wp-content/uploads/2013/08/12_271493.png

You could use this Information in your BI reports and e.g. offer your users the possibility of changing the currency dynamically. Now image the amount of Web Services available in the Internet and how you can enrich your BI Reports.

Thank you for reading and I hope you enjoyed this blog.

Assigned Tags

      52 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Former Member
      Former Member

      Thanks for sharing new information

      Author's profile photo Former Member
      Former Member

      Than ks for the clear description with nice screenshots to make able to depict the approach of Universe creation

      Author's profile photo Former Member
      Former Member

      Hi Victor,

      very use full information with best example.... 🙂

      thanks for sharing...

      Author's profile photo Suhas Chowdary
      Suhas Chowdary

      Hi,

      I am new to this wsdl and can you please tell me what is the exact use of web services (wsdl 1.1 ) In IDT.

      please explain me the exact syntax of webservice wsdl in idt.

      My requirement is to create universe based on web service wsdl 1.1..

      Author's profile photo Former Member
      Former Member

      Victor,

      Thanks for this tutorial.

      However I am struggling to find where the Generic "WSDL 1.1" driver is for IDT...I don't have it on my install LOV for connection options.  Any suggestions on were to download the driver for WSDL 1.1? 

      Thank you

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Hello Ryan,

      You can go to your client tools base install (I guess not 4.1 in your case) and check the installation options, probably you will find something is missing. Else give it a try and open a new thread for other ideas.

      Best regards,

      Victor

      Author's profile photo Former Member
      Former Member

      Hi Ryan, I have exactly same pb as you, i.e. we have just upgraded to 4.1 but can NOT see

      the new WSDL Webservice connector. How have you managed to install it eventullay? Thanks, Joseph

      Author's profile photo Former Member
      Former Member

      Hi Joseph,

      Unfortunately we had to find workarounds to using web service Universe connections for Universe data sources since our corporate infrastructure team will not upgrade our Bobj 4.0 to environment to version 4.1 until next year.

      Let me know if you get WSDL Webservice data sources to work in 4.1 please...it should be very helpful.

      Author's profile photo Clay Keller
      Clay Keller

      Joseph, Ryan - I have same prob & recently "updated" from 4.0 to 4.1 SP2.  After some sleuth attempts, I opened a case with SAP Support.  I'll let you know.  Ryan - did you resolve?

      Victor - Thanks for article revealing where to find web services & xml drivers!  Sorry to hijack.

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Hi Clay,

      did you make sure to "modify" the installation in case that you did a patch upgrade (not clean full installer from scratch after removing 4.0)?

      Author's profile photo Clay Keller
      Clay Keller

      Thanks Victor. Unfortunately, no "change/modify" ability on the 4.1 SP2 Client Tools "Update".  ... and since web services & xml drivers are new to 4.1, no use trying to change/modify" 4.0 SP6 base/full install.  I've had a talk with Support & am now uninstalling 4.1 SP2 Client Tools Update, 4.0 SP6 full/base, and installing 4.1 SP2 Client Tools full/base. :>(

      I'll ask Support to consider an ADAPT b4 closing the case.  thx, Clay

      Author's profile photo Clay Keller
      Clay Keller

      Victor - you were right.  Even though I installed 4.1 SP2 Client Tools Update, if one were to "change/modify" the the 4.0 base install (in Control Panel/Pgms), the pops-ups will allow one to check/add Web Service & XML drivers.  ... assuming the self extracted installs are still in temp directories.  Saves time over uninstall/reinstall.  Clay

      Author's profile photo Manikandan Elumalai
      Manikandan Elumalai

      Thanks for sharing.

      Author's profile photo Suhas Chowdary
      Suhas Chowdary

       

      Sir,

       

      I am new to this wsdl and can you please tell me what is the exact use of web services (wsdl 1.1 ) In IDT.

      please explain me the exact syntax of webservice wsdl in idt.

      My requirement is to create universe based on web service wsdl 1.1.

      Author's profile photo Arjun Pawar
      Arjun Pawar

      It's very nice article and thanks for sharing! 🙂

      Author's profile photo Former Member
      Former Member

      Thank you for sharing .

      Author's profile photo Jerome Dal
      Jerome Dal

      I succeeded using a web service with that tutorial on a SAP BI 4.1 SP2 platform (and using soapui software to simulate a web service). Great!!

      One question: you said "You could use this Information in your BI reports and e.g. offer your users the possibility of changing the currency dynamically.". By dynamically, you implied the use of refresh button and filling prompt filters?

      Actually, I'm interested in changing the web service parameters through values inside the report, such as input controls for instance. Is that possible?

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Thanks for commenting Jerome.

      That fully depends on the frontend that you use, I think your question is about Web Intelligence: Input Controls are per definition report filters that are not sent to the datasource, so you need to refresh the query with the web service in order to change the parameters.

      Author's profile photo Suhas Chowdary
      Suhas Chowdary

      Victor,

      I am new to this wsdl and can you please tell me what is the exact use of web services (wsdl 1.1 ) In IDT.

      please explain me the exact syntax of webservice wsdl in idt.

      My requirement is to create universe based on web service wsdl 1.1..

      Author's profile photo Former Member
      Former Member

      Victor,
      I am trying to make a connection to secure Web-service but i am getting the
      following error

      "WSDLException: faultCode=PARSER_ERROR: Problem parsing '- WSDL
      Document -'.: org.xml.sax.SAXParseException: The element type "BR"
      must be terminated by the matching end-tag "</BR>"."

      The error states it finds an element <BR> in the WSDL, but there is no such
      element in the WSDL

       

      Tool: IDT
      Version: 4.1 (SP2)

      Note: I am able to view web service data via crystal and web browser but need
      to build a universe and i am trying this is IDT 4.1 (SP2)

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Hello Namit,

      I have not experienced that issue, I suggest to open a thread for others to comment.

      Best regards,

      Victor

      Author's profile photo Suhas Chowdary
      Suhas Chowdary

      Hi,

      I am new to this wsdl and can you please tell me what is the exact use of web services (wsdl 1.1 ) In IDT.

      please explain me the exact syntax of webservice wsdl in idt.

      My requirement is to create universe based on web service wsdl 1.1..

      Author's profile photo Madheswaran P
      Madheswaran P

      Hi Victor,

      I have a requirement to create a dashboards using web services from BO universe (little bigger universe having around 3000 objects with lots of calculation). Is there a way to create a web services from the entire universe? I am aware we can create a web services using QaaWs for some part from the universe as a Query. We dont want to create separate query for each and everything instead want to create a single web services for entire universe. please let me know is there any option to achieve the same.

      Thanks & Regards

      Madhes

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Hi Madhes,

      qaaws creates a web service from an universe, so I am not sure how to create a better fit to your requirement (create a web service from universe). I think you should create a new thread to hear hopefully other opinions from the community.

      Best regards,

      Victor

      Author's profile photo Madheswaran P
      Madheswaran P

      Thanks Victor. I will create a separate thread to discuss the same.

      Thanks & Regards

      Madhes

      Author's profile photo Mian Kaukab
      Mian Kaukab

      Great Post Victor.

      I am trying to utilize a web service on top of a Function Module. I am using the same web service in dashboard but when made business layer along with all the INPUTS as Parameters upon testing i am getting "Attempted read from closed stream". Any idea whats happening and how to resolve this error.

      Thanks again.

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Hi Mian,

      thanks for leaving a comment.

      I have not seen that error message myself, but I searched in notes and it seems that specific error is currently under investigation by support:

      1998298 - BI4.x : WSDL sharepoint failure in Information Design Tool

      Best regards,

      Victor

      Author's profile photo Former Member
      Former Member

      Hi Victor,

      Thanks for lucid explanation,

      however there is some clarity needed while creating relational connection.

      In the screen shot above the HTTP Proxy: Proxy Address , intentionally blurred.

      HTTP Proxy info question.png

      1) Is this the proxy of the WSDL web service or

      2) the proxy of the local internet within our office ?

      Please advise.

      Regards,

      Venu.K

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      number 2.

      BR

      Author's profile photo Former Member
      Former Member

      This was very informative.

      Do you know if there are any plans to support REST-complaint web services as a basis for a relational universe?

      Author's profile photo Former Member
      Former Member

      Hello,

      Helpful tutorial.  Have you been able to create a parameter that allows multiple values in the IDT data foundation and map it to the Edit Input Columns part of the webservice?

      I have been unable to assign a multiple value to a web service prompt yet.

      Thanks!

      Nick

      Author's profile photo M Mohammed
      M Mohammed

      Hi Victor,

      I have BO 4.1 SP5 client tools installed on my machine (installed update on BO 4.0 SP9). I want to create a universe on top on Web Service as you've done, but I don't see the Web Service (WSDL 1.1) Web Service Connector under Generic when I'm creating a connection. How do I install that driver?

      Any help is greatly appreciated,

      Mahboob Mohammed

      PS: The post is amazing, looking forward to address some of my users' requests using the knowledge from your post.

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Thank you.

      Go to the base Installation of your Client Tools and hit "modify", there you should be able to add the Driver (see Response above from Clay Keller on Dec 20, 2013 5:04 PM)

      Author's profile photo M Mohammed
      M Mohammed

      Thanks Victor. Working on it now.

      Author's profile photo Former Member
      Former Member

      Where Can I find this???

      Author's profile photo Former Member
      Former Member

      It is not working after publishing it as a universe but I am able to query it.

      Author's profile photo Clay Keller
      Clay Keller

      Hi Mahboob - I had ~same problem.  see comments above dated 12/12 thru 12/20/2013.  Clay

      Author's profile photo M Mohammed
      M Mohammed

      Thanks Clay.

      Author's profile photo Suhas Chowdary
      Suhas Chowdary

       

      I am new to this wsdl and can you please tell me what is the exact use of web services (wsdl 1.1 ) In IDT.

      please explain me the exact syntax of webservice wsdl in idt.

      My requirement is to create universe based on web service wsdl 1.1..

      Author's profile photo Suhas Chowdary
      Suhas Chowdary

      Hi,

      I am new to this wsdl and can you please tell me what is the exact use of web services (wsdl 1.1 ) In IDT.

      please explain me the exact syntax of webservice wsdl in idt.

      My requirement is to create universe based on web service wsdl 1.1.

       

      Author's profile photo Former Member
      Former Member

      Thank you for outlining this functionality, this is very helpful.

      Author's profile photo Former Member
      Former Member

      Hi Victor,

      I was able to successfully connect to the HTTP web service in your example. However when I try to connect to a HTTPS web service it is not successful.

      My company proxy-pac is blocking the connection test from IDT because of an open proxy rule set. It is not being blocked when I try accessing the web service through my browser, making me think it is IDT specific.

      Do you know how IDT interacts with HTTPS web services differently than HTTP?

      Thanks,

      Jonathan

      Author's profile photo M Mohammed
      M Mohammed

      Hi John,

      I've a similar issue.

      FYI: I've installed BO 4.1 SP5 Client tools on Dev Server (base install) for some reason.

      So, I can open this test WSDL from the browser, but when I try to create a connection, it gives me an error.

      Please let me know how you resolved it. Also, did you ever try to connect to an External Restful webservice?

      Thanks,
      Mahboob Mohammed

      Author's profile photo M Mohammed
      M Mohammed

      Hi Victor,

      When I try to Edit Input Columns and map them to the newly created Parameters, the OK button is grayed out for some reason. Can you please help? I'm at BO 4.1 SP5 Patch 3.

      Edit Input Columns.PNG

      Thanks,
      Mahboob Mohammed

      Author's profile photo Dilip B
      Dilip B

      Hi Mahboob,

            While creating the Parameters make sure that "Allow Multiple values" option is unchecked on the Parameter options (see below image)1.JPG.

      Author's profile photo M Mohammed
      M Mohammed

      Thanks Dilip. I haven't worked on this for months as that project is low priority as of now, will let you know when I get back to working on it.

      Mahboob Mohammed

      Author's profile photo Former Member
      Former Member

      How do I set up the Web Services (WSDL 1.1)  in the server side ?

      I keep getting network Error.

      Author's profile photo Former Member
      Former Member

      Hi Victor,

      Thanks for sharing this information.

      This is quite useful in my scenario, however when I am following the same approach, I am getting the response as -1.0. Please see the below screenshot:

      /wp-content/uploads/2016/07/screenshot_1005698.png

      Can you please let me know, where I am wrong?

      Thanks,

      Shailendra

      Author's profile photo Former Member
      Former Member

      Hi Victor

      Thanks for very nice write up

      I tried to follow all the instructions. I created the Universe.  My connection was successful in Information Design tool. I built the data foundation layer and Business layer as per your instruction.  I published the universe. The only difference is i used a different web service (http://www.webservicex.net/ConvertTemperature.asmx?WSDL)

      I am getting an error in my BO Webi when i tried to create reports from that universe. Please let me know if i am missing any other configuration  in Business objects. I am able to use the webservice successfully in SAP dashboard.

      BO - WebiRichclient Error trace Log:

      **ERROR:C3_DSL_LOVIterator:(A) *** TODO : c3DslStaticLOVIter::Save : the rest ... *** : (false) [kc3dslds_lov.cpp;3701]
      kc3CoreEngineImpl.cpp:10541:long __thiscall IECore::kc3CoreEngineImpl::int_GetListOfValues(struct IECore::ic3LovManager::dgLOVObject &,class ibo_ptr<struct ic3DataProvider> &,const class ucs2string &,enum IECore::kc3CoreEngineImpl::tag_LovState,bool,bool,bool,const char *,class std::basic_ostream<char,struct std::char_traits<char> > &,const class ucs2string &,const class std::vector<struct RESTRICTIONPATH,class

      Thanks
      Maharaj

      Author's profile photo Former Member
      Former Member

      I have resolve my issue by unchecking Multiple values for the parameters in data foundation layer.

      regds
      Maharaj

      Author's profile photo Suhas Chowdary
      Suhas Chowdary

      Hi,

      I am new to this wsdl and can you please tell me what is the exact use of web services (wsdl 1.1 ) In IDT.

      please explain me the exact syntax of webservice wsdl in idt.

      My requirement is to create universe based on web service wsdl 1.1.

       

      Author's profile photo Former Member
      Former Member

      We are trying to access a SOAP WSDL generated from a cloud application.We are supplying the username and password when establishing the relational connection initially. It connects and tests out to without issues.

      The structure of the WSDL is returned in hierarchical format. Now we build a data foundation using one of tables inside this hierarchy.

      The WSDL prompts us to enter a user name under input columns, but it does not prompt for a password. Now when trying to view the data from here it throws an error saying premature end of file. The WSDL generated by the cloud application is HTTPS format. 

      Has anyone successfully used a could based WSDL to build a UNX?

      Any guidance is appreciated.