cancel
Showing results for 
Search instead for 
Did you mean: 

Xcelsius to MII connection: Webservice or XML Query?

Former Member
0 Kudos

Hi,

I've been doing a prototype for Xcelsius to MII connection and had a few questions about it. I have followed the "Using SAP MII as Data Source for Business Objects Xcelsius" whitepaper and that all works fine. I used Runner to connect Xcelsius to MII and then can pass a userid/password in the URL if I am running the application in Xcelsius or I can embed the Xcelsius app within MII and use the user's logged in credentials.

My questions are:

1. Is the method of embedding the Xcelsius Application within MII the preferred method of connecting the two systems? Or something else? What about if the Xcelsius app connects to other enterprise systems? I get a username/password popup in MII in that case but think it might be possible to work around it with crossdomain.xml files?

2. Can you/Should you use Web Services to connect MII to Xcelsius if you are running the application within Xcelsius? I was starting to prototype this when I came across some forum posts stating that MII web services can only return XML in MII format, and that seems like it wouldn't work at all with Xcelsius because I would be unable to convert the XMII-XML to Xcelsius-XML before returning the transaction. I also had read that the BLS as Webservice should only really be used in the more simple web service cases.

3. Anything else I should be aware of when connecting the two? I believe the long range goal is to provide more interconnectity between BO and MII and wouldn't want to build a solution that is counter to how MII 12.2/12.3 would integrate with Xcelsius.

Thanks for the help,

Kerby Johnson

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Kerby,

let me see if I can help.

1) Embedding the Xcelisus .swf file in MII has the advantage that you can scratch out the user/pw combination from the URL inside the Ecxel environment in Xcelsius. So you wil have some primitive form of single sign on without the popup. If you run the Xcelsius file outside of MII, you need to keep the user/pw in the URL, which is not safe, but wil allow you to use Xcelsisu in any other environment, e.g powerpoint.

2) The usage of Xcelsius depends on your scenario. It does not make muchy sense, for example to host an Xcelsius .swf file in MII, if the data you are showcasing do not relate to an MII(=production site or production related) sceanrio. On the other end, the location inside MII is ideal if you are alking about dashboards using MII data.

3) The Web service interface did not work for us in creating the article papers (MII response does not get read). The statement you mentioned below is new to me: you should be able to run a transaction as web service which returns non-illuminator XML. Again, the porblem was the response was not interpreted by Xcelsius.

4) We do have plans to provide a direct connection from Xcelsius to MII in form of a connector.

Former Member
0 Kudos

Hi Stephan,

Do you know in which release the connector for direct connection from Xcelsius to MII going to be available?

Thanks,

Aakash

Former Member
0 Kudos

Thanks Stephan,

1. I went and checked the original post I found and it was from 3 years ago so possibly that has been updated to allow other XML formats in Web Services. I thought it was more recent but that must have been other posts I found on web services. I'll try it out and see if we can get the Web Services working.

2. The scenario we were looking at is an Xcelsius dashboard with a combination of MII and Data Warehouse information, so we had not yet made the decision as to where it should be hosted and wanted to prototype web service connection first. When we embed Xcelsius within MII, it works fine except the user would need a Business Objects login to then login and see the Data Warehouse information. This could be fine, but wanted to see what else is available. You already touched on the issues with using the XML connector within Xcelsius and passing the username/pword in the URL.

3. I'll try out the web services more and see if we can get it working; we can also try to use a simple xslt with an intermediary webservice to convert the xml formats if necessary. Any thoughts on why the MII response does not get read in Xcelsius?

4. Do you know the timeline for a direct connection? Would that be within MII or Xcelsius that the connector is created?

Thanks for the help. I'll let you know if we are able to get the web service connection working.

Kerby

Former Member
0 Kudos

Hi,

Version: 12.1 SP4 build(36)

I think I'm missing something obvious as this seems trivial but doesn't work. I have a sample Transaction BLS_Webservice with three action blocks and an OutputXML.

1st block: XML Document "OutDoc" with Name, Age, DayOfWeek

2nd Block: Add row to XML Document OutDoc

3rd Block: Assign OutputXML => OutDoc

I assigned the Reference Document of OutputXML to be OutDoc.Output. Within the link editor, I can navigation to Transaction.OutputXML and browse the XML structure of the XML, which matches what I defined in OutDoc. I can also run the transaction with Runner and it works fine and I get the XML result.

