cancel
Showing results for 
Search instead for 
Did you mean: 

Problem in generating wsdl ?

Former Member
0 Kudos

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

</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.

Accepted Solutions (0)

Answers (2)

Answers (2)

former_member211944
Active Participant
0 Kudos

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.

Former Member
0 Kudos

Hi Rohit,

Thanks for quick reply.

As you said I called the webservice in wevservice action block in transaction  and linked the

xacute responce to tracer then I could see the result(data) in xml format.

So I thought my webservice is functioning properly.

So can I give this webservice to BI consultant as to do mii and bi integration. Or do I need to do any configuration in MII server please suggest.

Regards,

Laxman.

former_member211944
Active Participant
0 Kudos

Hi Laxman,

For using a transaction as a web-service, no extra configuration is required.

And this web-service can be executed from any soap client(BI in your case)

Regards,

Rohit Negi.

Former Member
0 Kudos

Hi Rohit,

I tested the same  webservice in online soap client (http://wsdlbrowser.com/) but it is giving error like

"SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://172.20.36.94:50000/XMII/WSDLGen/Default/Petronet/fetchLocDetailsTRX?wsdl' : failed to load external entity "http://172.20.36.94:50000/XMII/WSDLGen/Default/Petronet/fetchLocDetailsTRX?wsdl"

So I am in confusion that my webservice is working fine or not.

because it is giving results properly  with mii webservice action block but not with online soap client.

Please tell me how can I make sure that it is working fine before handover to BI.

Regards,

Laxman.

former_member211944
Active Participant
0 Kudos

Hi Laxman,

Include these 2 params in the URL: IllumLoginName and IllumLoginPassword

Regards,

Rohit Negi.

Former Member
0 Kudos

Hi Rohit,

I run my wsdl as you said with syntax:

http://server:50000/XMII/WSDLGen/Default/test/fetchLocDetailsTRX?IllumLoginName ='xxxx'&Password='yyyy'?WSDL

I copied above url and entered in in online soap wsdl test tool 'http://www.soapclient.com/soaptest.html'

But still it is giving error.Am I  doing any mistake.

When I test on my browser it is working fine.

Regards,

Laxman.

former_member211944
Active Participant
0 Kudos

try IllumLoginPassword in the URL.

Regards,

Rohit Negi.

Former Member
former_member204240
Active Participant
0 Kudos

Hi Laxman,

You getting error?

WSDLGenSecurityEnabled(system management->sys administration) can you uncheck this and try.

Try removing quotes for login name and password and check.

Also at end it should be &wsdl I guess.

Check this thread.

Regards,

Padma Rao

HariCS23
Contributor
0 Kudos

Remove ?WSDL at the end of the url and try .

Former Member
0 Kudos

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