How to… Use SOAP (1.1/1.2) and HTTP POST for Web Services

advertisement
How to… Use SOAP (1.1/1.2) and
HTTP POST for Web Services
Integration
Applies to:
SAP NetWeaver XI3.0, PI 7.0 and PI 7.1
Summary
This How-to Guide will show you how to use the SOAP (1.1/1.2) and HTTP POST for Web Services
Integration via SOAP and Plain HTTP Receiver Adapters respectively.
Author:
Mark Angelo Dihiansan
Company: NorthgateArinso
Created on: July 1, 2012
Author Bio
Mark Dihiansan is currently working as a Senior SAP XI/PI consultant for NorthgateArinso.
SAP COMMUNITY NETWORK
© 2012 SAP AG
scn.sap.com
1
How to… Use SOAP (1.1/1.2) and HTTP POST for Web Services Integration
Table of Contents
Scenario .............................................................................................................................................................. 3
Introduction ......................................................................................................................................................... 3
Step-by-Step ....................................................................................................................................................... 3
Load the WSDL in SOAP UI ........................................................................................................................... 3
SOAP 1.1 Receiver ......................................................................................................................................... 4
Steps in ESR................................................................................................................................................................ 4
Steps in ID ................................................................................................................................................................... 5
Test the Scenario ......................................................................................................................................................... 9
SOAP 1.2 Receiver ....................................................................................................................................... 10
Steps in ESR.............................................................................................................................................................. 12
Steps in ID ................................................................................................................................................................. 16
Test the Scenario ....................................................................................................................................................... 20
HTTP POST Receiver ................................................................................................................................... 22
Steps in ESR.............................................................................................................................................................. 22
Steps in ID ................................................................................................................................................................. 27
Test the Scenario (SOAP over HTTP) ....................................................................................................................... 32
Test the Scenario (PLAIN HTTP) ............................................................................................................................... 34
What if the Sender uses these protocols? ........................................................................................................ 36
SOAP 1.1 Sender .......................................................................................................................................... 36
SOAP 1.2 Sender .......................................................................................................................................... 36
HTTP POST .................................................................................................................................................. 36
Related Content ................................................................................................................................................ 37
Copyright........................................................................................................................................................... 38
SAP COMMUNITY NETWORK
© 2012 SAP AG
scn.sap.com
2
How to… Use SOAP (1.1/1.2) and HTTP POST for Web Services Integration
Scenario
A Web Service Operation has been given that describe ways to call that service via:

SOAP 1.1

SOAP 1.2

HTTP POST
Most of the time, the developer can choose which protocol to use e.g. Use SOAP 1.1 for Web Services
because this is the easiest to implement in XI/PI as this requires the least amount of configuration. But what
if the requirement is to use SOAP 1.2 or HTTP POST?
This guide covers Web Service integration using SOAP 1.1, 1.2 and HTTP POST.
Introduction
This guide has been inspired by the questions that have been posted in SDN regarding SOAP 1.2 and HTTP
POST. Many thanks for Renjith Andrews for his response to this thread regarding prolog creation.
To start, we will be using the Add operation from this webpage. The WSDL can be downloaded here. Please
also bear with me since it is hard to discuss SOAP 1.2 without discussing SOAP 1.1.
Step-by-Step
By clicking the Add hyperlink from the webpage, you will be taken to a page that explains the different ways
to call the Add operation like SOAP 1.1 & 1.2, HTTP GET and HTTP POST. This guide will not be covering
about HTTP GET as this is only natively supported from SAP Netweaver PI 7.3 and onwards.
Load the WSDL in SOAP UI
SOAP UI is a third-party tool used for testing Web Services. For more information regarding SOAP UI,
please go to this link. The application can be downloaded here.
Here is a screenshot from SOAP UI once the Add operation has been successfully executed.
SAP COMMUNITY NETWORK
© 2012 SAP AG
scn.sap.com
3
How to… Use SOAP (1.1/1.2) and HTTP POST for Web Services Integration
SOAP 1.1 Receiver
SOAP 1.1 is probably the easiest to implement because it is natively supported by the SOAP
Sender/Receiver adapter. For those who are already very much familiar with this topic, you may opt to skip
this and proceed to SOAP 1.2 and HTTP POST.
Here is the request message structure of the Add operation using SOAP 1.1:
Compare with the SOAP UI request structure message:
Notice that there are prefixes (tem) from the request message using SOAP UI while there are none from the
webpage. For this guide, we will be following the SOAP UI format.
Steps in ESR


