cancel
Showing results for 
Search instead for 
Did you mean: 

C# Proxy Classes from SAP WSDL files

Former Member
0 Kudos

We are trying to generate proxy classes for SAP eSOA web services using C# and Visual Studio 2005.

When we try to run Microsoft's proxy class generation utility, WSDL.exe, errors are generated that attribute incorrect syntax to the SAP WSDL file:

> Microsoft (R) Web Services Description Language Utility [Microsoft (R)

> .NET Framework, Version 2.0.50727.42] Copyright (C) Microsoft

> Corporation. All rights reserved.

> Warning: This web reference does not conform to WS-I Basic Profile v1.1.

> R2028, R2029: A DESCRIPTION using the WSDL namespace and the WSDL SOAP

> binding n amespace MUST be valid according to the XML Schemas found at

> http://schemas.xmls oap.org/wsdl/2003-02-11.xsd and http://schemas.xmlsoap.org/wsdl/soap/2003-02-11.

> xsd.

> - Warning: The element 'definitions' in namespace

> 'http://schemas.xmlsoap.org /wsdl/' has invalid child element 'properties' in namespace 'urn:com-sap:ifr:v2:

> wsdl'. List of possible elements expected: 'import, types, message,

> portType, bi nding, service' in namespace

> 'http://schemas.xmlsoap.org/wsdl/'. Line 1748, posi tion 4.

>

> SOAP 1.1 binding was not found: WS-I's Basic Profile 1.1 consists of

> implementat ion guidelines that recommend how a set of core Web

> services specifications shou ld be used together to develop

> interoperable Web services. For the 1.1 Profile, those specifications are SOAP 1.1, WSDL 1.1, UDDI 2.0, XML 1.0 and XML Schema.

>

> For more details on the WS-I Basic Profile v1.1, see the specification

> at http://www.ws-i.org/Profiles/BasicProfile-1.1.html.

The WSDL file is obtained from the SAP ES Workplace, from the following URL:

http://erp.esworkplace.sap.com/socoview(bD1lbiZjPTgwMCZkPW1pbg==)/render.asp?&id=4FFC1A97663611DA36B...

We have already tried both SAP files available from this location; neither works.

Any insight you can offer to help us generate these proxy classes is welcome. Note that the SAP PDF file, "ESOA-Roadmap-Workshop.PDF" talks about one syntactic incompatibility with Microsoft WSDL (on page 70), but this solution does not work, and indeed the token 'parameters' does not appear anywhere in either SAP WSDL file for Create Maintenance Request eSOA.

Thanks for any help you can offer!

-- Julian Mensch

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Mensch,

There are twos wsdl available.

1) WSDL(ESR)--> through which , you can only view the definitions and use it to implement Web Service using proxies. It doesn't contain any details for consuming this service

2) WSDL(back End)--> This is the actual WSDL which would be used for consuming this service. It contains the end point address and soap binding details.

The errors which you have posted seems to be for WSDL from ESR.

Because currently you can only consume Enterprise Services using Visual Studio 2005, you cannot implement in .Net.

Can you try the WSDL for backend ?

Regards,

Piyush

Former Member
0 Kudos

Hi, Piyush,

Thank you for your advice; I appreciate you taking the time

to look at my problem. However, I have already tried to generate

proxy classes from both WSDL files at the given location -- the

WSDL (ESR) and WSDL (Back End) both produce the same

errors shown above from WSDL.exe.

Answers (4)

Answers (4)

Former Member
0 Kudos

I have the same problem after renaming "parameters" to "parameter" and I'm using the same example ES that's in the document:

http://erp.esworkplace.sap.com/sap/bc/srt/xip/sap/ECC_EMPLOYEEBASICDBYEMPLOYEEQR/version3?sap-client...

wsdl.exe from .NET Framework 2.0.50727.42 gives me

Microsoft (R) Web Services Description Language Utility

[Microsoft (R) .NET Framework, Version 2.0.50727.42]

Copyright (C) Microsoft Corporation. All rights reserved.

Warning: This web reference does not conform to WS-I Basic Profile v1.1.

SOAP 1.1 binding was not found: WS-I's Basic Profile 1.1 consists of implementat

ion guidelines that recommend how a set of core Web services specifications shou

ld be used together to develop interoperable Web services. For the 1.1 Profile,

those specifications are SOAP 1.1, WSDL 1.1, UDDI 2.0, XML 1.0 and XML Schema.

For more details on the WS-I Basic Profile v1.1, see the specification

at http://www.ws-i.org/Profiles/BasicProfile-1.1.html.

Warning: no classes were generated.

Warnings were encountered. Review generated source comments for more details.

I'm sure it's something really stupid since this example worked at some point for whoever wrote the doc...

It's sad that there is basically no .NET support from the SAP side and apart from a few documents there is basically no developer documentation or samples...

Former Member
0 Kudos

Hi,

you are using the wrong WDSL.

The right one is (in V2 and not V3):

http://erp.esworkplace.sap.com/sap/bc/srt/xip/sap/ECC_EMPLOYEEBASICDBYEMPLOYEEQR/version2?sap-client...

therefore you should be able to generate the C# skeleton with it. This V2 includes the endpoint (soap:address location) and the binding style for the operations. Do not forget to rename the request/response part (parameters) found in the message specs (Query/Response) into "parameter".

Regards

Guillaume

matthias_fiebig
Explorer
0 Kudos

Hello,

i know your problems, but after try the following SAP tool the services works for me inside C#

SAP Enterprise Services Explorer for Microsoft .NET

https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/10cacdca-b0bb-2a10-77be-d600de46...

I hope this helps.

Matthias

Former Member
0 Kudos

just went through this nightmare. You just need to change the word parameters to parameter in the wsdl before generating the class. It should be in two places only.

Former Member
0 Kudos

Hi,

Thank you for the feedback. However, as I noted above, we

already tried the 'parameters' fix described in the PDF file,

and it doesn't solve the issue -- there is no "parameters" in

the WSDL file.

Former Member
0 Kudos

Hi,

I am also getting syntax error for these documents.

So, I would suggest you to validate any WSDL using tools like XML Spy first.

Regds

Pushkar