axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Gainty <mgai...@hotmail.com>
Subject RE: Passing parameters from a calling client to registered request handler- can I use headers for this purpose?
Date Sat, 30 May 2009 23:21:18 GMT

hi greg-

can you post or attach the wsdl (and xsd)

thanks
Martin Gainty 
______________________________________________ 
Verzicht und Vertraulichkeitanmerkung/Note de déni et de confidentialité
 
Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene Empfaenger sein, so bitten
wir hoeflich um eine Mitteilung. Jede unbefugte Weiterleitung oder Fertigung einer Kopie ist
unzulaessig. Diese Nachricht dient lediglich dem Austausch von Informationen und entfaltet
keine rechtliche Bindungswirkung. Aufgrund der leichten Manipulierbarkeit von E-Mails koennen
wir keine Haftung fuer den Inhalt uebernehmen.
Ce message est confidentiel et peut être privilégié. Si vous n'êtes pas le destinataire
prévu, nous te demandons avec bonté que pour satisfaire informez l'expéditeur. N'importe
quelle diffusion non autorisée ou la copie de ceci est interdite. Ce message sert à l'information
seulement et n'aura pas n'importe quel effet légalement obligatoire. Étant donné que les
email peuvent facilement être sujets à la manipulation, nous ne pouvons accepter aucune
responsabilité pour le contenu fourni.




Date: Sat, 30 May 2009 18:31:29 +0100
Subject: Re: Passing parameters from a calling client to registered request 	handler- can
I use headers for this purpose?
From: gstasica@googlemail.com
To: axis-user@ws.apache.org

hi,
thanks for your reply but I still see  some problems

1) if I understand correctly WSDDHandler API let me set parameters declaratively in server-config.wsdd
or client-config.wsdd files. Unfortunately I don't know what my parameters' values should
be during deployment, there is some business logic involved in calculating my parameters hence
the values for my parameters are available only as a runtime values. Perhaps I could create
my own implementation of this class but I suspect that I'd have to do a lot of changes to
AXIS engine itself in order to use it. What's more I would have to further customize my generated
stubs in order to pass my parameters' values to a new handler. All I want to do is pass some
parameter along with it's value from a stub to some registered axis handler. And what's your
opinion about putting additional header's to my soap envelope (e.g ... myParam=log2 )? Is
it safe and more importantly could it break server implementation of the WebService ?  (e.g.
incorrect SOAP envelope e.t.c)



2) I like the idea with optional parameter as an array but again I'm only a client of some
WS. As such, WSDL file I got is pretty closed (I can't do any changes to it as it would probably
cause problems on the server side).



I've already read Axis Architecture Guide but couldn't find any solution to my problem




On Sat, May 30, 2009 at 4:57 PM, Martin Gainty <mgainty@hotmail.com> wrote:






http://ws.apache.org/axis/java/architecture-guide.html
allows you to conceptualise the use of Handlers for communicating from your client to service
and bacl


if you want to store the information DB is always your safest and most reliable option

concerning optional params take a look at this example which defined stringElement as optional
with minOccurs="0"

  <xsd:complexType name="ArrayOfString">
    <xsd:complexContent>
      <xsd:restriction base="soap-enc:Array">
        <xsd:sequence>
          <xsd:element name="stringElement" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>

        </xsd:sequence>

http://ws.apache.org/axis/java/apiDocs/org/apache/axis/deployment/wsdd/WSDDHandler.html

where parameters can be read collectively via getParametersTable (into HashTable)
or individually via getParameter



 java.lang.String
getParameter(java.lang.String name)



          Get the value of one of our parameters



 LockableHashtable
getParametersTable()



          Returns the config parameters as a hashtable (lockable)
hth
Martin Gainty 
______________________________________________ 
Verzicht und Vertraulichkeitanmerkung/Note de déni et de confidentialité

 
Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene Empfaenger sein, so bitten
wir hoeflich um eine Mitteilung. Jede unbefugte Weiterleitung oder Fertigung einer Kopie ist
unzulaessig. Diese Nachricht dient lediglich dem Austausch von Informationen und entfaltet
keine rechtliche Bindungswirkung. Aufgrund der leichten Manipulierbarkeit von E-Mails koennen
wir keine Haftung fuer den Inhalt uebernehmen.

Ce message est confidentiel et peut être privilégié. Si vous n'êtes pas le destinataire
prévu, nous te demandons avec bonté que pour satisfaire informez l'expéditeur. N'importe
quelle diffusion non autorisée ou la copie de ceci est interdite. Ce message sert à l'information
seulement et n'aura pas n'importe quel effet légalement obligatoire. Étant donné que les
email peuvent facilement être sujets à la manipulation, nous ne pouvons accepter aucune
responsabilité pour le contenu fourni.





Date: Sat, 30 May 2009 15:20:45 +0100
Subject: Passing parameters from a calling client to registered request 	handler- can I use
headers for this purpose?
From: gstasica@googlemail.com

To: axis-user@ws.apache.org

hi,

Are there any good patterns on how to pass parameters from a client to request handlers? Can
I use for this purpose headers ? I thought about putting some additional header with call
specific parameters I would read in my registered request handler but I'm not sure what impact
will it (additional headers) have on the actual WebService (will it recognize such request
as a valid XML document/request). 



My original problem is that once I do a call to the WS I need to log SOAP message (as a text)
in some location (this location is per call specific so I can't use one folder). I use request
handler registered in my client-config.wsdd file and it works fine but recognizing location.
Probably I could use for this purpose database with three columns: 1) OperationName, 2) ServiceName,
3) location or even static class with some hashmap. The problems I see here are that in the
first case my logger will slow down WS calls significantly as it will have to go to database
and in case of static class.. they're always a problem while testing. 



I'd appreciate any suggestion how could I improve this.


Environment
Axis 1.4
-- 
Greg Stasica

Hotmail® has a new way to see what's up with your friends. Check it out.



-- 
Greg Stasica

_________________________________________________________________
Hotmail® has a new way to see what's up with your friends.
http://windowslive.com/Tutorial/Hotmail/WhatsNew?ocid=TXT_TAGLM_WL_HM_Tutorial_WhatsNew1_052009
Mime
View raw message