Skip to Content
avatar image
Former Member

SOAP Call Executes TRX Twice

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

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

2 Answers

  • avatar image
    Former Member
    Oct 09, 2014 at 04:43 AM

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

    Thanks

    Shaji

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Oct 09, 2014 at 09:34 AM

    Hi David,

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

    Regards,

    Anushree

    Add comment
    10|10000 characters needed characters exceeded