Return-Path: Delivered-To: apmail-ws-axis-user-archive@www.apache.org Received: (qmail 49663 invoked from network); 17 Aug 2006 03:00:28 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 17 Aug 2006 03:00:28 -0000 Received: (qmail 70462 invoked by uid 500); 17 Aug 2006 03:00:16 -0000 Delivered-To: apmail-ws-axis-user-archive@ws.apache.org Received: (qmail 70444 invoked by uid 500); 17 Aug 2006 03:00:16 -0000 Mailing-List: contact axis-user-help@ws.apache.org; run by ezmlm Precedence: bulk Reply-To: axis-user@ws.apache.org list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list axis-user@ws.apache.org Received: (qmail 70424 invoked by uid 99); 17 Aug 2006 03:00:16 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 16 Aug 2006 20:00:16 -0700 X-ASF-Spam-Status: No, hits=0.5 required=10.0 tests=DNS_FROM_RFC_ABUSE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: domain of ajith.ranabahu@gmail.com designates 64.233.182.188 as permitted sender) Received: from [64.233.182.188] (HELO nf-out-0910.google.com) (64.233.182.188) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 16 Aug 2006 20:00:15 -0700 Received: by nf-out-0910.google.com with SMTP id x29so876311nfb for ; Wed, 16 Aug 2006 19:59:54 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=jJqUhmpl3yIzdhymsm9m91T8PnYnjwYF0BKz5SHzvwTkQ4Itj1ger1h+1xH2khzyNOdmexcUdL7ZiSr8wNa8ammwExr/8fIaBzG+6rSrQIE/jiW8IH/cL6zPNoT+gspzbCmawMBzAggUxETTZieKgTLatFt/lTLlpmMxa6n+hiA= Received: by 10.48.210.20 with SMTP id i20mr1544589nfg; Wed, 16 Aug 2006 19:59:54 -0700 (PDT) Received: by 10.48.210.13 with HTTP; Wed, 16 Aug 2006 19:59:54 -0700 (PDT) Message-ID: Date: Wed, 16 Aug 2006 22:59:54 -0400 From: "Ajith Ranabahu" To: axis-user@ws.apache.org Subject: Re: Axis1 style="message" in Axis2? In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <9abd5e730607261100t79d885b8ka9c1addd00a2a660@mail.gmail.com> X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Hi, Given what you need to do (which is possible ofcourse) it simply requires a bit more knowledge about the internals of Axis2. I am going to outline a doable procedure but unfortunatley I don't have the time to write a lengthy description and elaborate each point. 1. You need to introduce a custom dispatcher (Axis does not enforce the action but it comes addressing enabled by default). What this dispatcher does is figuring out the static and runtime service and operation 'data bags'. We call them AxisService,AxisOperation and serviceContext, operationContext. Ultimately your custom dispatcher should provide the these 'data bags' relevant to your service. Please have a look at the dispatcher implementations to get an idea of how these work. 2. Write a custom message receiver. If you generate code for server side using a simple WSDL you will see the source for a custom message receiver. Modify the code off that not to find the method using the action. That should do it :) Ajith On 8/16/06, David Melgar wrote: > I'm still trying to figure out how to deploy a message style service > WITHOUT having to declare each possible wsa:Action value which might be > used on the invocation. Its a message style service... I dont want or need > Axis to figure out what method to invoke. There's only one method > available. > > I tried the 1st possible solution mentioned below, > "1. Remove the dispach phase from your Axis2 configuration and write > your own MessageReceiver (which removes the need for an AxisOperation > to be identified)" > > I wrote a new message receiver but ran into bigger problems. If I remove > the tags in the service's deployment descriptor, my new > message receiver never gets called. I receive a fault with a response code > 500 with no additional information to help diagnose where the problem > occured. Nothing showed up in Tomcat's catalina.log. > > Same problem seems to occur if the wsa:Action header value in the request > doesn't match the set of tags for the service. > > I tried commenting out the dispatch phase as stated as a suggestion without > any difference in behavior. > > Suggestions? Is there an easier way to accomplish this? It still appears to > me to be an Axis design issue. Axis should not force declaration of > specific wsa:Action values for a message based service. It could be an > option, but should not be required. Wildcard or similar should be > supported. > > > > > > "David Illsley" > il.com> To > axis-user@ws.apache.org > 07/26/06 02:00 PM cc > > Subject > Please respond to Re: Axis1 style="message" in Axis2? > axis-user@ws.apac > he.org > > > > > > > > > On 26/07/06, David Melgar wrote: > > > > > > Setting the message receiver to RawXMLMessageReceiver still appears to > require to determine which method to invoke. In axis1, the > specified method would receive all messages for that service. Equivalent > behavior should be available in axis2 regardless of the value of the > wsa:Action header. > > > > To further clarrify, the service I'm writing bridges between webservices > and a non-Java object invocation mechanism. It dynamically determines what > operations are allowed. This services does not know at deployment time what > operations are possible. I therefore don't know all the wsa:Action header > values that it might be included in request messages. Therefore I cannot > declare values in the service deployment descriptor. In > case you're wondering, this service also dynamically generates WSDL to > describe the discovered supported operations. > > > > Is there a way to wildcard to say that any action maps to > a method? Or to avoid the requirement for specifying an actionMapping if > RawXMLMessageReceiver is used. > > > > Are there other approaches that could be used? > > What you are trying to do sounds pretty advanced (given that you're > dynamically generating WSDL). > > There are a couple of options I can think of... > 1. Remove the dispach phase from your Axis2 configuration and write > your own MessageReceiver (which removes the need for an AxisOperation > to be identified) > 2. Define a single operation for the service and add a handler to the > DispatchPhase which selects that operation when the > RawXMLInOutReceiver will then invoke on the endpoint object. > > David > > --------------------------------------------------------------------- > To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org > For additional commands, e-mail: axis-user-help@ws.apache.org > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org > For additional commands, e-mail: axis-user-help@ws.apache.org > > -- Ajith Ranabahu --------------------------------------------------------------------- To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org For additional commands, e-mail: axis-user-help@ws.apache.org