cancel
Showing results for 
Search instead for 
Did you mean: 

Create web service proxy dynamically

Former Member
0 Kudos

Hi all,

i have created a web service from a function module.

Now i want to know if i can create the proxy dynamically???

For example if i change the web service i have to create a new wsdl and a new proxy.

Where is here the dynamic aspect??

regards

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

For me "dynamic aspect" is automation aimed to exclude human actions. It seems, SOA is not in this state yet - too much manual work.

Former Member
0 Kudos

What SOA has to do with automation of Proxy genetation?

Are u talking about JAVA proxies?.

It is a bunch of JAVA class file created based on XML RPC programming APIS, if you get the bottom of it.

All you are doing inside the proxi classes are accessing the RPC methods calls created automatically based on the following items from the WSDL file

data type,messages, port, binding and services.

Look for automation of proxy generation in Apache Axis using ANT build tool and WSDL repository. Build same conept into your JAVA IDE provided that you the details of JVA JAX RPC APIS.

In a single word, it is possible in JAVA world, if you know JAX RPC APIS, ANT tools etc.

Thanks

Former Member
0 Kudos

I've forgotten for a moment that this topic is about "dynamic aspect" of proxy generation, not SOA, sorry.

Former Member
0 Kudos

Hi all,

thanks for your answers.

The idea was the following:

1. I want to use a specific web service. (e.g. click on a button)

2. The specific web service will be searched in the uddi and the proxy is created automatically.

The advantage of this scenario will be that you have everytime the up-to-date webservice url.

What happends if the call of a web service is changing? I have to search for the new wsdl and create a new proxy!! I want to avoid this steps.

best regards

Former Member
0 Kudos

Hi,

there is a small catch over here..

We can create multiple webservices using the same function module.

For example if I expose my zfunctionmodule with P1 and P2 inputs parameters and P3 as output.

We can create multiple webservices using the same funtion module.

In each of these webservices, we can name these P1, P2 and P3 as any other name as per our requirement.

So, It does not make any sense in getting proxy generated dynamically.

Regards

Pushkar

Former Member
0 Kudos

What is meant by "<i>dynamic proxy</i>" is really open to different interpretations.

The term <b>proxy</b> means a set of classes that are automatically generated by a framework tool, based on examination of a WSDL <i>at a given point in time</i>; on the <b>service consumer side</b>.

In your case you are perhaps changing the service definition (its interface). If you do not change the service operations and data structures previously published in the WSDL to public, and just change the internals of the backend process (<i>encapsulated</i> off the <b>public</b>); the interface would not break -- and hence the older proxy classes would still remain valid.

If, however, you decide change the public interface, and thus the data (or operations) contract promised in the first WDSL generation/publication; all the consumers of that specific service operations, who "DYNAMICALLY" created proxy classes based on what was promised in earlier WSDL; would have to re-generate their proxy classes. Otherwise the XML serialized out of their consumption requests would not be compatible with your newer interface needs.

The "<i>Dynamism</i>" really refer's to client side class generation at a given point in time -- it doesn't mean the all consumers of a given service would have their proxy classes re-generated/re-synchronized according to the changes in service provider's interface (WSDL).

Former Member
0 Kudos

Hi Wolfgang,

you cannot have a web proxy created dynamically.

So, if you change the function module import/export/table parameters, you'll have to re-create the web service, associated wsdl and proxy.

However, if you simply change the coding and keep the same import/export/table parameters, of course the web service interface remains unchanged.

Rgds,

Karim