Import the downloaded WSDL as an External Definition in ESR
Create the Outbound and Inbound Service Interface is ESR. For simplicity, the request and response
message structure will be the same and no mapping will be used. See screenshot below:
Outbound Service Interface
SAP COMMUNITY NETWORK
© 2012 SAP AG
scn.sap.com
4
How to… Use SOAP (1.1/1.2) and HTTP POST for Web Services Integration
Inbound Service Interface

Save and Activate
Steps in ID

Create a Party and a Communication Component or just a Communication Component without a
Party and of course, the SOAP Receiver Communication Channel (configure proxy if needed)
SAP COMMUNITY NETWORK
© 2012 SAP AG
scn.sap.com
5
How to… Use SOAP (1.1/1.2) and HTTP POST for Web Services Integration
The Target URL will be http://www.html2xml.nl/Services/Calculator/Version1/Calculator.asmx and
the SOAP action is http://tempuri.org/Add as can be seen from SOAP UI Raw screenshot

Create the Receiver Determination
and specify the receiver business component
SAP COMMUNITY NETWORK
© 2012 SAP AG
scn.sap.com
6
How to… Use SOAP (1.1/1.2) and HTTP POST for Web Services Integration

Create the Interface Determination

Create the Sender Agreement – only do this if a Sender Adapter that resides on the Java Stack is
used. This guide will be using Abap Proxy/HTTP to trigger the web service.
SAP COMMUNITY NETWORK
© 2012 SAP AG
scn.sap.com
7
How to… Use SOAP (1.1/1.2) and HTTP POST for Web Services Integration

Create the Receiver Agreement

Save and Activate
SAP COMMUNITY NETWORK
© 2012 SAP AG
scn.sap.com
8
How to… Use SOAP (1.1/1.2) and HTTP POST for Web Services Integration
Test the Scenario

As was stated earlier, ABAP Proxy/HTTP will be used to test this scenario. Create the proxy in ECC
by logging-in and typing SPROXY. Look for your SCV -> Service Interface

For Package, use $TMP. Just provide something that starts with Y or Z. Use Local Object.
Press continue -> complete. Activate your proxy by pressing ctrl+f3

Execute your proxy by pressing f8 -> f8
SAP COMMUNITY NETWORK
© 2012 SAP AG
scn.sap.com
9
How to… Use SOAP (1.1/1.2) and HTTP POST for Web Services Integration
You can still edit the values of a and b by pressing ctrl+f2. And when you are satisfied, press f8
The result is successful  now we go to the fun part, making it work using SOAP 1.2.
SOAP 1.2 Receiver
SOAP 1.2 is the improved version of SOAP 1.1. There are a few noticeable but significant differences
between the two.
Request Message
SOAP 1.1
SOAP 1.2
Content Type
text/xml
application/soap+xml
SOAP Action
Yes
No
SOAP Envelope Namespace
http://schemas.xmlsoap.org/soap/
envelope/
http://www.w3.org/2003/05/soapenvelope
SOAP 1.1
SOAP 1.2
Content Type
text/xml
application/soap+xml
SOAP Envelope Namespace
http://schemas.xmlsoap.org/soap/
envelope/
http://www.w3.org/2003/05/soapenvelope
Response Message
SAP COMMUNITY NETWORK
© 2012 SAP AG
scn.sap.com
10
How to… Use SOAP (1.1/1.2) and HTTP POST for Web Services Integration
SOAP Fault
SOAP 1.1
SOAP 1.2
Content Type
text/xml
application/soap+xml
SOAP Envelope Namespace
http://schemas.xmlsoap.org/soap/
envelope/
http://www.w3.org/2003/05/soapenvelope
Details
faultcode and faultstring
Code with a subnode called
Value
Reason with a subnode called
Text
Keep in mind the difference between the Request Messages, because it is already implied that the SOAP
Envelope would need to be created. Also, it is still theoretically possible to use the SOAP Receiver Adapter
because the HTTP method that will be used is still POST, it is just that the SOAP envelope that will be used
is for 1.2.
Here is the request message structure of the Add operation using SOAP 1.2:
Compare with the SOAP UI request structure message:
Notice that the namespace for soap has already changed.
SAP COMMUNITY NETWORK
© 2012 SAP AG
scn.sap.com
11
How to… Use SOAP (1.1/1.2) and HTTP POST for Web Services Integration
Steps in ESR


