cancel
Showing results for 
Search instead for 
Did you mean: 

Visualizing MII data in Xcelsius / Flash

Former Member
0 Kudos

I am visualizing some MII data using Xcelsius 2008. For the most part I have been successful, particularly when visualizing within an MII session. However there are some cases where my users will encounter a Flash error #2048, which is related to some security within Flash that will not allow cross-domain access to data.

You may ask, if you are within the MII environment why would it be cross domain. Well, as it turns out Flash does not use a very complex mechanism for determining the domain, if the shortcut that my users use to access MII is

http://<server>:50000/MII

instead of

http://<server>.<domain>.<company>.net:50000/XMII

Flash thinks that this is a cross-domain call if the URL embedded in Xcelsius uses the fully qualified domain name.

While I could send out new shortcuts to everyone, there are other issues. And some future initiatives that may require cross-domain calls.

When Flash encounters a cross domain call, it looks for a policy file on the root of the datasource called crossdomain.xml which may look something like

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM
"http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">

<cross-domain-policy>
	<site-control permitted-cross-domain-policies="master-only"/>
	<allow-access-from domain="*"/>
	<allow-http-request-headers-from domain="*" headers="SOAPAction"/>
</cross-domain-policy>

There are some SDN posts detailing how to get this file into the root on an ABAP WAS, however nothing about how to do it on a Java only server. It would need to be accessible at:

http://<server>.<domain>.<company>.net:50000/crossdomain.xml

I realize this post crosses several different SAP technologies, any help would be appreciated, or direction on where I should post this.

Rod

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Have you checked it on Xcelsius forum? give a try !

Answers (3)

Answers (3)

0 Kudos

It looks like NetWeaver 7.3 has a set of crossdomain.xml policy files delivered standard that will allow access by default:

<cross-domain-policy>

     <allow-access-from domain="*" to-ports="*"/>

     <site-control permitted-cross-domain-policies="all"/>

     <allow-http-request-headers-from domain="*" headers="*"/>

</cross-domain-policy>

I found it in the following locations:

<drive>:\usr\sap\<SID>\J02\j2ee\cluster\server0\apps\sap.com\irj\servlet_jsp\irj\root

<drive>:\usr\sap\<SID>\J02\j2ee\servicehttp

<drive>:\usr\sap\<SID>\J02\j2ee\cluster\apps\sap.com\tc~monitoring~webservice~app\servlet_jsp\_tc~monitoring~webservice~web\root

<drive>:\usr\sap\<SID>\J02\j2ee\cluster\apps\sap.com\tc~je~dsr~ws~app\servlet_jsp\tc~je~dsr~ws~web\root

Regards,
Sam

Former Member
0 Kudos

I am glad that I found this thread, because I needed to put a custom crossdomain.xml file in the root folder of a NetWeaver Application Server (Java) CE 7.2, so that an external Adobe Flex application could call some web services of the MII instance that resides in this NetWeaver AS. This thread gave me a good start point for investigation and tests.

In my case, I had to add the crossdomain.xml file to this jar file:

<drive letter>:\usr\sap\<SID>\J17\j2ee\cluster\apps\sap.com\tc~je~crossdomain~xml~app\servlet_jsp\crossdomain.xml\root\WEB-INF\lib\ tc~je~crossdomain~xml~web_api.jar

I renamed the original crossdomain.xml file that was in the jar file and replaced it with the custom crossdomain.xml file. This made the call to [http://<servername>:<port>/crossdomain.xml] on a browser bring my custom crossdomain.xml file .

I just found it curious that this seemed to be required specifically for the crossdomain.xml file to be on the root (from the file caller's perspective). For any other files to be on the root (from the file caller's perspective), this is the folder which the files have to be copied to:

<drive letter>:\usr\sap\<SID>\J17\j2ee\cluster\apps\sap.com\com.sap.engine.docs.examples\servlet_jsp\_default\root

Edited by: Daniel Takara on Nov 2, 2010 6:29 PM

Former Member
0 Kudos

Was able to determine the appropriate location for the crossdomain.xml file, which solved the immediate problem.

Still trying to determine if there is a cleaner way of carrying out this task by posting on other forums.

Former Member
0 Kudos

You can also have a look on this WiKi

How to connect SAP MII 12.0 to SAP Business Objects Xcelsius in order to visualize manufacturing execution data in Xcelsius dashboards which are embed into the SAP MII portal

https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/b0373859-2c61-2b10-f4a3-de9585f6...

Regards

Ram Upadhyay

Former Member
0 Kudos

Thanks Ram,

That's what started this whole thing. It is a great step by step guide on how to use Xcelsius within MII.

Rod

Former Member
0 Kudos

Hi Rod,

I am looking for exactly this solution, as I want to consume MII Web- and HTTP-services via an Adobe Flex UI.

Where exactly do I have to put the crossdomain.xml file on the Netweaver/MII server and how do I get it there.

Please tell us what your solution was.

Thank you,

Michael

Former Member
0 Kudos

Michael,

You will likely need to enlist the assistance of your NW admin to carry this out. I have still not found the 'accepted' way to do this, for instance I don't know if the file will survive NW patches etc... So use at your own risk

<drive letter>:\usr\sap\<SID>\JC00\j2ee\cluster\server0\apps\sap.com\com.sap.engine.docs.examples\servlet_jsp\_default\root

With the file in this location,

 http://<myserver>:<myport>/crossdomain.xml 

will return


  <?xml version="1.0" ?> 
  <!DOCTYPE cross-domain-policy (View Source for full doctype...)> 
- <cross-domain-policy>
  <site-control permitted-cross-domain-policies="master-only" /> 
  <allow-access-from domain="*" secure="true" /> 
  <allow-http-request-headers-from domain="*" headers="SOAPAction" secure="true" /> 
  </cross-domain-policy>

Regards,

Rod Hoffman

Former Member
0 Kudos

Exactly what I needed to know!

Thank you,

Michael