Skip to Content
author's profile photo Former Member
Former Member

Problem in generating wsdl ?

I built a simple transaction with one output transaction property as type xml and linked the transaction result to this variable . And I generated WSDL by using the syntax :

http://<server>:50000/XMII/WSDLGen/<TrxPath>

When I execute on browser it is giving the result but seems missing some thing like " output xml node name ie column names in query is not appearing in wsdl result".

wsdl result:

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

- <s:element name="XacuteRequest"> // here I am expecting the output xml node names ie collumn names in my sql query

- <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/Default/dev/fetchLocDetailsTRX" />

</port>

</service>

</definitions>

I am not exepecting any values of columns but atleast columns should be displayed. Am I right or not please suggest on this.

After executing the wsdl on sap client I could not see any data there. So please suggest me where is the problem.

Regards,

Laxman.

Add a comment
10|10000 characters needed characters exceeded

Related questions

2 Answers

  • author's profile photo Former Member
    Former Member
    Posted on Nov 28, 2013 at 06:00 AM

    Hi Laxman,

    Have you assigned a reference document to your output parameter in the transaction you are trying to expose in the web service?

    Thanks & Regards,

    Anuj

    Add a comment
    10|10000 characters needed characters exceeded

  • Posted on Nov 28, 2013 at 08:13 AM

    Hi Laxman,

    This URL "http://<server>:50000/XMII/WSDLGen/<TrxPath>" will give you WSDL defination of the transaction.

    This Definition will contain only the input param information and not the output param.

    The WSDL defines the output as:

    Thus it only tells that the output would contain a Rowset.

    Inside this Rowset each output param of the transaction would be added as an element.

    You can run this transaction as a webservice using Webservice Action block and see the output.

    Also all the output param would be returned as string.

    Thus the XML will come as string and would be encoded so that it confirms to the rules of XML.

    e.g. output:

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

    <XacuteResponse xmlns="http://www.sap.com/xMII">

    <Rowset>

    <Row> <outputXML>&amp;lt;note&amp;gt;&amp;lt;to&amp;gt;Tove&amp;lt;/to&amp;gt;&amp;lt;from&amp;gt;Jani&amp;lt;/from&amp;gt;&amp;lt;heading&amp;gt;Reminder&amp;lt;/heading&amp;gt;&amp;lt;body&amp;gt;Don&amp;apos;t forget me this weekend!&amp;lt;/body&amp;gt;&amp;lt;/note&amp;gt;</outputXML>

    </Row>

    </Rowset>

    </XacuteResponse>

    Here output param name was outputXML.

    Regards,

    Rohit Negi.


    test1.JPG (21.8 kB)
    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.