Import the downloaded WSDL as an External Definition in ESR
Create the Outbound and Inbound Service Interface is ESR. For simplicity, the request and response
message structure will be the same and no mapping will be used. See screenshot below:
Outbound Service Interface
Inbound Service Interface
SAP COMMUNITY NETWORK
© 2012 SAP AG
scn.sap.com
12
How to… Use SOAP (1.1/1.2) and HTTP POST for Web Services Integration

Create a Java Mapping that will build(request) and remove(response) the SOAP 1.2 Envelope
Java Mapping for building the Request Envelope
package IA_CreateSOAP12Envelope;
import java.io.InputStream;
import
import
import
import
import
com.sap.aii.mapping.api.AbstractTransformation;
com.sap.aii.mapping.api.StreamTransformationException;
com.sap.aii.mapping.api.TransformationInput;
com.sap.aii.mapping.api.TransformationOutput;
com.sap.aii.utilxi.core.io.IOUtil;
public class CreateSOAP12Envelope extends AbstractTransformation {
public void transform(TransformationInput input, TransformationOutput output)
throws StreamTransformationException {
try{
String strFlatData = "";
String envelope = "";
InputStream inputStream = input.getInputPayload().getInputStream();
inputStream.close();
strFlatData = IOUtil.copyToString(inputStream, "UTF-8");
strFlatData = strFlatData.replaceAll("ns0:","");
strFlatData = strFlatData.replaceAll("n0:","");
strFlatData =
strFlatData.replaceAll(strFlatData.substring(strFlatData.indexOf("
xmlns"),strFlatData.lastIndexOf("\"")+1),(""));
strFlatData = strFlatData.replaceAll("<","<tem:");
strFlatData = strFlatData.replaceAll("<tem:/","</tem:");
envelope = "<soap:Envelope xmlns:soap=\"http://www.w3.org/2003/05/soapenvelope\"
xmlns:tem=\"http://tempuri.org/\"><soap:Header/><soap:Body>"+strFlatData.substring(st
rFlatData.indexOf("?>")+2)+"</soap:Body></soap:Envelope>";
output.getOutputPayload().getOutputStream().write(envelope.getBytes());
}
catch(Exception ie) { }
}
}
SAP COMMUNITY NETWORK
© 2012 SAP AG
scn.sap.com
13
How to… Use SOAP (1.1/1.2) and HTTP POST for Web Services Integration
Java Mapping for removing the SOAP Envelope
package IA_RemoveSOAP12Envelope;
import java.io.InputStream;
import
import
import
import
import
com.sap.aii.mapping.api.AbstractTransformation;
com.sap.aii.mapping.api.StreamTransformationException;
com.sap.aii.mapping.api.TransformationInput;
com.sap.aii.mapping.api.TransformationOutput;
com.sap.aii.utilxi.core.io.IOUtil;
public class RemoveSOAP12Envelope extends AbstractTransformation {
public void transform(TransformationInput input, TransformationOutput output)
throws StreamTransformationException {
try{
String strFlatData = "";
InputStream inputStream = input.getInputPayload().getInputStream();
inputStream.close();
strFlatData = IOUtil.copyToString(inputStream, "UTF-8");
strFlatData = strFlatData.replaceAll("<soap:Envelope
xmlns:soap=\"http://www.w3.org/2003/05/soap-envelope\"
xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"><soap:Body>","");
strFlatData = strFlatData.replaceAll("</soap:Body></soap:Envelope>","");
output.getOutputPayload().getOutputStream().write(strFlatData.getBytes());
}
catch(Exception ie) { }
}
}

