cancel
Showing results for 
Search instead for 
Did you mean: 

I want to test sender ABAP proxy in AAE by SOAP client

Former Member
0 Kudos

To PI Specialists

Now I plan to test sender ABAP proxy in AAE by SOAP client system.

(we use aae so we set sender abap proxy by sender soap adapter.)

ABAP creating team and PI creating team are in other site.We cant contact easily.

I want to separate ABAP Unit test and PI Unit test, plan to use soap client for test driver.

(we use SOAPUI. )

the url is http://<host>:<port>/XISOAPAdapter/MessageServlet?channel=party:service:channel

I noticed that sender soap adapter is started, but the messeage protocol is invalid.

we use messege of wsdl. it must be XI3.0 protocol.

Please tell me XI3.0 protocol.

Naoki

Accepted Solutions (1)

Accepted Solutions (1)

Shabarish_Nair
Active Contributor
0 Kudos
I want to separate ABAP Unit test and PI Unit test, plan to use soap client for test driver.
(we use SOAPUI. )

if you are using AAE and SOAP XI 3.0 protocol, SOAP UI cannot be used.

The testing has to happen from ECC only.

one way is to use the TEST option of Proxy - /people/stefan.grube/blog/2006/07/28/xi-debug-your-inbound-abap-proxy-implementation

Former Member
0 Kudos

To:Vijayakumar

Thank you for you advise.

I'll re-think test method...

Naoki

Answers (2)

Answers (2)

Former Member
0 Kudos

This is possible to do in SOAPUI.  I am testing this scenario using AAE, but I am also using SOAP UI Pro.  The procedure is pretty basic.  Instead of sending your payload in as part of the body, you have to send it in as an attachment.  You will also need to set the header correctly.  Here is a sample message from my SOAP UI tests that may help. The only thing you need to do differently is load the attachment, name it, and make sure that the name of the attachment is reflected in the SAP:Payload attribute.  Also, I am using a Groovy script to create a GUID.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SAP="http://sap.com/xi/XI/Message/30">

<soapenv:Header>

  <SAP:Main versionMajor="003" versionMinor="000" SOAP:mustUnderstand="1" wsu:Id="wsuid-main-92FFF13F5C59777FE1ABE00000A1551F7" xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/"

            xmlns:wsu="http://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">

   <SAP:MessageClass>ApplicationMessage</SAP:MessageClass>

   <SAP:ProcessingMode>asynchronous</SAP:ProcessingMode>

   <SAP:MessageId>${Create GUID#result}</SAP:MessageId>

   <SAP:TimeSent>${=new java.text.SimpleDateFormat("yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'").format(new Date())}</SAP:TimeSent>

   <SAP:Sender>

    <SAP:Service>SVCNM</SAP:Service>

   </SAP:Sender>

   <SAP:Interface namespace="Interface_Namehttp://namespace.com">Interface_Name</SAP:Interface>

  </SAP:Main>

  <SAP:ReliableMessaging SOAP:mustUnderstand="1" xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">

   <SAP:QualityOfService>ExactlyOnce</SAP:QualityOfService>

  </SAP:ReliableMessaging>

  <SAP:System SOAP:mustUnderstand="1" xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">

   <SAP:Record namespace="http://www.sap.com/webas/712/soap/features/runtime/metering/" name="CallingType">SA</SAP:Record>

  </SAP:System>

  <SAP:Diagnostic SOAP:mustUnderstand="1" xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">

   <SAP:TraceLevel>Information</SAP:TraceLevel>

   <SAP:Logging>Off</SAP:Logging>

  </SAP:Diagnostic>

  <SAP:HopList SOAP:mustUnderstand="1" xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">

   <SAP:Hop timeStamp="${=new java.text.SimpleDateFormat("yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'").format(new Date())}" wasRead="false">

    <SAP:Engine type="BS">SVCNM</SAP:Engine>

    <SAP:Adapter namespace="XIhttp://sap.com/xi/XI/System">XI</SAP:Adapter>

    <SAP:MessageId>${Create GUID#result}</SAP:MessageId>

    <SAP:Info>3.0</SAP:Info>

   </SAP:Hop>

  </SAP:HopList>

</soapenv:Header>

<soapenv:Body>

  <SAP:Manifest wsu:Id="wsuid-main-92FFF13F5C59777FE1ABE00000A1551F7" xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:xlink="http://www.w3.org/1999/xlink"

                xmlns:wsu="http://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">

   <SAP:Payload xlink:href="cid:TestPayload.xml">

    <SAP:Name>MainDocument</SAP:Name>

    <SAP:Description/>

    <SAP:Type>Application</SAP:Type>

   </SAP:Payload>

  </SAP:Manifest>

</soapenv:Body>

</soapenv:Envelope>

Here is a picture of my SOAP UI project in case it help the understanding.

 

0 Kudos

Many thanks John,

Your reply has proved to be very helpful for me.

By the way, instead of a Groovy script, one can use directly the following standard java function to generate a random MessageID (GUID/UUID):

${=java.util.UUID.randomUUID()}

Regards,

Alejandro

rajasekhar_reddy14
Active Contributor
0 Kudos
Former Member
0 Kudos

Hi Raj

I already read this document, it is very useful document but the documet don't solove my quetion.

The document show me how to set the ABAP IF in AAE.

I want to know, how to call ABAP setting sender SOAP adapter by SOAP Client.

Naoki

former_member472138
Active Contributor
0 Kudos

I think its not possible. Lets see for other comments too.

Regards

Pothana

Former Member
0 Kudos

Please show me why impossible.

I understand this way of interface is only redirect in ABAP system to PI adapter engine.

It will be gotten the payload in sender adaptor.

It is true that to get the call from SOAP client, but can't get the payload.

so I think thant the form of paylod and message protocol , We can get the message from SOAP client.

Naoki

markangelo_dihiansan
Active Contributor
0 Kudos

Hello,

Have not really tried it.... But here are the differences between the XI-SOAP Format and SOAP over HTTP:

1.) The message header contains the ErrorHeader..... Performance Header

2.) The main payload is set as an attachment and in the SOAP Body there contains a reference to this attachment

You can see the XI-SOAP format by viewing any message in RWB message monitoring. I think that is the message format that the protocol would be expecting. Let us know if formatting your SOAP request like this works.

Hope this helps,

Mark

baskar_gopalakrishnan2
Active Contributor
0 Kudos

IMHO, this is not possible. Using SOAP + XI message protocol is not same as SOAP with HTTP message protocol. XI native protocol is an internal SAP implementation and that could be used for communicating via SOAP adapter to route the message in java stack for AAE. But message format will be different for both. SOAP UI client tool will intercept only SOAP with HTTP message protocol. Messages can only be triggered from sender ECC for this.

Former Member
0 Kudos

To:Mark

I think same to you, but I have enough time to test to correct message protocol.

If you find the message protocol, please let me know it!

Thanks a lot.

Naoki

Former Member
0 Kudos

To:Baskar Gopal

Thnak you for your advise.

Naoki