Return-Path: Delivered-To: apmail-ws-axis-dev-archive@www.apache.org Received: (qmail 53435 invoked from network); 12 May 2008 15:50:38 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 12 May 2008 15:50:38 -0000 Received: (qmail 42335 invoked by uid 500); 12 May 2008 15:50:38 -0000 Delivered-To: apmail-ws-axis-dev-archive@ws.apache.org Received: (qmail 42273 invoked by uid 500); 12 May 2008 15:50:38 -0000 Mailing-List: contact axis-dev-help@ws.apache.org; run by ezmlm Precedence: bulk Reply-To: axis-dev@ws.apache.org list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list axis-dev@ws.apache.org Received: (qmail 42262 invoked by uid 99); 12 May 2008 15:50:38 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 12 May 2008 08:50:38 -0700 X-ASF-Spam-Status: No, hits=2.0 required=10.0 tests=SPF_PASS,URIBL_BLACK X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of davanum@gmail.com designates 64.233.170.187 as permitted sender) Received: from [64.233.170.187] (HELO rn-out-0910.google.com) (64.233.170.187) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 12 May 2008 15:49:50 +0000 Received: by rn-out-0910.google.com with SMTP id s46so603534rnb.14 for ; Mon, 12 May 2008 08:50:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; bh=OCBzQWy+WNzFaQdCzPb5zx6Ehz9fS/cfdYcEakt4nD4=; b=etwHFW2MARsV0Z8i5mykyMX89JJw2uZC+ib1ggYAJfpZ/Pe89ZNJUobPboBUF/83Dj6+HQJrSAvTU+2GaP4HZ0qa0PTyp93fQDuunn2bi/hxrfOfkYm6gV+52LEPsDgd4pB3uyWPFsjerdZjwKlHNfHc5dh0V5BmIWwMF/EamUc= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=tEEwE72zYDfGKuXseKNs7EEAuPviYR+omP6XawUohZAdh4EaiggRxgNYG+DBzjYeLtVM3l7bC7d0yHZff81Vpv7F7qH1WqsVXpJ+p5WVeX4kIDZXqR/h8qru6IjYUpnIkRkyK0p90YfREORmfFD+kufP65H0lP/0VJrUbnZu14k= Received: by 10.142.141.21 with SMTP id o21mr3326934wfd.199.1210607401232; Mon, 12 May 2008 08:50:01 -0700 (PDT) Received: by 10.142.143.16 with HTTP; Mon, 12 May 2008 08:50:01 -0700 (PDT) Message-ID: <19e0530f0805120850g7ea93ce6q86ecea5719f5d88c@mail.gmail.com> Date: Mon, 12 May 2008 11:50:01 -0400 From: "Davanum Srinivas" To: axis-dev@ws.apache.org Subject: Re: [Axis2] Generating a wrong port address for POJO deployment In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <4823ED0C.9080205@gmail.com> <4827EE9C.2090408@opensource.lk> <48280E53.1090404@gmail.com> <4828155F.90601@gmail.com> <48282464.3050901@gmail.com> <19e0530f0805120518o61b24a29uc8e24d56cd89eaff@mail.gmail.com> X-Virus-Checked: Checked by ClamAV on apache.org Keith, That would be good, but remember the JAXWS services don't have service.xml's :) they specify the expected service name in the annotation. -- dims On Mon, May 12, 2008 at 10:53 AM, keith chapman wrote: > Dims, > > How about making it flexible. Introduce a service.xml property where you can > set a aliases for the endpoint urls? We may need three properties for the > tree default bindings. That way the user can have very nice URLs... > > Thanks, > Keith. > > > > On Mon, May 12, 2008 at 5:48 PM, Davanum Srinivas wrote: > > Sanka, > > > > for one thing, i haven't seen anyone else use it. another thing, makes > > it *slightly* more difficult for interop work and for tck work. It > > also makes it more difficult for people who want to design their own > > URI's for their web services and need complete control (yes, there are > > a few of those!). Yes, we can shove it down their throats, but that > > does not mean we should... > > > > thanks, > > dims > > > > > > > > > > On Mon, May 12, 2008 at 7:05 AM, Sanka Samaranayake > wrote: > > > Deepal jayasinghe wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > When I deploy a very simple POJO service it generates > following > > > as > > > > > > > the service section in WSDL. As I know this is not nice and > we > > > > > > > need to fix this as soon as possible. > > > > > > > Why is it not nice? This gives us the ability to apply binding > > > level security correctly which is not possible with the endpoint > addresses > > > we used to have. > > > > > > > > > > > > > As I replied earlier , you can figure out the SOAP version from > the > > > SOAP message , so you do not need to send the SOAP version in the end > point > > > address. > > > > > > > > > > > > > > > > Why do you say it is redundant code? Previously we had > > > http://localhost:8080/axis2/services/foo as the SOAP 1.1 and SOAP 1.2 > > > binding endpoints. Now say that client picks the SOAP 1.1 binding > endpoint > > > and accidentally sends SOAP 1.2 request. > > > > > > > > > IMO which is wrong. If he picks 1.1 then should send a 1.1 request. > > > > > > > > > > That is exactly my point. If he picks SOAP 1.1 then you *should* send a > > > SOAP 1.1 request. If he sends a SOAP 1.2 request we *should* throw an > > > exception saying incorrect SOAP version. Earlier we were *not* doing > that > > > because we had the *same* endpoint address for both bindings. However > now we > > > can do that because by looking at the endpoint we can decide the exact > > > binding which the client has picked. > > > > > > > > > > > > > > > > > > > > > Here the right thing would be to throw an exception saying incorrect > > > SOAP version where as Axis2 server won't complain which IMO is a bug. > Now if > > > you use http://localhost:8080/axis2/services/foo.SOAP11Endpoint as the > SOAP > > > 1.1. binding endpoint we can do a prior evaluation of the request and > throw > > > an exception if we receive a SOAP 1.2 request which IMO is the correct > > > behavior. > > > > > > > > > Only problem I have is having the SOAP11Endpoint name in the address , > > > > > > > > > > Please explain why do you have a problem with [service].[port] format ? > > > > > > > > > > > > > I do not mind sending that as some where else. > > > > > > > > > > > > > Where would you suggest that we should have the port name s.t. we can > > > decide the intended port (or the binding) of the request and do throw an > > > exception if the client has sent a SOAP 1.2 request by error where he > would > > > have actually intended the SOAP 1.1 endpoint ? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I know that the structure of endpoint address is important that it > is > > > something that we should not be mess around. That is the exact reason > why I > > > posted[1] it to developer mailing list. However I think we should be > > > flexible enough to change what we agreed on if there are valid reasons > to do > > > so and if we don't lose anything by doing it. > > > > > > > > > > One reason for using [service].[port] would be that it allows the > server > > > to do prior evaluations of SOAP requests hence make it less error-prone > (As > > > I mention in my earlier) > > > > > > > > > > Another reason would be that [service].[port] format makes lot of > sense > > > if we want to support multiple policy alternatives scenario at the Axis2 > > > server-side. Lets say a service requires strong authentication, but > gives > > > the client multiple options of SSL mutual authentication, username with > a > > > signature, SAML with a signature or Kerberos. It does it via a policy in > the > > > services.xml which contains an alternative for each scenario. > > > > > > > > > > Now one option would be to do some processing of the request to > figure > > > out the option the client has chosen and then do a complete evaluation > > > against that policy alternative. But it can be very expensive depending > of > > > the complexity of each policy alternative and of cause the number of > policy > > > alternatives which service exposes. Further there is a possibility that > some > > > policy alternatives are indeterminate by only looking at the request. > > > > > > > > > > The other option would be to generate multiple endpoints s.t. each > > > endpoint would correspond to exactly one policy alternative during the > > > deployment time. > > > > > > > > > > e.g. > > > > > > > > > > > > > > > .... > > > > > > > binding="ns:VersionSoap11Binding"> > > > > > > > > location="http://localhost:8080/axis2/services/Version.VersionHttpSoap11EndpointWithSSL"/> > > > > > > > > > > name="VersionHttpSoap11EndpointWithUsernameAndSignature" > > > binding="ns:VersionSoap11Binding"> > > > > > > > > location="http://localhost:8080/axis2/services/Version.VersionHttpSoap11EndpointWithUsernameAndSignature"/> > > > > > > > > > > > > binding="ns:VersionSoap11Binding"> > > > > > > > > location="http://localhost:8080/axis2/services/Version.VersionHttpSoap11EndpointSAMLAndSignature"/> > > > > > > > > > > > > binding="ns:VersionSoap11Binding"> > > > > > > > > location="http://localhost:8080/axis2/services/Version.VersionHttpSoap11EndpointWithSSLWithKerberos"/> > > > > > > > > > > ..... > > > > > > > > > > > > > > > > > > > > That way we can straight way say the option client as picked and > > > evaluate the quest based on the target policy alternative with IMO is a > > > better way of supporting multiple policy alternatives at the > server-side. We > > > need to use [service].[port] format if we are to implement the support > for > > > multiple policy alternatives feature. > > > > > > > > > Thank you so much for such a descriptive mail. I will think though and > > > send a reply soon.. > > > > > > > > -Deepal > > > > > > > > > > > > --------------------------------------------------------------------- > > > > To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org > > > > For additional commands, e-mail: axis-dev-help@ws.apache.org > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > Sanka Samaranayake > > > WSO2 Inc. > > > > > > http://sankas.blogspot.com/ > > > http://www.wso2.org/ > > > > > > --------------------------------------------------------------------- > > > > > > To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org > > > For additional commands, e-mail: axis-dev-help@ws.apache.org > > > > > > > > > > > > > > -- > > Davanum Srinivas :: http://davanum.wordpress.com > > > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org > > For additional commands, e-mail: axis-dev-help@ws.apache.org > > > > > > > > -- > > Keith Chapman > Senior Software Engineer > WSO2 Inc. > Oxygenating the Web Service Platform. > http://wso2.org/ > > blog: http://www.keith-chapman.org -- Davanum Srinivas :: http://davanum.wordpress.com --------------------------------------------------------------------- To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org For additional commands, e-mail: axis-dev-help@ws.apache.org