Import the Java Mappings as Imported Archive into ESR

Create an Operation Mapping and call the Java Mappings
SAP COMMUNITY NETWORK
© 2012 SAP AG
scn.sap.com
14
How to… Use SOAP (1.1/1.2) and HTTP POST for Web Services Integration
Request Message
Response Message

Save and Activate
SAP COMMUNITY NETWORK
© 2012 SAP AG
scn.sap.com
15
How to… Use SOAP (1.1/1.2) and HTTP POST for Web Services Integration
Steps in ID

Create a Party and a Communication Component or just a Communication Component without a Party
and of course, the SOAP Receiver Communication Channel (configure proxy if needed)
Take note that there is no longer an entry in the SOAP Action and the Do Not Use SOAP Envelope
is ticked. This will ensure that you are overriding the default SOAP 1.1 envelope that XI/PI uses in
the native SOAP receiver adapter.
Then go to the Module tab and then follow the configuration as shown in the screenshot below.
Since the Do Not Use SOAP Envelope option is ticked, the Content Type will default to
application/xml, but since the Content Type needs to be application/soap+xml, the need to use
the MessageTransformBean becomes apparent. And the Transform.ContentType module
configuration ensures that the SOAP 1.2 Content Type is used.
SAP COMMUNITY NETWORK
© 2012 SAP AG
scn.sap.com
16
How to… Use SOAP (1.1/1.2) and HTTP POST for Web Services Integration

Create the Receiver Determination
and specify the receiver business component
SAP COMMUNITY NETWORK
© 2012 SAP AG
scn.sap.com
17
How to… Use SOAP (1.1/1.2) and HTTP POST for Web Services Integration

Create the Interface Determination and look for the Operation Mapping created in ESR.

Create the Sender Agreement – only do this if a Sender Adapter that resides on the Java Stack is
used. This guide will be using Abap Proxy/HTTP to trigger the web service.
SAP COMMUNITY NETWORK
© 2012 SAP AG
scn.sap.com
18
How to… Use SOAP (1.1/1.2) and HTTP POST for Web Services Integration

Create the Receiver Agreement

Save and Activate
SAP COMMUNITY NETWORK
© 2012 SAP AG
scn.sap.com
19
How to… Use SOAP (1.1/1.2) and HTTP POST for Web Services Integration
Test the Scenario

As was stated earlier, ABAP Proxy/HTTP will be used to test this scenario. Create the proxy in ECC
by logging-in and typing SPROXY. Look for your SCV -> Service Interface

For Package, use $TMP. Just provide something that starts with Y or Z. Use Local Object.
Press continue -> complete. Activate your proxy by pressing ctrl+f3

Execute your proxy by pressing f8 -> f8
SAP COMMUNITY NETWORK
© 2012 SAP AG
scn.sap.com
20
How to… Use SOAP (1.1/1.2) and HTTP POST for Web Services Integration
You can still edit the values of a and b by pressing ctrl+f2. And when you are satisfied, press f8
The response is successful. Now to see if we have sent the correct request, check in SXI_MONITOR
of XI/PI
Then display the message:
Request Message – before message mapping (top right) and after message mapping (bottom right)
Response Message – this cannot be displayed via moni, so just export the payload as XML. Notice
the Content Type is now application/soap+xml.
SAP COMMUNITY NETWORK
© 2012 SAP AG
scn.sap.com
21
How to… Use SOAP (1.1/1.2) and HTTP POST for Web Services Integration
This concludes the How To Guide for SOAP 1.2. Now we go to HTTP POST.
HTTP POST Receiver
The HTTP POST is one of the methods that are supported by the HTTP protocol. And is also the method
used by the Plain HTTP and SOAP Adapter, except that the SOAP Adapter uses a SOAP Envelope by
default. Take note that this approach could also be used for HTTP scenarios that require manipulation of the
HTTP Body.
Going back to our calculator web service, the HTTP POST specifications give the following structure:
Steps in ESR

