cancel
Showing results for 
Search instead for 
Did you mean: 

MII Transaction works but SOAPRunner in SOAPUI has a different response

Former Member
0 Kudos


Hi all,

We´ve got an MII transaction which returns an xml response, designed to be called by a web service.  We return a status and a status message in this response.  The transaction calls a PAPI in SAP ME to update the status of an SFC.  When we call this transaction using the SOAP runner service from SOAPUI (or as a web service within MII using the action block), we get the same error message and the transaction doesn´t execute successfully.

The error message we get is:

"More than one database objects found for the reference TABLE=OPERATION,revision=A"

If we execute the transaction within the MII workbench, it works as we´d expect it to and we get valid error / success messages.

The Transaction URL is:

http://MIIServer/XMII/SOAPRunner/TransactionPathAndName

within SOAPUI, we´re populating the request message parameters and the username / password combination.   This method has worked with other MII web services in the past but I´d like to understand if there´s some way to troubleshoot the SOAPRunner service within MII.

Thanks in advance,

Dan

Accepted Solutions (1)

Accepted Solutions (1)

former_member196557
Active Contributor
0 Kudos

Hi Dan,

Is it possible that you are passing some different arguments to the transaction from the Web Service vs what is defaulted in the transaction properties?

You can troubleshoot this by logging the PAPI request xml to either a local file or to the Netweaver log using the Event Logger action from within the transaction. Then you can examine the actual request sent to the PAPI via workbench as well as from the SoapRunner web service call, to see what is different.  The PAPI call.

Regards, Steve

Former Member
0 Kudos

Hi Steve, Unfortunately that doesn't seem to be the problem. The requests look very close:

The request when testing in the workbench:

<?xml version="1.0" encoding="UTF-8"?><get:StartStandardOperationRequest xmlns:get="saciq57.danfoss.net:50100/XMII/CM/DDS/Common/StartStandardOperation/">
  <get:MessageID>string</get:MessageID>
  <get:Timestamp>2015-05-05T03:49:45</get:Timestamp>
  <get:InterfaceID>string</get:InterfaceID>
  <get:Request>
    <get:UnitId>Z_130B0931040501G375</get:UnitId>
    <get:Operation>0450_38H75</get:Operation>
    <get:Version>A</get:Version>
    <get:UserId>U242509</get:UserId>
   </get:Request>
</get:StartStandardOperationRequest>

The request when using SOAPUI calling SOAPRunner service:


<?xml version="1.0" encoding="UTF-8"?><star:StartStandardOperationRequest xmlns:star="saciq57.danfoss.net:50100/XMII/CM/DDS/Common/StartStandardOperation/">
                  <star:MessageID>string</star:MessageID>
                  <star:Timestamp>2015-05-05T03:49:45</star:Timestamp>
                  <star:InterfaceID>string</star:InterfaceID>
                  <star:Request>
                     <star:UnitId>Z_130B0931040501G375</star:UnitId>
                     <star:Operation>0450_38H75</star:Operation>
                     <star:Version>A</star:Version>
                     <star:UserId>U242509</star:UserId>
                  </star:Request>
               </star:StartStandardOperationRequest>

former_member196557
Active Contributor
0 Kudos

Hi Dan,

Which ME PAPI are you calling? The request does not look familiar, and there is no SITE element specified...

Regards, Steve

Former Member
0 Kudos

Hi Steve,

Well this is a web service that I'm exposing out of MII in a certain format that matches some internal conventions at our company. This is then called from an external system that wishes to do a SfcStartServiceInterface -> start in ME. We use MII to facilitate this with a PAPI service call.

The request above is the call that this external system would make.

The key thing is that when executing the transaction in the workbench everything seems ok, but when calling from outside as a web service, it will not execute properly and always gives us the error mentioned above.

The site element and other required things are set in the MII transaction itself.

Thanks,

Dan

former_member196557
Active Contributor
0 Kudos

Hi Dan,

The error message you indicated in your original post looks like it is an error response from the PAPI; so I assume this is what is returned in the PAPI action block Message property if the error is caught in MII. So we need to see what is actually sent to the PAPI from within the transaction. Can you log the PAPI Action Block Request XML for each of the different calls to see if there are some differences in the PAPI action block request?

Regards, Steve

Former Member
0 Kudos

Hi Steve,

There was actually a difference.

Since the namespace that the web service was being called with did not match the one defined in the XSD for defining the service structure, we needed to make links independent of the namespace.

It seems that WSDLGen generates its own namespace for the client consuming the WSDL, so this means that if a different one is defines in the XSD, you will be in trouble.

For those cases we need to define the links like this:

Transaction.RePrioritizeUnitRequest{/*[local-name()='RePrioritizeUnitRequest']//*[local-name()='Request']//*[local-name()='Priority']}

Thanks,

Dan

former_member196557
Active Contributor
0 Kudos

Hi Dan,

Ok, that makes sense. This is what I had to do in the past as well for resolving xml node elements with namespace issues.

Glad you got it resolved.

Regards, Steve

Answers (0)