axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sedukhin, Igor" <Igor.Seduk...@ca.com>
Subject RE: more about WSDD handlers/services without a name
Date Tue, 18 Dec 2001 00:06:54 GMT
In addition to the client, any WSDDProvider-derived thingy creates an unnamed handler in newProviderInstance
method.

You may ask, why the heck do I care? Well, when I took the very first build of Axis I liked
the consistent message flow processing model. I also liked the deployment model a lot. It
was better suitable for my application needs than any other SOAP/WSDL processing frameworks
that were available.

I had an impression that WSDD is just an extension of the existing model put over consistent
XML schema and an API. Right now it seems like work in progress. Is it?

Just comparing old server-config.xml and new server-config.wsdd can make it clear.
As it may have been noticed, my biggest concern was unnamed items (making it difficult to
correlate and maintain the message flow externally), handler/provider ambiguity (at the runtime),
service pivot/provider mapping, provider="Handler" indirection, handler type/name mappings.

I understand that it is difficult to pay attention to such details when implementing hundred
other pieces at once. It only makes sense to straighten it out when there is a use case scenario
that requires that. I guess, I've got one :).

Could someone help me understand that WSDD deployment architecture is:
	a. work in progress, very preliminary, who's working on it?
	b. nobody is really interested in it right now, not important, don't care?
	c. everybody is focused on other areas in Axis, will come back to it later, won't come back?

I'm just trying to make a good use of Axis...

-- Igor Sedukhin .. (Igor.Sedukhin@ca.com)
-- (631) 342-4325 .. 1 CA Plaza, Islandia, NY 11788



-----Original Message-----
From: Sedukhin, Igor 
Sent: Monday, December 17, 2001 1:44 PM
To: axis-dev@xml.apache.org
Subject: RE: WSDD handlers/services without a name


Dug has promptly fixed the problem detected by junit tests.

I was trying to understand how is it possible to have an unnamed WSDDDeployableItem/WSDDService.
Apparently the it is the org.apache.axis.client that deploys an unnamed service/handler (depending
on the tests).

WSDD schema allows unnamed handlers/services to be deployed. Well, I wasn't sure how much
sense that would make. How can anyone make use of an unnamed WSDDDeployableItem in the registry?
It cannot be referenced in a request flow/chain. It cannot be exposed as a service (as Axis
won't see it). It cannot be used by a client in the Call.invoke sequence. Basically it will
be a stale object right there.

Since the WSDD schema as well as org.apache.axis.deployment.wsdd APIs allow unnamed deployable
items, it leaves a hole for Axis users to make mistakes that would be very hard to trace (due
to Class.makeInstance indirection used in Axis processing pipeline and deployment coordination).

Could someone help me understand why name attribute is optional for WSDD deployable items?
I could certainly be missing some original design incentives. Or otherwise, would anyone agree
that the WSDD deployment APIs and WSDD schema have to be changed to make name attribute mandatory?

PS. To clarify, my objective so far was to make Axis APIs cleaner, more consistent and less
error prone.

-- Igor Sedukhin .. (Igor.Sedukhin@ca.com)
-- (631) 342-4325 .. 1 CA Plaza, Islandia, NY 11788



-----Original Message-----
From: Sam Ruby [mailto:rubys@us.ibm.com] 
Sent: Saturday, December 15, 2001 2:38 PM
To: axis-dev@xml.apache.org
Subject: Re: cvs commit: xml-axis/java/src/org/apache/axis/deployment/wsdd WSDDDeployableItem.java
WSDDService.java


This first change below is the cause for the gump reported junit failure.

Glen, Igor: can you check into this?

- Sam Ruby

 = = = = = = = = = = = = = = = = =

gdaniels    01/12/14 13:11:52

  Modified:    java/src/org/apache/axis/deployment/wsdd
                        WSDDDeployableItem.java WSDDService.java
  Log:
  Correctly set the name of deployed Handlers/Services.

  Submitted by Igor Sedukhin <Igor.Sedukhin@ca.com>.

  Revision  Changes    Path
  1.22      +1 -0      xml-axis/java/src/org/apache/axis/deployment/wsdd/WSDDDeployableItem.java

  Index: WSDDDeployableItem.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/deployment/wsdd/WSDDDeployableItem.java,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- WSDDDeployableItem.java 2001/12/06 16:55:43  1.21
  +++ WSDDDeployableItem.java 2001/12/14 21:11:52  1.22
  @@ -317,6 +317,7 @@
               h = (Handler)createInstance(c);

               if (h != null) {
  +                h.setName(getQName().getLocalPart());
                   h.setOptions(getParametersTable());
               }
           } else {



  1.27      +1 -0      xml-axis/java/src/org/apache/axis/deployment/wsdd/WSDDService.java

  Index: WSDDService.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/deployment/wsdd/WSDDService.java,v
  retrieving revision 1.26
  retrieving revision 1.27
  diff -u -r1.26 -r1.27
  --- WSDDService.java   2001/11/26 00:58:35  1.26
  +++ WSDDService.java   2001/12/14 21:11:52  1.27
  @@ -206,6 +206,7 @@
           }

           SOAPService   service  = new SOAPService();
  +        service.setName(getQName().getLocalPart());
           service.setOptions(getParametersTable());

           WSDDChain     request  = getRequestFlow();






Mime
View raw message