Create a DataType and Message Type for Inbound and Outbound Messages
See Sample Request Message Type
See Sample ResponseMessage Type
SAP COMMUNITY NETWORK
© 2012 SAP AG
scn.sap.com
22
How to… Use SOAP (1.1/1.2) and HTTP POST for Web Services Integration

Create the Outbound and Inbound Service Interface is ESR. For simplicity, the request and response
message structure will be the same and no mapping will be used. See screenshot below:
Outbound Service Interface
Inbound Service Interface
SAP COMMUNITY NETWORK
© 2012 SAP AG
scn.sap.com
23
How to… Use SOAP (1.1/1.2) and HTTP POST for Web Services Integration

For this guide, a two-step mapping will be used to create the required output. The first one is a
message mapping and the second one is a Java Mapping. Create the message mapping exactly as
below:
The ampersand sign (&) is needed at the start because this is how HTTP POST parameters are
passed in an HTTP Body.
Now go to the test tab and test the mapping:
The output in the Value column is correct. We only need to retain the Value (&a=7&b=8) and Java
Mapping is needed for that.
Java Mapping for creating the HTTP Body
package IA_CreateHTTPBody;
import java.io.InputStream;
import
import
import
import
import
com.sap.aii.mapping.api.AbstractTransformation;
com.sap.aii.mapping.api.StreamTransformationException;
com.sap.aii.mapping.api.TransformationInput;
com.sap.aii.mapping.api.TransformationOutput;
com.sap.aii.utilxi.core.io.IOUtil;
public class CreateHTTPBody extends AbstractTransformation {
public void transform(TransformationInput input, TransformationOutput output)
throws StreamTransformationException {
SAP COMMUNITY NETWORK
© 2012 SAP AG
scn.sap.com
24
How to… Use SOAP (1.1/1.2) and HTTP POST for Web Services Integration
try{
String strFlatData = "";
InputStream inputStream = input.getInputPayload().getInputStream();
inputStream.close();
strFlatData = IOUtil.copyToString(inputStream, "UTF-8");
strFlatData = strFlatData.replaceAll("<AddIn>","");
strFlatData = strFlatData.replaceAll("</AddIn>","");
strFlatData = strFlatData.replaceAll("&amp;","&");
output.getOutputPayload().getOutputStream().write(strFlatData.substring(strFlatDat
a.indexOf("?>")+2).getBytes());
}
catch(Exception ie) { }
}
}

Import the Java Mapping as an Imported Archive into ESR

Create an Operation Mapping and call the Message Mapping and Operation Mapping
Request Message
SAP COMMUNITY NETWORK
© 2012 SAP AG
scn.sap.com
25
How to… Use SOAP (1.1/1.2) and HTTP POST for Web Services Integration
Response Message
No mapping is required for the response message. Note that when you test your operation mapping,
this will result in an unable to display error
To see the output, click the SRC icon from the Result.

Import the Java Mapping as an Imported Archive into ESR
SAP COMMUNITY NETWORK
© 2012 SAP AG
scn.sap.com
26
How to… Use SOAP (1.1/1.2) and HTTP POST for Web Services Integration
Steps in ID

