cancel
Showing results for 
Search instead for 
Did you mean: 

Best practice for C# WCF Webservice To Be Consumed By Many SAP Clients

Former Member
0 Kudos

Hi Experts,

I am making a web service for an online payment site that will push payments made to our customers SAP systems. I am reading through the documentation how how to get sap to take in the wsdl and that all looks pretty straight forward. While I am waiting for the SAP trial to install can anyone give me some pointers to get me started in the right direction for a web service that can be consumed by possibly different versions and definitely different instances of SAP at different companies.

I am looking to do something similar to what can be down with the Quick books web connector although I realize SAP is a much more complex piece to work with.

I am a very experienced .net programmer and really just need some high level directions from anyone who has seen something similar to what I am building.

Thanks!

Jonathan

Edited by: JonRanes on Nov 11, 2009 3:08 AM

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Make sure your WSDL consists of one file and does not have includes to separate XSD's. In that case NWDS will not be able to generate a webservice proxy.

Regards,

Marcel

Former Member
0 Kudos

Thanks, good to know that. I am slowly piecing together how this will be done. I found a copy of SAP.NET.Connector.dll on codeproject, it is from 2004 but I am thinking the service interface should be the same.

I also found this post that recommends using SAP PI as a type of BizTalk consumer, that sounds like for a generic purpose would be the best way to go.

Former Member
0 Kudos

The .net connector is for consuming SAP BAPI's and function modules in .net.

SAP PI relates to SAP as Biztalk to MS. Depending on your situation (size of the project / number of webservices / future situation / biztalk or SAP PI already in place) you can use neither, one or both.

Are you consuming your .net webservice from SAP WAS Java or SAP R/3 (ABAP)?

Marcel

Former Member
0 Kudos

Ya as I was typing my message I realized I probably wasn't going to need the .net connector since I want a very generic service that basically just hands off the payment details to SAP.

As for what is going to consume the webservice ideally it would be independent of the type of SAP being used since potentially serveral different SAP installations would be able to access the service.

For the first version I am making the service be consumed by SAP Netweaver 7 Trial version. My company has a few clients using SAP lined up already to use the service once it is working but I don't know yet what version of SAP they each run.

If that is not possible I will either have to make a separate webservice for each type of SAP or else go another route and perhaps send the data as xml to SAP and let it import it on its own.

Right now I am playing around with the SOA manager, is that where the SAP PI is or am I on the wrong track.

I'll keep posting to this thread as I go along so someone in the future doing something similar can benefit.

I am trying to get the example at /people/wolfgang.bauer2/blog/2009/07/08/call-wcf-service-net-from-sap-with-usernametoken-and-ssl "Call WCF Service (.NET) from SAP with UsernameToken and SSL" going as a first step to understanding things.

Edited by: JonRanes on Nov 11, 2009 10:15 PM

Former Member
0 Kudos

You are on the right track. Personnaly I haven't used SOAmanager yet, because it wasn't there in previous versions. I haven't worked with this version. Make sure you know what versions your clients are using and what is supported in those versions.

Marcel