cancel
Showing results for 
Search instead for 
Did you mean: 

Web Service Question

Former Member
0 Kudos

Hello, I'm very new to WAS and the NetWeaver development studio so I've been going through some of the eLearning classes. In regards to creating web services I've seen how to create a web service from session beans and client proxy classes from a WSDL. What I need to be able to do is create a web service in NetWeaver from a WSDL (not client but server). Does anyone know if this is possible in NetWeaver (and if so where I might go to read about it)?

I've used Apache Axis before, and what it lets you do is "compile" a WSDL and Java bean classes are generated for handling the web service request. Just trying to see if anything comparable to that is available.

Thanks for the help,

Corey

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

Hi Corey,

If you mean to use the web service defined in the WSDL, you can take in the WSDL and generated proxies for that. Remember these are proxies meaning that there will be no business logics inside. All the business process will go to the endpoint which is defined inside the WSDL. That's what a Web Service client does and the Dev Studio provides toolset to do so.

However, if you mean to take in a WSDL file and regenerate the actual endpoint implementation for you, I'm afraid that is not possible and I think this is not the original purpose of distributing WSDL file.

Regards,

Marc

Former Member
0 Kudos

Marc,

I'm not sure I completely understand your last statement.

"However, if you mean to take in a WSDL file and regenerate the actual endpoint implementation for you, I'm afraid that is not possible and I think this is not the original purpose of distributing WSDL file."

I'm not looking for the implementation of the web service to be generated from a WSDL (i.e. magic), just Java shell beans or stubs that I can then go in and add the business logic and will be called when a web service request (of that type) is received. I think this approach (starting with the WSDL) is quite natural and even preferred when you have an entire organization trying to implement a SOA (as opposed to developers implementing a point-to-point web service for a single vendor). Am I the only one out there (other than Barbara) that sees this as a problem?

Thanks for all the input,

Corey

Former Member
0 Kudos

Hi Corey,

I understand your problem and would prefer the same approach to SOA, that is the starting point are a number of WSDLs describing all the needed services. The you can go ahead and start implementing clients and service providers which should be supported by WSDL based Code-Generators. So the SOA process would look like:

1. Design your webservices in WSDL

2a. Generate stub on basis of defined WSDL and implement service consumer using that stub

2b. Generate skeleton on basis of defined WSDL and implement service provider using that skeleton

Unfortunately it seems that NW only supports the consumer (client) side that way, for service providers you start with your (non webservice related) business implementation and generate WSDLs afterwards. So in NW the SOA process looks like this:

1. Design and implement service providers

2. Generate Webservice for implementation along with WSDL

3. Give WSDL to service consumers and let them generate and use a proxy (stub)

The obvious disadvantage in the latter process is whenever one changes the implementation or technology of a service provider it may affect the resulting WSDL, which forces all service consumers to modify as well. Also your SOA design artifacts (i.e. service interfaces) are technology dependent (e.g. Java-IF or ABAP), whereas SOA is all about technology independence.

Regards,

Markus

Former Member
0 Kudos

Hi,

I work for a Systems Integration company, and we are working with a customer who has SAP 4.7 installed and then need to integrate a BPM product which is web services enabled. I need to know if SAP 4.7 is web service capability? If so, where do I get information/tutorial on this?

thanks

eddy_declercq
Active Contributor
0 Kudos

Since 4.7 has a web application server (6.3) in it, I don't see why one can't do web services. More info doing this weblog

/people/durairaj.athavanraja/blog/2004/09/20/consuming-web-service-from-abap by Durairaj Athavan Raja.

For the original poster of this thread. Don't forget to reward the answers.

thomas_jung
Developer Advocate
Developer Advocate
0 Kudos

There is some functionality in WebAS 620, but it doesn't get really fully featured until WebAS 640 (ERP 5.0). Here are some additional weblogs you might find useful.

/people/thomas.jung3/blog/2004/11/15/bsp-150-a-developer146s-journal-part-xiii-developing-abap-webservices

/people/thomas.jung3/blog/2004/11/17/bsp-a-developers-journal-part-xiv--consuming-webservices-with-abap

/people/sergio.ferrari2/blog/2004/11/22/supply-energy-to-abap-web-services-in-sap-web-as-620

Former Member
0 Kudos

Hi,

I'm afraid, I have no answer to your question, only an opinion.

I agree with Coreys point of view. In my opinion, it makes definitely sense to start with the WSDL. If you think of the WSDL as the interface definition of a service, that can be implemented by different service providers, this procedure is quite natural. For instance, during developing a service oriented architecture, a board might exist which negotiates a set of web services to be provided. This can be done without any existing implementation and the outcome of this negotiation could be a set of WSDLs. Unfortunately, I have not found any obviously possibility to generate stubs from WSDL using the NetWeaver Developer Studio.

Regards,

Barbara

Former Member
0 Kudos

Hi Corey,

so you want to offer a web service based on a WSDL file that a 3rd party created?

As far as I understand the idea of a web service you offer the stuff a client needs to make use of the web service. The provider has an implementation but the WSDL does not contain information about this - this is basically the "trick" about Web Services...

Hope I got you right...

Daniel

Former Member
0 Kudos

Hi Daniel,

Sorry this question is confusing. I work in an environment where the exact web service interface I must implement will be mandated to me (via WSDL). In the past (using Apache Axis) I've taken this WSDL and "compiled" it generating Java classes that would be notified when an incoming request is received (thus preserving the exact web service interface, WSDL).

I've seen how to create a web service from session beans and have the WSDL auto-generated in NW. My issue is I cannot have the WSDL auto-generated from Java classes since it must be exactly the same as originally mandated. I need to start with the original WSDL and go from there.

I hope this makes sense, I fear I'm doing a very poor job explaining my problem.

Thanks for all the help.

Corey

eddy_declercq
Active Contributor
0 Kudos

Hi,

We've been experimenting with webservices long before it's made easy in NW04.

I don't know if you're refering to NW04 or before that.

Anyway, ifit's the latter it's also simple:

every FM you make on WAS is as such also already available as webservice. Try the BSP app:

server/sap/bc/bsp/sap/webservicebrowser/search.html

You'll see that indeed every FM is an available WS. You can also see the wsdl and documentation by clicking on the links. And then you can use any SOAP client (in NW04 you can have also a client) or eg xmlspy to access them.

Additionial info can be found on service.sap.com.

Eddy

Former Member
0 Kudos

Thanks for the response Eddy, I don't think I did a good job of making my question clear. In all the examples I seen so far for creating web services you start with java code (i.e. Session Bean) and create the web service (using NW04 wizards). This process generates the associated WSDL. What I need to be able to do is create a web service by starting with the WSDL (already defined/generated by outside source, eg xmlspy) and have Java code generated that will be called when incoming web service request is received.

Does anyone know if this possible?