Create a Party and a Communication Component or just a Communication Component without a
Party and of course, the SOAP Receiver Communication Channel (configure proxy if needed) or
Plain HTTP Receiver
For the SOAP Receiver Communication Channel, here is the configuration
For the module configuration, see screenshot below:
SAP COMMUNITY NETWORK
© 2012 SAP AG
scn.sap.com
27
How to… Use SOAP (1.1/1.2) and HTTP POST for Web Services Integration
The MessageTransformBean is used to convert the ContentType from application/xml (due to Do
Not Use SOAP Envelope option in Comm Channel) to application/x-www-form-urlencoded that is
specified in the Add operation using HTTP POST.
For the Plain HTTP Receiver, refer to the screenshot below for the configuration (configure the proxy
if needed)
Note that the http:// was removed and that the default port for http is 80 unless otherwise specified. It is, however,
advisable to just use the SOAP Receiver Adapter because it can use adapter modules.
SAP COMMUNITY NETWORK
© 2012 SAP AG
scn.sap.com
28
How to… Use SOAP (1.1/1.2) and HTTP POST for Web Services Integration

Create the Receiver Determination
and specify the receiver business component
SAP COMMUNITY NETWORK
© 2012 SAP AG
scn.sap.com
29
How to… Use SOAP (1.1/1.2) and HTTP POST for Web Services Integration

Create the Interface Determination

Create the Sender Agreement – only do this if a Sender Adapter that resides on the Java Stack is
used. This guide will be using Abap Proxy/HTTP to trigger the web service.
SAP COMMUNITY NETWORK
© 2012 SAP AG
scn.sap.com
30
How to… Use SOAP (1.1/1.2) and HTTP POST for Web Services Integration

Create the Receiver Agreement

Save and Activate
SAP COMMUNITY NETWORK
© 2012 SAP AG
scn.sap.com
31
How to… Use SOAP (1.1/1.2) and HTTP POST for Web Services Integration
Test the Scenario (SOAP over HTTP)

As was stated earlier, ABAP Proxy/HTTP will be used to test this scenario. Create the proxy in ECC
by logging-in and typing SPROXY. Look for your SCV -> Service Interface

For Package, use $TMP. Just provide something that starts with Y or Z. Use Local Object.
Press continue -> complete. Activate your proxy by pressing ctrl+f3

Execute your proxy by pressing f8 -> f8
SAP COMMUNITY NETWORK
© 2012 SAP AG
scn.sap.com
32
How to… Use SOAP (1.1/1.2) and HTTP POST for Web Services Integration
You can still edit the values of a and b by pressing ctrl+f2. And when you are satisfied, press f8
The response was successful. Now let’s see what happened in XI by finding the message using
SXI_MONITOR
Request Message – before message mapping (top right) and after message mapping (bottom right)
Response Message - before message mapping (top right) and after message mapping (bottom right)
SAP COMMUNITY NETWORK
© 2012 SAP AG
scn.sap.com
33
How to… Use SOAP (1.1/1.2) and HTTP POST for Web Services Integration
Additional Info
Flow is from Integration Engine -> Adapter Engine and vice-versa
Now let’s see if we use Plain HTTP Receiver

Edit the existing receiver agreement
Test the Scenario (PLAIN HTTP)

Execute your proxy by pressing f8 -> f8
You can still edit the values of a and b by pressing ctrl+f2. And when you are satisfied, press f8
SAP COMMUNITY NETWORK
© 2012 SAP AG
scn.sap.com
34
How to… Use SOAP (1.1/1.2) and HTTP POST for Web Services Integration
The response was successful. Now let’s see what happened in XI.
Request Message – before message mapping (top right) and after message mapping (bottom right)
Response Message - before message mapping (top right) and after message mapping (bottom right)
Additional Info
As you can see, the PLAINHTTP is visible from the response message.
SAP COMMUNITY NETWORK
© 2012 SAP AG
scn.sap.com
35
How to… Use SOAP (1.1/1.2) and HTTP POST for Web Services Integration
What if the Sender uses these protocols?
SOAP 1.1 Sender


The sender will POST to this URL http(s)://host:port/XISOAPAdapter/MessageServlet?channel=p:s:c
Where p = party, s = service and c = communication channel
A sender communication channel and a sender agreement is required
SOAP 1.2 Sender



