cancel
Showing results for 
Search instead for 
Did you mean: 

Not able to execute MII Transaction as web service

Former Member
0 Kudos

Hi All,

I have followed the steps of creating the wsdl file for my transaction using following path.

http://<my server name>:50000/XMII/WSDLGen/TE_DASHBOARD/common/trx1

Now, when I am trying to execute it using SOAPRunner, it is giving me this message.

http://<my server name>:50000/XMII//SOAPRunner/TE_DASHBOARD/common/trx1

  <?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>
- <Fault xmlns="soap">
  <faultcode>Client</faultcode> 
  <faultstring>Invalid SOAP request document</faultstring> 
  </Fault>
  </soap:Body>
  </soap:Envelope>

Can you please tell me the solution for this?

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

Hi  Shyamal Kumar, please have you developed a transaction to check user and password in the UME ? I looking for this transaction, could you please share with me ? Or just say me how did you do that ?

Did you created a custom action or there is a better way ?

I will appreciate any help.

Former Member
0 Kudos

hi,

I tried using the URL http://<my server name>:50000/XMII/WSDLGen/<folder(s)>/transaction?IllumLoginName=<user name>&IllumLoginPassword=<password> and succeded in navigating further.

Also I unselected the check box WSDLGenSecurityEnabled in the System Administration page and was able to navigate furthe in the WEB Service action block using http://<my server name>:50000/XMII/WSDLGen/<folder(s)>/transaction.

But I am not sure if this is the standard way of using WEB Service action block.

Regards,

Former Member
0 Kudos

HI RPB,

you are right! I was able to go further simply adding auth param in the URL.

--> ?IllumLoginName=<user name>&IllumLoginPassword=<password>

or

--> ?XacuteLoginName=<user name>&XacuteLoginPassword=<password>

Still I'm not able to really execute "TX as WS" starting from another "TX with WS action block", but I really think it's just the matter to assign some parameter value...

now, it's the matter to solve root issue of the thread, which was

how to call tx through SOAPRunner via browser?

I succeded putting in the browser somthing like this:

http://<my server name>:50000/XMII/Runner?Transaction=<folder(s)>/transaction&XacuteLoginName=<user name>&XacuteLoginPassword=<password>

I really don't know if it will fix root issue of the thread and if "Runner" and "SOAPRunner" can be considered the same thing

regards

agentry_src
Active Contributor
0 Kudos

Have you tried your webservice call using the HTTP Post action block? It is a bit less restrictive.

Regards,

Mike

Former Member
0 Kudos

...you're saying to try using

http://<my server name>:50000/XMII//SOAPRunner/<folder(s)>/transaction&XacuteLoginName=<user name>&XacuteLoginPassword=<password>

or

http://<my server name>:50000/XMII//SOAPRunner/<folder(s)>/transaction

inside the URL field of an HTTP Post action block ?

I tried unsuccessfully (with a tracer too), getting in the debug screen:

[WARN] Data buffer filter for this action does not exist or the interface is incorrect.

[INFO] <?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>

<Fault xmlns="soap">

<faultcode>Client</faultcode>

<faultstring>Invalid SOAP request document</faultstring>

</Fault>

</soap:Body>

</soap:Envelope>

...practically the same than calling SOAPRunner directly from the browser

<?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>

- <Fault xmlns="soap">

<faultcode>Client</faultcode>

<faultstring>Invalid SOAP request document</faultstring>

</Fault>

</soap:Body>

</soap:Envelope>

like others (with 12.1).

And I was interested on understanding if calling the Runner (not the SOAPRunner) could be considered "using a tx like a Web Service" too

