cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Changing MII WSDL Structure

Former Member
0 Likes
866

Hi Experts,

When we expose MII transaction as web service using WSDLGen,it gives predefined format of WSDL.

Now my requirement is, in that predefined WSDL format i want to add some custom methods or i want to change the format of that WSDL.

Is it possible in MII to change WSDL format?

If yes,please guide me how we can achieve it?

Thanks in advance for your help.

Regards,

Neha

Accepted Solutions (0)

Answers (1)

Answers (1)

saumya_govil
Active Contributor
0 Likes

Hi Neha,

Could you please explain a little more what for example would you like to change in the WSDL?

Can changing it in the transaction itself help?

Or maybe, you create another transaction to achieve the functionality and expose it as a web service?

Regards,

Saumya Govil

Former Member
0 Likes

Hi Saumya

Thank you for quick reply.

when we expose MII trx as web service,WSDL format is like below:

<?xml version="1.0" encoding="utf-8" standalone="no" ?>

- <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:element maxOccurs="1" minOccurs="0" name="WebServiceInput" type="s:string" />

  </s:sequence>

  </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:element maxOccurs="1" minOccurs="1" name="OutPut" 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://selumiipoc:50000/XMII/SOAPRunner/MIIPOC/Common/TRX/SetCurrentStateTrx" />

  </port>

  </service>

  </definitions>

WebServiceInput is my input in trx and as standard format we get <operation name="Xacute">.

Similar like this if i want to add some custom metods in WSDl format generated so that m able to see that in WSDl generated then i will help me.

Regards,

Neha

saumya_govil
Active Contributor
0 Likes

Hi Neha,

Thanks for the WSDL details. I understand that your web service accepts one input parameter called WebServiceInput. Now what I an keen to know is that what kind of methods do you want to implement?

If I understand correctly, you want different options while invoking a web service. So, maybe you can provide another input parameter which is like a select option. So, when say the value of the parameter is '1', you can call a particular logic in your transaction and when '2', you call another set of logic. In this way, you can use your single transaction in a flexible ways.

If I am not able to understand you correctly, can you please provide more details so that I could propose a better solution?

Hope it helps!

Regards,

Saumya Govil

Former Member
0 Likes

Hi Saumya,

I m not looking for different options while invoking a web service

I want a way how i change WSDL default defination provided by MII like default method in WSDL defination <operation name="Xacute">.

Can i change this method or i can add new with some parameters?

Regards,

Neha

Former Member
0 Likes

Hi Neha,

You cannot change the WSDL structure of the transaction exposed as webservice through WSDLGen service. This service exposes the transaction as a web-service and this WSDL lists out the input and output params and their structure.

Regards,

Rohit Negi.

Former Member
0 Likes


Hi Rohit,

Thank you Rohit for your reply.

I need to check for some different option.

Regards,

Neha

Former Member
0 Likes

Hi Neha,

Why do you want to change the WSDL?

What is the scenario which you want to accomplish if you can explain may be I can help.

Regards,

Rohit Negi.

saumya_govil
Active Contributor
0 Likes

Hi Neha,

I doubt if you could change the automatically generated structure of the web service WSDL.

But I still don't understand why you need to change the method name from xAcute to something else?

Regarding adding new parameters, I think you can easily add them to the transaction behind this WSDL and generate the WSDL again. This would add the parameters automatically in the WSDL.

Hope this answers some of the queries. Else, if you could explain in detail why you need this special requirement, we could help better.

Regards,

Saumya Govil

Former Member
0 Likes

Hi Saumya,

Yes we can not change structure of the web service WSDL.

Requirement is like:

Client have one web service developed on their side.They want us to use same as some predefined methods are useful to do configuration on their side.

So they are expecting MII web service format should be in their WSDl format.

Suggest if any alternative present.

Regards,

Neha

saumya_govil
Active Contributor
0 Likes

Hi Neha,

Thanks for the details about your requirement.

In theory I don't understand what configurations would they need as this is automatically handled in MII. So, using this WSDL should not be a problem.

My suggestion would be that you ask these specifics from the person in-charge at the client side.

Regards,

Saumya Govil

Former Member
0 Likes

Hi Saumya,

Yes talked with client.

They are looking for method 'X' in MII WSDL defination so that they can use it and give some input.

If they use MII WSDL format they have to do develoment on their side which they dont want.

Lets see what happen.

Thanks you for your help.

Regards,

Neha

0 Likes

Hi Neha,

Were you able to find an alternative solution for this issue,

I too am looking for a solution for this.

Regards,

Suneel J.

Former Member
0 Likes

Hi Suneel,

There is no alternate solution for MII wsdl format as its standard WSDL defination.

I have asked client to do developemnt from there side so that they can call MII transaction as web service.

Regards,

Neha

0 Likes

Thanks for the clarification Neha.

Will update you on how we do this.

Regards,

Suneel J.