The sender will POST to this URL http(s)://host:port/XISOAPAdapter/MessageServlet?channel=p:s:c
Where p = party, s = service and c = communication channel
A sender communication channel with the Do Not Use SOAP Envelope option should be used and
a sender agreement is required
Use Java Mapping/XSLT to remove the SOAP 1.2 Envelope
HTTP POST


The sender will POST to this URL http://host:port/path?querystring for the complete query, see Plain
HTTP Sender Adapter at the references page
Java Mapping may be required if the document posted is not an XML.
SAP COMMUNITY NETWORK
© 2012 SAP AG
scn.sap.com
36
How to… Use SOAP (1.1/1.2) and HTTP POST for Web Services Integration
Related Content
Request Differences between SOAP 1.1 and SOAP 1.2
SDN Thread for Dynamic Prolog
SAP Help for Defining the Plain HTTP Sender Adapter Query
SAP Help for Configuring the Plain HTTP Receiver Adapter
SAP Help for Configuring the SOAP Sender Adapter
SAP Help for Configuring the SOAP Receiver Adapter
SAP Help for ABAP Proxy Generation
Using PI 7.1 API for Java Mapping
SAP COMMUNITY NETWORK
© 2012 SAP AG
scn.sap.com
37
How to… Use SOAP (1.1/1.2) and HTTP POST for Web Services Integration
Copyright
© Copyright 2012 SAP AG. All rights reserved.
No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG.
The information contained herein may be changed without prior notice.
Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors.
Microsoft, Windows, Excel, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation.
IBM, DB2, DB2 Universal Database, System i, System i5, System p, System p5, System x, System z, System z10, System z9, z10, z9,
iSeries, pSeries, xSeries, zSeries, eServer, z/VM, z/OS, i5/OS, S/390, OS/390, OS/400, AS/400, S/390 Parallel Enterprise Server,
PowerVM, Power Architecture, POWER6+, POWER6, POWER5+, POWER5, POWER, OpenPower, PowerPC, BatchPipes,
BladeCenter, System Storage, GPFS, HACMP, RETAIN, DB2 Connect, RACF, Redbooks, OS/2, Parallel Sysplex, MVS/ESA, AIX,
Intelligent Miner, WebSphere, Netfinity, Tivoli and Informix are trademarks or registered trademarks of IBM Corporation.
Linux is the registered trademark of Linus Torvalds in the U.S. and other countries.
Adobe, the Adobe logo, Acrobat, PostScript, and Reader are either trademarks or registered trademarks of Adobe Systems
Incorporated in the United States and/or other countries.
Oracle is a registered trademark of Oracle Corporation.
UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group.
Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of
Citrix Systems, Inc.
HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C®, World Wide Web Consortium, Massachusetts
Institute of Technology.
Java is a registered trademark of Oracle Corporation.
JavaScript is a registered trademark of Oracle Corporation, used under license for technology invented and implemented by Netscape.
SAP, R/3, SAP NetWeaver, Duet, PartnerEdge, ByDesign, SAP Business ByDesign, and other SAP products and services mentioned
herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and other countries.
Business Objects and the Business Objects logo, BusinessObjects, Crystal Reports, Crystal Decisions, Web Intelligence, Xcelsius, and
other Business Objects products and services mentioned herein as well as their respective logos are trademarks or registered
trademarks of Business Objects S.A. in the United States and in other countries. Business Objects is an SAP company.
All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document
serves informational purposes only. National product specifications may vary.
These materials are subject to change without notice. These materials are provided by SAP AG and its affiliated companies ("SAP
Group") for informational purposes only, without representation or warranty of any kind, and SAP Group shall not be liable for errors or
omissions with respect to the materials. The only warranties for SAP Group products and services are those that are set forth in the
express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an
additional warranty.
SAP COMMUNITY NETWORK
© 2012 SAP AG
scn.sap.com
38
Download
Related flashcards

Web colors

– Cards

Web design

– Cards

Web designers

– Cards

Create flashcards