cancel
Showing results for 
Search instead for 
Did you mean: 

SOAP Call Executes TRX Twice

Former Member
0 Kudos

Hi Experts,

I have an SAP MII transaction that I seek to execute from .NET.  When executing it from the .NET application via SOAP, it either:  a) executes once if the transaction fails, or b) executes twice if the transaction succeeds.  What is going on?  How do I solve this?  Security seems to be the issue...

To replicate... 

I have a simple transaction with 2 input parameters and 1 output parameter.  The transaction simply adds the 2 numbers together and returns the result.  I can test using SOAP UI to remove any .NET anomalies.  I am using SAP MII 14.0 SP5 and latest version of SOAP UI.

Scenario 1:  Using the WSDL, I create the request:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xmii="http://www.sap.com/xMII">

   <soapenv:Header/>

   <soapenv:Body>

      <xmii:XacuteRequest>

         <!--Optional:-->

         <xmii:LoginName>MY SAP MII USER NAME</xmii:LoginName>

         <!--Optional:-->

         <xmii:LoginPassword>MY SAP MII USER NAME</xmii:LoginPassword>

         <!--Optional:-->

         <xmii:InputParams>

            <!--Optional:-->

            <xmii:a>3</xmii:a>

            <!--Optional:-->

            <xmii:b>2</xmii:b>

         </xmii:InputParams>

      </xmii:XacuteRequest>

   </soapenv:Body>

</soapenv:Envelope>

I execute it and get a response that includes an error and the dataset (below). Why do I get data AND an error?

HTTP/1.1 401 Unauthorized

server: SAP NetWeaver Application Server 7.20 / AS Java 7.31

...

<?xml version="1.0" encoding="UTF-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

    <soap:Body>

    <XacuteResponse xmlns="http://www.sap.com/xMII"><Rowset><Row><c>5</c></Row></Rowset></XacuteResponse></soap:Body>

</soap:Envelope>

Scenario 2:  If I add username, password, domain to the Request Properties then I get no error (HTTP/1.1 200 OK) and the dataset, but the transaction executed twice in SAP MII.

Is there a way to execute the web service as a "guest" (i.e. Scenario 1 without the 401 error)?  Or am I missing something completely here?

Thanks in advance,

Dave

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi David,

How did you reach the conclusion that the transaction has run twice?

Regards,

Anushree

shaji_chandran
Participant
0 Kudos

Are you able to see 2 different transaction ID's in MII transaction manager?

Thanks

Shaji