cancel
Showing results for 
Search instead for 
Did you mean: 

Problem while importing WSDL file.

Former Member
0 Kudos

Hi,

we are using Web services for integrating the EP-Portal with our SAP system. For that, we are creating the web services for our RFC / BAPIs in SAP and download the WSDL files and we are importing the same WSDL files for creating the Model in EP-portal-Java Webdynpro.

This process was working fine till January. Bur recently we upgraded our system to SAP-TRM(Tax and Revenue Management), and we are unable to download the WSDL files from WSADMIN as WSADMIN and WSCONFIG Tcodes has become obsolete so we used the SOAMANAGER Tcode for that. But after downloading the WSDLS from SOAMANAGER, we tried to import that WSDL from the EP to create the model but getting error there saying u2018Invalid WSDL fileu2019 .

Regards

DK

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hello DK:

Sometimes I receive the "Invalid WSDL" message if the WSDL does not completely follow the "Document/Literal Wrapped" style. See the following [IBM Developerworks article|http://www.ibm.com/developerworks/webservices/library/ws-whichwsdl/] for a discussion.

The example WSDL snippets use the following namespaces:

<wsdl:definitions ... 
xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.webserviceX.NET/"  targetNamespace="http://www.webserviceX.NET/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">

1) All schema types should be wrapped inside of a named "element" tag as follows:

Do this...

<s:element name="GetQuote">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="symbol" type="s:string"/>
          </s:sequence>
        </s:complexType>
      </s:element>

Instead of this...

<s:complexType name="GetQuote">
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="symbol" type="s:string"/>
          </s:sequence>
      </s:complexType>

2) You need to make sure that all <message> elements with nested <part> elements use the element attribute instead of the type attribute as follows:

Do this ...

<wsdl:message name="GetQuoteHttpPostIn">
    <wsdl:part name="symbol" element="tns:string"/>
  </wsdl:message>

Instead of this ...

<wsdl:message name="GetQuoteHttpPostIn">
    <wsdl:part name="symbol" type="s:string"/>
  </wsdl:message>

As the last poster recommended, if your WSDL comes from a remote server, you will need to save the WSDL from your internet browser as an XML file to your local hard drive -- then you will be able to edit it as described above and then import it as a service into NWDS from the local file system.

I hope this helps you to overcome your problem. Good luck!

abhimanyu_lagishetti7
Active Contributor
0 Kudos

Hi

are you able to see the wsdl in the browser window?

If you are able to view, save it on the local machine and try to create the model from the Local File System

Abhi