However, if I call the transaction from another transaction, and run it, I cannot see the XML structrure of the OutputXML. Furthermore, the Webservice and SOAP calls do not seem to work. Below is the URLs I am using and the output I see. I've also tried calling the BLS_Webservice transaction with another Transaction and passing the URL and get SOAP errors. What am I missing? I followed the "Consuming SAP MII Business Logic Transaction as Web Service" example for configuring the Transaction but nothing seems to work. I just wasn't calling the transaction with a C# program.

Thanks for the help.

Kerby

http://<Server>:50000/XMII/WSDLGen/SAPMIIBOBJIntegration/BLS_Webservice

http://<Server>:50000/XMII/SOAPRunner/SAPMIIBOBJIntegration/BLS_Webservice

soap:Fault

faultcode>soap:Client</faultcode

faultstring>Invalid SOAP request document</faultstring>

soap:Fault

Edited by: Kerby Johnson on Mar 12, 2010 10:24 PM

agentry_src
Active Contributor
0 Kudos

Hi Kerby,

I suspect that you have a tracer somewhere in your transaction to display the output xml. Take a copy of that and put it in the transaction property OutputXML. Then check to see if it is visible from the transaction call after saving. You may also have to go into the transaction call configuration editor screen to force a refresh of the transaction properties as it may not update automatically. Please confirm that the Transaction property is type output (just covering all the bases).

Good luck,

Mike

Edited by: Michael Appleby on Mar 23, 2010 6:39 PM

Former Member
0 Kudos

Hi Michael,

Thanks for the help. When I added the XML structure to the OutputXML property then I could see that structure when calling the transaction from another Transaction and I could see it within the WSDLGen. I was also able to use SoapUI to test the Webservice call with the WSDLGen and that worked fine, so it seems like the web service is working.

However, when I try to return the Xcelsius XML structure to the WSDL the WSDLGen doesn't show the XML Structure and the wsdl does not work in SOAP UI. The XML Structure I'm using is the one returned from the MapIllumDoc2XcelsiusXML transaction with corresponding xslt. (The Reference Document is set and the Xcelsius XML structure is browsable from other transactions, it just doesn't show up in the WSDLGen). I read that at one point MII couldn't return non MII xml structures in Web services, but I thought that was changed/fixed. If it is true I can always do an xslt between the web service call but would prefer to avoid that if possible.

Also, when I've tried to use SOAPRunner and the Web Service action block within MII neither worked. Any thoughts?

Xcelsius XML Structure:

?xml version="1.0" encoding="UTF-8" standalone="no"?

data

variable name="SAPMII_1"

row

column>1stRow</column

column>28</column

column>Friday</column

/row

row

column>2ndRow</column

column>15</column

column>Monday</column

/row

/variable

/data

SoapRunner URL.:

http://<server>:50000/XMII/SOAPRunner/SAPMIIBOBJIntegration/BLS_Webservice

Web Service Action Block URL: (Same URL that worked with SoapUI)

http://<server>:50000/XMII/WSDLGen/SAPMIIBOBJIntegration/BLS_Webservice?j_user=<user>&j_password=<pa...;

Former Member
0 Kudos

Hi,

Any further thoughts or information on this from the last post?

1. WSDLGen not returning Xcelsius style XML. Is it capable of doing so? Illuminator XML works fine with Webservice.

2. SOAPRunner and Webservice call within MII not working even with Illuminator XML but Web Service call works from SOAPUI.

Thanks,

Kerby

Former Member
0 Kudos

Bump...

Has anyone (at SAP or otherwise) ever returned non-Illuminator XML via using a Transaction as a web service? Specifically Xcelsius XML is what I'm working with, but any answer about non-Illuminator XML is helpful.

Illuminator XML works fine as a webservice, and when I do the same thing with the non-Illuminator XML it will not work. If it's not possible that's fine, but would like to know one way or the other.

Thanks,

Kerby

jamie_cawley
Advisor
Advisor
0 Kudos

The response of soap runner expects to be in mii format, and will not work when a non-mii format is used. Using runner to call the transaction would be the solution.

Jamie

Former Member
0 Kudos

Hi Jamie,

Thanks for the help. I appreciate the definitive answer.

Kerby

Answers (0)