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