cancel
Showing results for 
Search instead for 
Did you mean: 

Steps to publish ABAP WS externally

chintan_virani
Active Contributor
0 Kudos

Requirement:- Need to provide everyone an Adobe form in offline manner in order to apply for Job positions and when they click on Submit data inside the form, all the data should go to ECC.

Solution: To implement this requirement we have developed Adobe form and created a custom BAPI which will update the ECC. Using inside-out approach we have exposed the BAPI as custom WS and done the technical settings in SOAMANAGER transaction. Right now its working fine, as we are checking from within the network.

Problem : Now since everyone should be able to access this WS, it's necessary to publish it to a UDDI I believe. Since we are on ECC 6.0 (w/o any EHP) we do not have any Service Registry where we can publish it. We do not have PI as well. The SAP UDDI uddi.sap.com does not open.

Can someone please guide as to what will be next steps in order to publish this WS externally so that its available for everyone.

Chintan

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Chintan,

It is not mandatory to publish your web service in the UDDI (service registry).

It's a best practice but not compulsory. The SOAMANAGER configuration (endpoint) is enough.

If you have a java stack you can test your WS with the web service navigator.

If not, try soap UI, very easy to use and find.

Another way is to write sme lines of Abap code to test your WS.

Regards, Gilles.

chintan_virani
Active Contributor
0 Kudos

Thanks for responses guys. I probably did not make myself clear. What I meant to say by exposing it externally means was that it is available on internet.

The reason is the form will be uploaded on a public portal of customer, user can download it, fill it, now if they will click on submit it will go to some endpoint as

http://<servername>:<serverport>/sap/bc/srt/.

Since the server is not exposed and is inside the company firewall, the call would I believe fail.

So without exposing the server outside the firewall, how can I publish it online so that everyone can download the form and submit the data.

Hope am more clear now. Your suggestions appreciated.

Chintan

Former Member
0 Kudos

Hi,

There is no way in that case.

You need a server exposed outside the firewall, the only solution I can see is :

- you already have some servers exposed outside the firewall and you can develop another web service on one of this servers which call your specific Bapi or your internal Web Service.

This Web Service will be available on the internet

internet -> Web service on a server exposed outside the firewall -> web service ECC or Bapi.

Regards, Gilles.

chintan_virani
Active Contributor
0 Kudos

Thanks for the reply. I was under the impression that we can achieve this if we could publish our WS on some UDDI server say SAP UDDI which is on Internet, download the wsdl after it is published and use it in our project.

If we have to expose the server on internet, then what's the use of writing Web Services because then we can write a WD/BSP application which will be provided anonymous access from Portal.

Chintan

Former Member
0 Kudos

If you look at Web Service that way, you are right.

Adobe Forms are an interesting solution for occasional users, for them a bsp or Web dynpro is often too complex.

If you stay in the Abap world you do not really need web services, except for enterprise services provided by SAP, sometimes they are much better than Bapis or RFC.

Regards, Gilles.

Former Member
0 Kudos

Hi Chintan,

So without exposing the server outside the firewall, how can I publish it online so that everyone can download the form and submit the data.

From what I see here, by "publish" you mean "make the application (Web service) available to the public so that everybody can use it."

In the context of Web services and UDDI, "publish" has a different meaning. In short, when you develop a Web service you make it available on some system and configure it. What you have now is:

(a) The Web service as an application which the user can use.

(b) The information about this Web service, that is, where it is available, what it is about, an so on.

The UDDI server is intended to store (b) and not (a). The process of storing (b) in an UDDI server is called "publishing". By "publishing" the Web service to the UDDI server, you actually make the information about this Web service available in the UDDI server. Then other users can access the UDDI server and find information about your Web service. If they decide to use your Web service, they take from the UDDI server the information about how to access it.

To summarize, the UDDI server is just a kind of registry, or yellow pages. While you can "publish" Web services in it, you will find there only what they do and how to access them.

Hope this helps,

Rossen

Former Member
0 Kudos

Hi Chintan,

As gilles said, we definitely require a server outside of the firewall with the service exposed.

former_member188433
Participant
0 Kudos

Hi Chintan,

We also do as Gilles said.

Regards - Jeff

Answers (2)

Answers (2)

chintan_virani
Active Contributor
0 Kudos

Thanks for your responses, here is the inference I can draw:-

1. Create the BAPI, expose as a WS.

2. Maintain the logical endport settings through SOAMANAGER transaction.

3. Expose the server i.e. the server needs to have a public IP in case it has to be accessible from internet.

I also read regarding creation of consumer proxy, can anyone provide some information on it, is it required to be created?

Chintan

Former Member
0 Kudos

Hi Chintan,

Are you talking about a reverse proxy.

This old blog is a good introduction.

/people/sap.user72/blog/2005/02/16/the-reverse-proxy-series--part-1-introduction

Regards, Gilles.

chintan_virani
Active Contributor
0 Kudos

Nopes Gilles. Please refer below help.

[Configuring a Consumer Proxy|http://help.sap.com/saphelp_nw70/helpdata/en/9e/c7a3591dc74a679bbc9716354e42af/frameset.htm]

Chintan

Former Member
0 Kudos

Hi Chintan,

By publishing information about the created Web service in an UDDI server, you will make this information available to users who actually know about this server and use it to find your Web services. If you know the potential users, you can just provide this information to them personally.

AFAIK, in ECC 6.0 if you have AS Java installed, you should have both UDDI server and UDDI client. Provided you know the way UDDI works, you can publish a Web service to the server using the client. For details, see [Publishing a Web Service as a Business Service|http://help.sap.com/saphelp_erp2005/helpdata/FR/9d/434b148ca54ee8a7f89f90fbab71b0/frameset.htm].

For more general information, see [UDDI|http://help.sap.com/saphelp_erp2005/helpdata/FR/fe/0cb6f543994cd08bbbc6e0f22023e0/frameset.htm]

Hope this helps,

Rossen