(and I think it's not).

regards

Former Member
0 Kudos

Dear Shyamal,

Were you able to solve this problem?

If yes, can you please share it here?

Regards,

Former Member
0 Kudos

What version of MII are you using?

Former Member
0 Kudos

we are using 12.1

Former Member
0 Kudos

Does your WSDLGen call work? Mine did, but the SOAPRunner call didn't. Looks like its a bug in 12.1, since 12.0 came back with XML. Put in a ticket if you haven't already and include the NW logs for good measure.

Regards,

Kevin

Former Member
0 Kudos

Hi,

I am still not able to find the solution. Any other views from anyone? Appreciate your responses.

I think, WSDLGen has not worked because I do not find any wsdl created (i even physically searched on server ). Here is response from WSDLGen:

  <?xml version="1.0" encoding="UTF-8" ?> 
- <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://www.sap.com/xMII" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://www.sap.com/xMII">
- <!--  Types 
  --> 
- <types>
- <s:schema elementFormDefault="qualified" targetNamespace="http://www.sap.com/xMII">
- <s:complexType name="InputParams">
  <s:sequence id="InputSequence" /> 
  </s:complexType>
- <s:element name="XacuteRequest">
- <s:complexType>
- <s:sequence>
  <s:element maxOccurs="1" minOccurs="0" name="LoginName" type="s:string" /> 
  <s:element maxOccurs="1" minOccurs="0" name="LoginPassword" type="s:string" /> 
  <s:element maxOccurs="1" minOccurs="0" name="InputParams" type="s0:InputParams" /> 
  </s:sequence>
  </s:complexType>
  </s:element>
- <s:complexType name="Rowset">
- <s:sequence>
  <s:element maxOccurs="unbounded" minOccurs="0" name="Row" type="s0:Row" /> 
  </s:sequence>
  <s:attribute name="Message" type="s:string" /> 
  </s:complexType>
- <s:complexType name="Row">
- <s:sequence id="RowSequence">
  <s:any maxOccurs="132" minOccurs="1" type="s:string" /> 
  </s:sequence>
  </s:complexType>
- <s:element name="XacuteResponse">
- <s:complexType>
- <s:sequence>
  <s:element maxOccurs="1" minOccurs="0" name="Rowset" type="s0:Rowset" /> 
  </s:sequence>
  </s:complexType>
  </s:element>
  </s:schema>
  </types>
- <!--  Messages 
  --> 
- <message name="XacuteSoapIn">
  <part element="s0:XacuteRequest" name="parameters" /> 
  </message>
- <message name="XacuteSoapOut">
  <part element="s0:XacuteResponse" name="parameters" /> 
  </message>
- <!--  Ports 
  --> 
- <portType name="XacuteWSSoap">
- <operation name="Xacute">
  <input message="s0:XacuteSoapIn" /> 
  <output message="s0:XacuteSoapOut" /> 
  </operation>
  </portType>
- <!--  Bindings 
  --> 
- <binding name="XacuteWSSoap" type="s0:XacuteWSSoap">
  <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" /> 
- <operation name="Xacute">
  <soap:operation soapAction="http://www.sap.com/xMII" style="document" /> 
- <input>
  <soap:body use="literal" /> 
  </input>
- <output>
  <soap:body use="literal" /> 
  </output>
  </operation>
  </binding>
- <!--  Service mapping 
  --> 
- <service name="XacuteWS">
- <port binding="s0:XacuteWSSoap" name="XacuteWSSoap">
  <soap:address location="http://<server>:50000/XMII/SOAPRunner/april/loop" /> 
  </port>
  </service>
  </definitions>

Edited by: Shyamal Kumar on Oct 5, 2010 10:06 AM

Former Member
0 Kudos

Shyamal,

the WSDLGen response looks ok. Have you tried to use the WSDLGen as a web call to your BLT inside MII?

For example, you can use the Web Service action with your WSDLGen URL.

The configuration in the Web Service Wizard will lead you through the configuration process.

Where do you want to use the URL?

Michael

Former Member
0 Kudos

It seems I'm facing the same issue over...with 12.1

in addition, I tried as suggested, using webservice action but when I try to configure the action after inserting my WSDLGen URL i'm getting this error:

SOAP Service Could not be loaded: XML Proxy Error: The Markup in the document following the root element must be well-formed

I'm wandering if using WSDLGen, the wsdl is built live, and if it is somehow impacting the usage of action...something like how to get the wsdl if it is still not created???

regards

Edited by: ottantaphoenix on Oct 20, 2010 4:18 PM