RE: Install/Deploy Axis 1.1 under WebSphere 5

2003-11-14 Thread Leo de Blaauw
Title: RE: Install/Deploy  Axis 1.1 under WebSphere 5





Hi,


I have just confirmed my requirement, 
we wanted to have SOAP server at web server side, which will be using IBM HTTP Server,
I remembered when we deployod Axis into Apache Tomcat, we only need to modify one configuration file, server.xml
can we just do similiar thing with IBM HTTP Server ?


Uhm no since IBM's deployment tool is what you need to use to create a deployable war/ear to deploy
any application onto webphsere. Again the HTTP server is NOT where you deploy to, it is the websphere
application server. I would suggest to readup on administration of Websphere trough the redbooks on the
IBM developerworks site.


Greetz
Leo






De informatie verzonden met dit e-mail bericht is uitsluitend bestemd voor de 
geadresseerde. Openbaarmaking, vermenigvuldiging, verspreiding en/of verstrekking 
van deze informatie aan derden is niet toegestaan.  Indien dit bericht niet voor u 
bestemd is, verzoeken wij u vriendelijk dit bericht te retourneren zodat dit in de 
toekomst kan worden voorkomen. Ondanks het feit dat IZA Nederland al haar e-mail 
berichten controleert op virussen, staat zij niet in voor het virusvrij verzenden c.q. 
ontvangen van deze berichten.




Re: MessageContext doesn't work at client side?

2003-11-14 Thread Michael Binz

I have created a service and successfully deployed.  At client side, I 
created a ClientMain.java
which only contains a "main" method for the purpose of testing.  I tried to 
use
"MessageContext.getCurrentContext()", but I always get 
NullPointerException.

Does MessageContext only exist with the service, but not accessible from a 
client?
This depends a bit on what you do.  If you're using the classes generated by 
wsdl2java on the client side, the MessageContext is not available to your 
code.  And if you think about it it makes sense.

The MessageContext only exists temporarily if you are invoking a web service 
by calling a generated method.  At some point inside this method a 
MessageContext is created, since we are really in 'the context of a message 
invcocation'.  As soon as the call returns and delivers its result to the 
caller, the call is finished and the message context is not longer valid 
since it was used for this single message invocation.

This is only an explanation what happens behind the scenes.  I learnt all of 
that just yestersday, so its pretty fresh.

I also needed a MessageContext on the client side, in my case for 
serialising a generated structure.  My final solution is now to create a 
MessageContext from scratch by using the following code:

   // Since we are not in a message call context, we have to create a
   // message context ourselves.
   MessageContext mc = new MessageContext( new AxisClient() );
Depending on what you want to solve this may be a solution.  In my case, the 
BeanSerializer and the SerialisationContext work perfectly with this message 
context.

Hope that helps,
Michael.
_
Schützen Sie Ihren Posteingang vor unerwünschten E-Mails. 
http://www.msn.de/antispam/prevention/junkmailfilter Jetzt 
Hotmail-Junk-Filter aktivieren!



WebSphere reading materials

2003-11-14 Thread Leo de Blaauw
Title: WebSphere reading materials





To all interested,


Below is a link to all sorts of IBM websphere documentation reachable from this one link, for those interested.
As i see a lot of technical websphere questions pop up lately on this list, and this is not really the list to ask those:

http://www-106.ibm.com/developerworks/websphere/library/techarticles/0305_issw/recommendedreading.html


Greetz,

Leo de Blaauw






De informatie verzonden met dit e-mail bericht is uitsluitend bestemd voor de 
geadresseerde. Openbaarmaking, vermenigvuldiging, verspreiding en/of verstrekking 
van deze informatie aan derden is niet toegestaan.  Indien dit bericht niet voor u 
bestemd is, verzoeken wij u vriendelijk dit bericht te retourneren zodat dit in de 
toekomst kan worden voorkomen. Ondanks het feit dat IZA Nederland al haar e-mail 
berichten controleert op virussen, staat zij niet in voor het virusvrij verzenden c.q. 
ontvangen van deze berichten.





Re: AW: Intermediary node

2003-11-14 Thread Borut Bolcina
Hello Wolfgang,

On Thursday, Nov 13, 2003, at 13:29 Europe/Ljubljana, Wolfgang 
Vullhorst wrote:

Hi,
  am a bit confused by some of your statements. Perhaps you can help 
me with
that...
Of course, I will try to.

Wolfgang

Borut Bolcina [mailto:[EMAIL PROTECTED] wrote:
Hi, again

since I had no luck, nobody answered to my question posted a
month ago
(subject WebServices chaining), i'll try again.


Can you please help me understand just how can one implement this
'simple' scenario.
CLIENT ---> INTERMEDIARY ---> ENDPOINT

Many clients will connect with different "payload weight", which
roughly determines the computational time for each request. The
ultimate goal would be that intermediary node acts as a queue and a
load balancer for a number of endpoints.
so you want to implement something like a communications bus, right?
load balancer ok, but why should it act as a queue?
I think communication bus is not the right word. As you mention below, 
I didn't realize that this intermediary node can pump requests to a 
selected endpoint without waiting first for the response to came back. 
That is why I thought a queue would be needed. But there is a scenario 
with queue in place - if ever a priority requests will be an 
implementation demand, then this queue would be a necessity. Imagine 
several hundreds of low priority requests coming in and then just one 
high priority request shows up. It should be served as fast as 
possible. Of course it is much easier (read cheaper)  to buy another 
machine for high priority customers! But...

My first goal would be just simply the intermediary to receive the
request, read the headers, make some database operations, make some
choices and if everything is ok, forward the request with new headers
to "real" web service (ENDPOINT) to do the job. If successful, the
intermediary again does some processing and returns the
result back to
the originator of the request - the CLIENT.
Now, what happens if in the middle of this process another request
comes in? The intermediary should be clever enough to know that the
ENDPOINT is busy and act accordingly.
what do you mean with "busy"? why should the endpoint only receive one
request at a time?
I was probably wrong in my concept. Do I really need to know if the 
endpoint is still processing the previous request before handing it a 
new one? That is not the case, is it?

I read about synchronous and
asynchronous requests and other theoretical stuff which I
could find on
the internet, but I am still confused. If asynchronous services would
be a way to go, then I guess the clients will have to be smarter and
the choice of technology narrower. If request-response
mechanism could
do the job, it would be easier, wouldn't be?
yes...

I am aware (it is even a demand) that I will have to
implement several
ENDPOINTs which would work as a farm of the same services to increase
the efficiency and the reliability of service will be one of
the major
questions, so I don't want to start implementing a bad architecture
which will limit my options later on.
Architectures using webserver/servlet engine or application server 
allow to
process more than one request at a time. Clustering is only necessary 
for
failover/load balancing mechanisms.

So for a scenario without load balancing the architecture would be 
something like this:

client (written in whatever language) --> application server 
(WebObjects with Axis) acting as intermediary webservice --> endpoint 
(python powered webservice)


I have written a client which I installed on several machines
to stress
test the ENDPOINT web service. I bombarded the poor workhorse from
those machines with requests coming apart just under a second from
each. Each response lasted roughly from 15 to 45 seconds, but
they all
got processed successfully. Now, I would be a happy person if I could
be able to squeeze this intermediary in-between to do some logging. I
guess HTTP nature of request-response loop handled the queue for me.
How do I do this with intermediary node?
No queue but several threads to process the requests. Perhaps you use a
resource in your webservice that is only available once, so that all 
threads
have to wait for it?

I understand that several threads can be spawned each for one request. 
I misused the word queue.
There will be cases when the same resource will have to be fetched from 
a database.

Does my question narrows down to handling sessions? If client sends a
request which takes a long time to process, how to handle another
client's request which came seconds after the first one?
Sessions/Threading does this for you

OK, would this be a viable algorithm:

Client generates a request.
Intermediary reads the headers of a request and determines if this is a 
valid request based on some value in the header.
If valid, a session is created.
Intermediary does some processing (logs request, makes some db 
operations).
Intermediary alters headers and sends the request further to the 
endpoint (do

Re: AW: Intermediary node

2003-11-14 Thread Borut Bolcina
Hello Dimuthu,

On Friday, Nov 14, 2003, at 04:26 Europe/Ljubljana, Dimuthu Leelarathne 
wrote:

Hi Bob,

I would like to comment on the following line.

CLIENT ---> INTERMEDIARY ---> ENDPOINT

Are you talking about the "INTERMEDIARY" mentioned in the SOAP 
specification?

Yes, as the theory says, this would be a solution, but where to find a 
code example in java to do just that?

We (myself and my team mates) had a long discussion \ arguments on this
matter few months back. The question was
What is this "Intermediary"? Can we consider a handler as an 
intermediary?
Or should we call a SOAP node such as a SOAP engine ?

I think a node, but I guess I should do some further reading on what a 
handler is and in which situation to use it (them). Again I have little 
experience.

Our final conclusion was that a Intermediary should be a SOAP engine 
not a
soap handler. Of course we should not argu on mere words - but meaning 
of
the words.

Could decision about using a handler or node be made on the technology 
used for coding? Can you read my other reply to Wolfgang?


Many clients will connect with different "payload weight", which
roughly determines the computational time for each request. The
I am not an ANN expert, but this sounds like a neural network :-), so 
if
you want a network (somethign like a neural network) , are you 
planning to
consider a handler as a node?

Heh, as a matter of fact I did some neural network programming (LVQ 
algorithms and Backpack propagation) for image recognition, but this 
topic is beyond this discussion.

Of course reading through your mail I think you might have to use a
handler as a intermediatry to provide the required functionality, but 
the
problem is Axis engine controls handler chains (you can refer the
architecture guide). Some computations done at a specific handler 
cannot
control the flow of the message. So you will have a hard time 
configuring
a handler as a node in the network - especially if it is going to be 
more
than 2 layers.

If you are really keen about this, one option is you can write a your 
own
engine 

Huh, I am trying to make the result of this equation to be as small as 
possible! :-)

time / money

But than again, many people switch religion.

Until next time,
bob
Regards,
Dimuthu.

My first goal would be just simply the intermediary to receive the
request, read the headers, make some database operations, make some
choices and if everything is ok, forward the request with new headers
to "real" web service (ENDPOINT) to do the job.




--
Lanka Software Foundation  http://www.opensource.lk
Hi,
  am a bit confused by some of your statements. Perhaps you can help 
me
with
that...
Wolfgang

Borut Bolcina [mailto:[EMAIL PROTECTED] wrote:
Hi, again

since I had no luck, nobody answered to my question posted a
month ago
(subject WebServices chaining), i'll try again.


Can you please help me understand just how can one implement this
'simple' scenario.
CLIENT ---> INTERMEDIARY ---> ENDPOINT

Many clients will connect with different "payload weight", which
roughly determines the computational time for each request. The
ultimate goal would be that intermediary node acts as a queue and a
load balancer for a number of endpoints.
so you want to implement something like a communications bus, right?
load balancer ok, but why should it act as a queue?
My first goal would be just simply the intermediary to receive the
request, read the headers, make some database operations, make some
choices and if everything is ok, forward the request with new headers
to "real" web service (ENDPOINT) to do the job. If successful, the
intermediary again does some processing and returns the
result back to
the originator of the request - the CLIENT.
Now, what happens if in the middle of this process another request
comes in? The intermediary should be clever enough to know that the
ENDPOINT is busy and act accordingly.
what do you mean with "busy"? why should the endpoint only receive one
request at a time?
I read about synchronous and
asynchronous requests and other theoretical stuff which I
could find on
the internet, but I am still confused. If asynchronous services would
be a way to go, then I guess the clients will have to be smarter and
the choice of technology narrower. If request-response
mechanism could
do the job, it would be easier, wouldn't be?
yes...

I am aware (it is even a demand) that I will have to
implement several
ENDPOINTs which would work as a farm of the same services to increase
the efficiency and the reliability of service will be one of
the major
questions, so I don't want to start implementing a bad architecture
which will limit my options later on.
Architectures using webserver/servlet engine or application server 
allow
to process more than one request at a time. Clustering is only 
necessary
for failover/load balancing mechanisms.

I have written a client which I installed on several machines
to stress
test the ENDPOINT web service. I bombarded

help: multiple stateful services

2003-11-14 Thread Yan Lin
Hi,

I'm new to AXIS and I tried Example6 for a stateful service (i.e. using session).  It 
worked fine.
 Then, I expanded the example to contain 2 stateful services, i.e. now I have:

ServiceA with method a() and b()
ServiceB with method c() and d()

I have configured them in the same way (both in the code and in the wsdd file).  And 
in my test, I
call the service in this sequence:

ServiceA.a();
ServiceB.c();
ServiceB.d();
ServiceA.b();

It turns out that ServiceA is correctly executed with same session id, while ServiceB 
is not:
messages for c() and d() contain different session ids.

Does anyone know the reason?

Thanks!

Gloria

__
Do you Yahoo!?
Protect your identity with Yahoo! Mail AddressGuard
http://antispam.yahoo.com/whatsnewfree


help: session id not found in client side

2003-11-14 Thread Yan Lin
Hi,

I have searched in this mail list and tried to apply the possible solutions, however, 
I failed to
find session id in the client side soap message.

What I did:

(01) set scope to be session in the wsdd file
(02) set setMaintainSession to be true
(03) include SimpleSessionHandler at both server side and client side.  It's like this 
at client
side:
  
  
 
  

  

 
 

However, I can only see the session id in the response coming from the server, but not 
in the
request from client side.

What else do I need to do to enable it?

Many thanks!

Gloria

__
Do you Yahoo!?
Protect your identity with Yahoo! Mail AddressGuard
http://antispam.yahoo.com/whatsnewfree


RE: Chris, the example doesn't work, why?

2003-11-14 Thread chris
Gloria - 

Without looking at both your client and server side configuration, it is
hard to tell exactly where the example went awry.   It seems like you
have not followed the configuration steps for the SimpleSessionHandler.
I didn't post the full example. The e-mail thread assumed that the user
was cognizant of how to initialize the Axis session management
mechanism, and simply wanted to share the session id across services.

An example of how to do the basics is linked to this wiki page:
http://nagoya.apache.org/wiki/apachewiki.cgi?AxisProjectPages/SessionSup
port

Some diagnostic questions for you to review:

Do you have the SimpleSessionHandler deployed at both the server and
client?  
Do you see the session id flowing over the wire by using tcpmon?

/Chris



-Original Message-
From: Yan Lin [mailto:[EMAIL PROTECTED] 
Sent: Thursday, November 13, 2003 5:07 PM
To: [EMAIL PROTECTED]
Subject: RE: Chris, the example doesn't work, why?

Hi, Chris,

I tried to use the example you gave out and it didn't work.  I always
got NullPointerException
from line "Long oId = getSessionId(oCqServiceLocator);" because there is
no session id ever set.

Do you know what possible caused the problem?

Thanks!

Gloria


-
Here is the example you gave out:

void CallServices() {

// create the service locator object
CqServiceLocator oServiceLocator = new CqServiceLocator();

// this will globally set all client calls to maintain session state
// NOTE: SimpleSessionHandler must be present in the flows on both the
// client and server
oServiceLocator.setMaintainSession(true);

// CALL Service to Initialize Session ID !!!
oServiceLocator.getCq().callMethod();

// Grab the service session id
Long oId = getSessionId(oCqServiceLocator);

TpServiceLocator oTpServiceLocator = new TpServiceLocator();

// Link the ticketPurchase session to the concertQuery session !!
setSessionId(oTpServiceLocator,oId);

// call Tp methods
}

static public void setSessionId(Service oService, Long oId) {
   AxisEngine engine = oService.getEngine();
   engine.setOption(SimpleSessionHandler.SESSION_ID,oId);
}

static public Long getSessionId(Service oService) {

   AxisEngine engine = oService.getEngine();
   return (Long)engine.getOption(SimpleSessionHandler.SESSION_ID);
}





__
Do you Yahoo!?
Protect your identity with Yahoo! Mail AddressGuard
http://antispam.yahoo.com/whatsnewfree



RE: MessageContext doesn't work at client side?

2003-11-14 Thread chris
Gloria - At what step are you attempting to capture the message context?

MessageContext is *only* present and valid while the client is
processing the SOAP method call.  Until the call method is triggered by
ClientMain, a message context doesn't exist.  By the time control is
returned to ClientMain after calling a stub method, the message context
has disappeared.  After the SOAP response is processed, all relevant
context information is held in the Stub, Call, or Service object.

/Chris
http://cvs.apache.org/~haddadc



-Original Message-
From: Yan Lin [mailto:[EMAIL PROTECTED] 
Sent: Thursday, November 13, 2003 5:09 PM
To: [EMAIL PROTECTED]
Subject: MessageContext doesn't work at client side?

Hi,

I have created a service and successfully deployed.  At client side, I
created a ClientMain.java
which only contains a "main" method for the purpose of testing.  I tried
to use
"MessageContext.getCurrentContext()", but I always get
NullPointerException.  

Does MessageContext only exist with the service, but not accessible from
a client?

Thanks!

Gloria

__
Do you Yahoo!?
Protect your identity with Yahoo! Mail AddressGuard
http://antispam.yahoo.com/whatsnewfree



Method authorization

2003-11-14 Thread Pablo
Hi

Suppose my web service has some methods:

methodA
methodB
methodC
How can I do authorization by methods?

For instance:

methodA and methodB can be called just if the user is in an administrator role, 
methodC just for users with a manager role.

Is it possible to do so? Authorization by methods?

Thanks 

Pablo





RE: How to define document/literal service with multiple operatio ns

2003-11-14 Thread Thompson, Eugene

> Also, I'd like to keep my web services portable to different JAX-RPC 
> implementations, so I try to avoid Axis-specific features 
> (e.g., Message-style 
> services.)
> 

Just curious, but why? Are you constructing a service that you are planning
to sell or that will need to be installed in many different JAXRPC
implementations? Or have you (your company) not decided upon an
implementation yet? As I've said before, I'm new to webservices, but I am
under the impression that they are simply a deployment tool; an interface to
the "real" code. If that's the case, why not use whatever is specific to the
implementation if it makes it easier/better to deploy (and is, of course,
standard)? It's not going to change the functionality of the service.

Or (having an epiphany), is it that using implementation specific
functionality can have a negative affect on the implementors of the
service's clients? If that's the case, then I understand the reluctance. 

I'm sure interested in your (and anyone else's) thoughts on this.

Gene


CommonsHTTPSender

2003-11-14 Thread Kenneth.Aastrom

I was wonder how to configure Axis to use CommonsHTTPSender, and also how can I 
configure the HTTPClient from Axis? 

I need to do the following connection: Client --(http)--> Proxy --(https)--> WebService
The HTTPSender doesn't seem to support this, but the commons HTTP client seems to do.

wbr
Kenneth Aastrøm


implicit conversation from java wrapper type to simple type

2003-11-14 Thread Schlachter, Steffen (LDS)
Hello,

the problem we have detected is as follows:

In the WSDL a field is described as
 
which means that null is not allowed for that value. But 0 certainly is.

If somesome send a soap message with the value of this field set to null, i.e.
an empty element value  then Axis
implicitly transforms this to value 0 for this field (which is the standard java
initialization for a double).

My question now is: Wouldn't it be better if Axis throughs an exception instead?
I want to allow the value 0 but not null in my application.

Did anybody come across that problem? Any help is appreciated.

   Steffen


RE : CommonsHTTPSender

2003-11-14 Thread Olivier Lamy
Title: Message



in the 
client-config.wsdd :


your 
class extends org.apache.axis.transport.http.HTTPSender
see the 
example in the attached file.

  
  -Message d'origine-De : 
  [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
  Envoyé : vendredi 14 novembre 2003 13:54À : 
  [EMAIL PROTECTED]Objet : 
  CommonsHTTPSender
  I was wonder how to configure Axis to use CommonsHTTPSender, 
  and also how can I configure the HTTPClient from Axis? 
  I need to do the following connection: Client --(http)--> 
  Proxy --(https)--> WebService The HTTPSender   doesn't seem to support this, but the commons HTTP client seems to do. 
  
  wbr Kenneth Aastrøm 

This e-mail, any attachments and the information contained therein ("this message" ) are confidential and intended solely for the use of the addressee(s). If you have received this message in error please send it back to the sender and delete it. Unauthorized publication, use, dissemination or disclosure of this message, either in whole or in part is strictly prohibited.
** 
Ce message électronique et tous les fichiers joints ainsi que  les informations contenues dans ce message ( ci après "le message" ), sont confidentiels et destinés exclusivement à l'usage de la  personne à laquelle ils sont adressés. Si vous avez reçu ce message par erreur, merci  de le renvoyer à son émetteur et de le détruire. Toutes diffusion, publication, totale ou partielle ou divulgation sous quelque forme que se soit non expressément autorisées de ce message, sont interdites.




HTTPTransporter.java
Description: Binary data


Re: How to define document/literal service with multiple operatio ns

2003-11-14 Thread Anne Thomas Manes
According to the WS-I Basic Profile, a Doc/Literal service is required to 
have a unique wire signature for each operation. What that means is that 
the child element of the soap:Body must have a unique QName. This 
uniqueness should be sufficient information for dispatching purposes. The 
QName doesn't need to be the same as the operation name. It's simply a 
matter of mapping the Qname to a method, which you can do in the WSDD.

Anne

At 12:49 AM 11/14/2003, you wrote:
Keith Bohnenberger wrote:

It seems to me that the SOAP spec needs a SOAPOperation part that
loosely (more loosely than rpc with methods and parameters but tighter
than the "wrapper" element convention that is not defined anywhere). The
SOAPOperation section of the SOAP message would provide the operation to
be performed and the expected return "message".  The SOAP body would
simply have the document/literal data and would not have anything about
operations.
did you look on WS-Addressing?
http://www-106.ibm.com/developerworks/webservices/library/ws-add/
you described pretty well motivation for it.

best,

alek

In other words I want the loose coupling of document/literal with a more
defined way to realize the operation to be performed and the expected
return document/literal message.  The "wrapper" element way of handling
this is a convention that is not defined anywhere in the WSDL spec or
the SOAP spec. Its a programmer way of handling the problem not a
standard.
I guess one way to avoid all of this is to have one document/literal web
service per operation but I dont think anyone recommends that.
Keith

-Original Message-
From: Michael Woinoski [mailto:[EMAIL PROTECTED] Sent: 
Thursday, November 13, 2003 5:35 PM
To: [EMAIL PROTECTED]
Subject: Re: How to define document/literal service with multiple
operatio ns

Hi, Ranjith. What you are suggesting is basically an rpc-literal
operation. Several postings to this list have mentioned that rpc-literal 
is not
(yet) supported by all Web service implementations (even though it is
recommended in the WS-I Basic Profile), so I'd prefer to avoid 
rpc-literal for
interoperability.

That leaves using SOAPAction for routing document-literal operations. It
sounds like the HTTPActionHandler should do it but I haven't figured out 
how to

configure it.

Thanks,
Mike
PILLAI,RANJITH (HP-PaloAlto,ex1) wrote:



Hi Michael,

I hope you are using Message style service here.
I don't how to add this to axis client. But u can edit your SOAP
message


directly if you are using tcpmon. So in tcpmon add another

element(your


operation name)directly under soap body. For some reason axis client

is not


doing this(if you find please let me know too :)).

For eg: if you look into your tcpmon, you can see under soap body,

your


document is appended directly with out a wrapper element.




so edit it like this...






then resend tcpmon.

This way you can invoke any method in your webservice. Unfortunately I

don't


know to write an axis client for this.

Hope this helps(Not a complete answer, but partial).

Cheers,
Ranjith Pillai.


-Original Message-
From: Michael Woinoski [mailto:[EMAIL PROTECTED] Sent: 
Thursday, November 13, 2003 1:47 PM
To: Axis User mailing list
Subject: How to define document/literal service with multiple

operations


How can I define a document/literal service with multiple operations?
Because there's no wrapper element around the input message parts, Axis 
seems

to


have a problem invoking the correct service method.

If I add a value for SOAPAction in the service's binding, the client

stubs


set SOAPAction in the HTTP request correctly, but Axis doesn't use the
SOAPAction value. I found the Axis HTTPActionHandler class and tried 
adding it to

the
request flow in the service's deploy.wsdd but it didn't seem to make a




difference. Does Axis support this? If so, how do I configure it?

Thanks,
Mike





--
The best way to predict the future is to invent it - Alan Kay




Re: AW: Intermediary node

2003-11-14 Thread Anne Thomas Manes
Per the SOAP spec (SOAP 1.2 is clearer than SOAP 1.1), and intermediary is 
a full SOAP node, not a handler.

You can use WS-Addressing or WS-Routing to indicate the routing path in 
SOAP headers. WS-Addressing supercedes WS-Routing.

Anne

At 10:26 PM 11/13/2003, you wrote:
Hi Bob,

I would like to comment on the following line.

CLIENT ---> INTERMEDIARY ---> ENDPOINT

Are you talking about the "INTERMEDIARY" mentioned in the SOAP specification?

We (myself and my team mates) had a long discussion \ arguments on this
matter few months back. The question was
What is this "Intermediary"? Can we consider a handler as an intermediary?
Or should we call a SOAP node such as a SOAP engine ?
Our final conclusion was that a Intermediary should be a SOAP engine not a
soap handler. Of course we should not argu on mere words - but meaning of
the words.
>> Many clients will connect with different "payload weight", which
>> roughly determines the computational time for each request. The
I am not an ANN expert, but this sounds like a neural network :-), so if
you want a network (somethign like a neural network) , are you planning to
consider a handler as a node?
Of course reading through your mail I think you might have to use a
handler as a intermediatry to provide the required functionality, but the
problem is Axis engine controls handler chains (you can refer the
architecture guide). Some computations done at a specific handler cannot
control the flow of the message. So you will have a hard time configuring
a handler as a node in the network - especially if it is going to be more
than 2 layers.
If you are really keen about this, one option is you can write a your own
engine 
Regards,
Dimuthu.
>> My first goal would be just simply the intermediary to receive the
>> request, read the headers, make some database operations, make some
>> choices and if everything is ok, forward the request with new headers
>> to "real" web service (ENDPOINT) to do the job.


--
Lanka Software Foundation  http://www.opensource.lk
> Hi,
>   am a bit confused by some of your statements. Perhaps you can help me
> with
> that...
> Wolfgang
>
>
> Borut Bolcina [mailto:[EMAIL PROTECTED] wrote:
>>
>> Hi, again
>>
>> since I had no luck, nobody answered to my question posted a
>> month ago
>> (subject WebServices chaining), i'll try again.
>>
>>
>>
>> Can you please help me understand just how can one implement this
>> 'simple' scenario.
>>
>> CLIENT ---> INTERMEDIARY ---> ENDPOINT
>>
>> Many clients will connect with different "payload weight", which
>> roughly determines the computational time for each request. The
>> ultimate goal would be that intermediary node acts as a queue and a
>> load balancer for a number of endpoints.
>
> so you want to implement something like a communications bus, right?
> load balancer ok, but why should it act as a queue?
>
>>
>> My first goal would be just simply the intermediary to receive the
>> request, read the headers, make some database operations, make some
>> choices and if everything is ok, forward the request with new headers
>> to "real" web service (ENDPOINT) to do the job. If successful, the
>> intermediary again does some processing and returns the
>> result back to
>> the originator of the request - the CLIENT.
>>
>> Now, what happens if in the middle of this process another request
>> comes in? The intermediary should be clever enough to know that the
>> ENDPOINT is busy and act accordingly.
>
> what do you mean with "busy"? why should the endpoint only receive one
> request at a time?
>
>> I read about synchronous and
>> asynchronous requests and other theoretical stuff which I
>> could find on
>> the internet, but I am still confused. If asynchronous services would
>> be a way to go, then I guess the clients will have to be smarter and
>> the choice of technology narrower. If request-response
>> mechanism could
>> do the job, it would be easier, wouldn't be?
>
> yes...
>
>>
>> I am aware (it is even a demand) that I will have to
>> implement several
>> ENDPOINTs which would work as a farm of the same services to increase
>> the efficiency and the reliability of service will be one of
>> the major
>> questions, so I don't want to start implementing a bad architecture
>> which will limit my options later on.
>
> Architectures using webserver/servlet engine or application server allow
> to process more than one request at a time. Clustering is only necessary
> for failover/load balancing mechanisms.
>
>>
>> I have written a client which I installed on several machines
>> to stress
>> test the ENDPOINT web service. I bombarded the poor workhorse from
>> those machines with requests coming apart just under a second from
>> each. Each response lasted roughly from 15 to 45 seconds, but
>> they all
>> got processed successfully. Now, I would be a happy person if I could
>> be able to squeeze this intermediary in-between to do some logging. I
>> guess HTTP nature of request-response loop handled the 

Re: WebSphere reading materials

2003-11-14 Thread Anne Thomas Manes
Leo,

Thanks for the link. Can you provide some more pointers to Web 
services-specific information? Most of these links were focused on 
traditional J2EE stuff, and not on Web services.

Thanks,
Anne
At 03:34 AM 11/14/2003, you wrote:

To all interested,

Below is a link to all sorts of IBM websphere documentation reachable from 
this one link, for those interested.
As i see a lot of technical websphere questions pop up lately on this 
list, and this is not really the list to ask those:

http://www-106.ibm.com/developerworks/websphere/library/techarticles/0305_issw/recommendedreading.html 

Greetz,

Leo de Blaauw





De informatie verzonden met dit e-mail bericht is uitsluitend bestemd voor de
geadresseerde. Openbaarmaking, vermenigvuldiging, verspreiding en/of 
verstrekking
van deze informatie aan derden is niet toegestaan.  Indien dit bericht 
niet voor u
bestemd is, verzoeken wij u vriendelijk dit bericht te retourneren zodat 
dit in de
toekomst kan worden voorkomen. Ondanks het feit dat IZA Nederland al haar 
e-mail
berichten controleert op virussen, staat zij niet in voor het virusvrij 
verzenden c.q.
ontvangen van deze berichten.




Re: Method authorization

2003-11-14 Thread Anne Thomas Manes
You need to write a handler to do this.

At 07:27 AM 11/14/2003, you wrote:
Hi

Suppose my web service has some methods:

methodA
methodB
methodC
How can I do authorization by methods?

For instance:

methodA and methodB can be called just if the user is in an administrator 
role, methodC just for users with a manager role.

Is it possible to do so? Authorization by methods?

Thanks
Pablo





RE: How to define document/literal service with multiple operatio ns

2003-11-14 Thread Keith Bohnenberger
Is this different than the "wrapper" element convention.  It sounds like
the same thing.

-Original Message-
From: Anne Thomas Manes [mailto:[EMAIL PROTECTED] 
Sent: Friday, November 14, 2003 8:42 AM
To: [EMAIL PROTECTED]
Subject: Re: How to define document/literal service with multiple
operatio ns

According to the WS-I Basic Profile, a Doc/Literal service is required
to 
have a unique wire signature for each operation. What that means is that

the child element of the soap:Body must have a unique QName. This 
uniqueness should be sufficient information for dispatching purposes.
The 
QName doesn't need to be the same as the operation name. It's simply a 
matter of mapping the Qname to a method, which you can do in the WSDD.

Anne

At 12:49 AM 11/14/2003, you wrote:
>Keith Bohnenberger wrote:
>
>>It seems to me that the SOAP spec needs a SOAPOperation part that
>>loosely (more loosely than rpc with methods and parameters but tighter
>>than the "wrapper" element convention that is not defined anywhere).
The
>>SOAPOperation section of the SOAP message would provide the operation
to
>>be performed and the expected return "message".  The SOAP body would
>>simply have the document/literal data and would not have anything
about
>>operations.
>>
>did you look on WS-Addressing?
>http://www-106.ibm.com/developerworks/webservices/library/ws-add/
>
>you described pretty well motivation for it.
>
>best,
>
>alek
>
>>In other words I want the loose coupling of document/literal with a
more
>>defined way to realize the operation to be performed and the expected
>>return document/literal message.  The "wrapper" element way of
handling
>>this is a convention that is not defined anywhere in the WSDL spec or
>>the SOAP spec. Its a programmer way of handling the problem not a
>>standard.
>>
>>I guess one way to avoid all of this is to have one document/literal
web
>>service per operation but I dont think anyone recommends that.
>>
>>
>>Keith
>>
>>-Original Message-
>>From: Michael Woinoski [mailto:[EMAIL PROTECTED]
Sent: 
>>Thursday, November 13, 2003 5:35 PM
>>To: [EMAIL PROTECTED]
>>Subject: Re: How to define document/literal service with multiple
>>operatio ns
>>
>>Hi, Ranjith. What you are suggesting is basically an rpc-literal
>>operation. Several postings to this list have mentioned that
rpc-literal 
>>is not
>>(yet) supported by all Web service implementations (even though it is
>>recommended in the WS-I Basic Profile), so I'd prefer to avoid 
>>rpc-literal for
>>interoperability.
>>
>>That leaves using SOAPAction for routing document-literal operations.
It
>>sounds like the HTTPActionHandler should do it but I haven't figured
out 
>>how to
>>
>>configure it.
>>
>>Thanks,
>>Mike
>>
>>PILLAI,RANJITH (HP-PaloAlto,ex1) wrote:
>>
>>
>>
>>>Hi Michael,
>>>
>>>I hope you are using Message style service here.
>>>I don't how to add this to axis client. But u can edit your SOAP
>>>
>>message
>>
>>
>>>directly if you are using tcpmon. So in tcpmon add another
>>>
>>element(your
>>
>>
>>>operation name)directly under soap body. For some reason axis client
>>>
>>is not
>>
>>
>>>doing this(if you find please let me know too :)).
>>>
>>>For eg: if you look into your tcpmon, you can see under soap body,
>>>
>>your
>>
>>
>>>document is appended directly with out a wrapper element.
>>>
>>>
>>> 
>>>
>>>
>>>so edit it like this...
>>>
>>>
>>> 
>>> 
>>> 
>>>
>>>
>>>then resend tcpmon.
>>>
>>>This way you can invoke any method in your webservice. Unfortunately
I
>>>
>>don't
>>
>>
>>>know to write an axis client for this.
>>>
>>>Hope this helps(Not a complete answer, but partial).
>>>
>>>Cheers,
>>>Ranjith Pillai.
>>>
>>>
>>>
>>>-Original Message-
>>>From: Michael Woinoski [mailto:[EMAIL PROTECTED]
Sent: 
>>>Thursday, November 13, 2003 1:47 PM
>>>To: Axis User mailing list
>>>Subject: How to define document/literal service with multiple
>>>
>>operations
>>
>>
>>>How can I define a document/literal service with multiple operations?
>>>Because there's no wrapper element around the input message parts,
Axis 
>>>seems
>>>
>>to
>>
>>
>>>have a problem invoking the correct service method.
>>>
>>>If I add a value for SOAPAction in the service's binding, the client
>>>
>>stubs
>>
>>
>>>set SOAPAction in the HTTP request correctly, but Axis doesn't use
the
>>>SOAPAction value. I found the Axis HTTPActionHandler class and tried 
>>>adding it to
>>>
>>the
>>>request flow in the service's deploy.wsdd but it didn't seem to make
a
>>>
>>
>>
>>
>>>difference. Does Axis support this? If so, how do I configure it?
>>>
>>>Thanks,
>>>Mike
>>>
>>>
>>
>>
>
>
>--
>The best way to predict the future is to invent it - Alan Kay
>





RE: How to define document/literal service with multiple operations

2003-11-14 Thread Keith Bohnenberger
One of the reasons standards exist is to avoid vendor lock-in.
It is a good architecture goal to avoid vendor lock-in and write code to
the specs/standard apis.

Lets say you didnt know about axis and you implemented a bunch of web
services in Java using some other SAAJ/JAX-RPC implementation.  A friend
makes you aware of axis and tells you its the best Java based SOAP
engine out there.  Wouldnt it be nice to be able to switch to Axis
without a huge amount of work (ie without changing a lot of your code)
because both the original SOAP engine you were using and Axis implement
the SAAJ/JAX-RPC specs.

It doesnt seem to me that web services are quite at this level of
maturity but that should be the goal.



-Original Message-
From: Thompson, Eugene [mailto:[EMAIL PROTECTED] 
Sent: Friday, November 14, 2003 7:38 AM
To: '[EMAIL PROTECTED]'
Subject: RE: How to define document/literal service with multiple
operations


> Also, I'd like to keep my web services portable to different JAX-RPC 
> implementations, so I try to avoid Axis-specific features 
> (e.g., Message-style 
> services.)
> 

Just curious, but why? Are you constructing a service that you are
planning
to sell or that will need to be installed in many different JAXRPC
implementations? Or have you (your company) not decided upon an
implementation yet? As I've said before, I'm new to webservices, but I
am
under the impression that they are simply a deployment tool; an
interface to
the "real" code. If that's the case, why not use whatever is specific to
the
implementation if it makes it easier/better to deploy (and is, of
course,
standard)? It's not going to change the functionality of the service.

Or (having an epiphany), is it that using implementation specific
functionality can have a negative affect on the implementors of the
service's clients? If that's the case, then I understand the reluctance.


I'm sure interested in your (and anyone else's) thoughts on this.

Gene



RE: Method authorization

2003-11-14 Thread chris
Axis doesn't contain anything out of the box to enforce method level
security.

You would need to look at vendor products or roll your own solution.

/Chris


-Original Message-
From: Pablo [mailto:[EMAIL PROTECTED] 
Sent: Friday, November 14, 2003 7:27 AM
To: [EMAIL PROTECTED]
Subject: Method authorization 

Hi

Suppose my web service has some methods:

methodA
methodB
methodC

How can I do authorization by methods?

For instance:

methodA and methodB can be called just if the user is in an
administrator role, 
methodC just for users with a manager role.

Is it possible to do so? Authorization by methods?

Thanks 

Pablo






RE: How to define document/literal service with multiple operations

2003-11-14 Thread Davanum Srinivas
Keith,

You can write a JAX-RPC/Axis handlers to enforce this. For example, you can extend
SimpleAuthorizationHandler. Patches are welcome as well
(http://nagoya.apache.org/wiki/apachewiki.cgi?AxisProjectPages/SubmitPatches).

-- dims

--- Keith Bohnenberger <[EMAIL PROTECTED]> wrote:
> One of the reasons standards exist is to avoid vendor lock-in.
> It is a good architecture goal to avoid vendor lock-in and write code to
> the specs/standard apis.
> 
> Lets say you didnt know about axis and you implemented a bunch of web
> services in Java using some other SAAJ/JAX-RPC implementation.  A friend
> makes you aware of axis and tells you its the best Java based SOAP
> engine out there.  Wouldnt it be nice to be able to switch to Axis
> without a huge amount of work (ie without changing a lot of your code)
> because both the original SOAP engine you were using and Axis implement
> the SAAJ/JAX-RPC specs.
> 
> It doesnt seem to me that web services are quite at this level of
> maturity but that should be the goal.
> 
> 
> 
> -Original Message-
> From: Thompson, Eugene [mailto:[EMAIL PROTECTED] 
> Sent: Friday, November 14, 2003 7:38 AM
> To: '[EMAIL PROTECTED]'
> Subject: RE: How to define document/literal service with multiple
> operations
> 
> 
> > Also, I'd like to keep my web services portable to different JAX-RPC 
> > implementations, so I try to avoid Axis-specific features 
> > (e.g., Message-style 
> > services.)
> > 
> 
> Just curious, but why? Are you constructing a service that you are
> planning
> to sell or that will need to be installed in many different JAXRPC
> implementations? Or have you (your company) not decided upon an
> implementation yet? As I've said before, I'm new to webservices, but I
> am
> under the impression that they are simply a deployment tool; an
> interface to
> the "real" code. If that's the case, why not use whatever is specific to
> the
> implementation if it makes it easier/better to deploy (and is, of
> course,
> standard)? It's not going to change the functionality of the service.
> 
> Or (having an epiphany), is it that using implementation specific
> functionality can have a negative affect on the implementors of the
> service's clients? If that's the case, then I understand the reluctance.
> 
> 
> I'm sure interested in your (and anyone else's) thoughts on this.
> 
> Gene
> 


=
Davanum Srinivas - http://webservices.apache.org/~dims/


RE: How to define document/literal service with multiple operatio ns

2003-11-14 Thread Thompson, Eugene

 
> One of the reasons standards exist is to avoid vendor lock-in.
> It is a good architecture goal to avoid vendor lock-in and 
> write code to
> the specs/standard apis.

Absolutely. For the implementation, I would agree whole-heartedly. I guess
where I'm missing the point is where you say ...

> Wouldnt it be nice to be able to switch to Axis
> without a huge amount of work (ie without changing a lot of your code)
> because both the original SOAP engine you were using and Axis 
> implement
> the SAAJ/JAX-RPC specs.

Is it that Axis provides a communication style (message) that isn't part of
the specs? If that's the case, then that is definitely an issue. I think my
confusion is being compounded by an article I just read
(http://www-106.ibm.com/developerworks/library/ws-castor/) that very
strongly promotes this exact style. In fact, I was going to recommend it as
a solution to the original question, but after reading the follow-up posts,
I saw that that solution was being specifically discarded. Is it a
non-standard solution? Are there interop issues with it? Or is it just the
"axis" way of doing things and if one where to change to another
implementation, they would need to rebuild based on that implementation's
preferred methodology? Can you tell I like to ask questions? heh

> It doesnt seem to me that web services are quite at this level of
> maturity but that should be the goal.

And a good one at that!

Thanks,
Gene


Re: WebSphere reading materials

2003-11-14 Thread Leo de Blaauw
Well,

I am sure there will be documents related to that, but since we use axis
with websphere/wsad 5
i havent found many of interest. I just posted the links I did because a lot
of questions are popping
up here later for help on how to deploy this and that on websphere etc..

greetz
Leo

- Original Message -
From: "Anne Thomas Manes" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Friday, November 14, 2003 2:27 PM
Subject: Re: WebSphere reading materials


> Leo,
>
> Thanks for the link. Can you provide some more pointers to Web
> services-specific information? Most of these links were focused on
> traditional J2EE stuff, and not on Web services.
>
> Thanks,
> Anne
>
> At 03:34 AM 11/14/2003, you wrote:
>
> >To all interested,
> >
> >Below is a link to all sorts of IBM websphere documentation reachable
from
> >this one link, for those interested.
> >As i see a lot of technical websphere questions pop up lately on this
> >list, and this is not really the list to ask those:
> >
>
>http://www-106.ibm.com/developerworks/websphere
/library/techarticles/0305_issw/recommendedreading.html
> >
> >
> >Greetz,
> >
> >Leo de Blaauw
> >
> >
> >
> >
> >
> >De informatie verzonden met dit e-mail bericht is uitsluitend bestemd
voor de
> >geadresseerde. Openbaarmaking, vermenigvuldiging, verspreiding en/of
> >verstrekking
> >van deze informatie aan derden is niet toegestaan.  Indien dit bericht
> >niet voor u
> >bestemd is, verzoeken wij u vriendelijk dit bericht te retourneren zodat
> >dit in de
> >toekomst kan worden voorkomen. Ondanks het feit dat IZA Nederland al haar
> >e-mail
> >berichten controleert op virussen, staat zij niet in voor het virusvrij
> >verzenden c.q.
> >ontvangen van deze berichten.
>
>



RE: How to define document/literal service with multiple operations

2003-11-14 Thread Keith Bohnenberger
The article that you mention uses the axis "wrapped" programming style
with the Axis CVS version which supports castor serialization.  They are
using document/literal web services.  Keep in mind that "message",
"document", and "wrapped" are program styles not communication styles or
WSLD styles.  Although its a bit confusing because there is a "document"
wsdl style and an axis "document" programming style.  These two styles
do not refer to the same thing.  These programming styles are different
ways the Axis soap engine handles the SOAP message once it is received.

I think the key thing is to understand the SAAJ/JAX-RPC specs well
enough so you can evaluate a tool like Axis and another tool (perhaps
suns JWSDP reference implementation) and see how each tool implements
the specs and what kind of issues you would have if you changed your web
service implementation from one tool to the other tool.

IMHO this is a good architecture goal but with the current state of Java
web services this should just be something that you know about and keep
in mind but dont get to hung up about at the moment due to the level of
maturity of the specs and the lack of implementations of those specs at
this time.   

We picked Axis as our soap engine and we do not plan on switching to
another one but we also keep the SAAJ/JAX-RPC specs in mind so we know
what to look at if we would evaluate another soap engine.



-Original Message-
From: Thompson, Eugene [mailto:[EMAIL PROTECTED] 
Sent: Friday, November 14, 2003 9:30 AM
To: '[EMAIL PROTECTED]'
Subject: RE: How to define document/literal service with multiple
operations


 
> One of the reasons standards exist is to avoid vendor lock-in.
> It is a good architecture goal to avoid vendor lock-in and 
> write code to
> the specs/standard apis.

Absolutely. For the implementation, I would agree whole-heartedly. I
guess
where I'm missing the point is where you say ...

> Wouldnt it be nice to be able to switch to Axis
> without a huge amount of work (ie without changing a lot of your code)
> because both the original SOAP engine you were using and Axis 
> implement
> the SAAJ/JAX-RPC specs.

Is it that Axis provides a communication style (message) that isn't part
of
the specs? If that's the case, then that is definitely an issue. I think
my
confusion is being compounded by an article I just read
(http://www-106.ibm.com/developerworks/library/ws-castor/) that very
strongly promotes this exact style. In fact, I was going to recommend it
as
a solution to the original question, but after reading the follow-up
posts,
I saw that that solution was being specifically discarded. Is it a
non-standard solution? Are there interop issues with it? Or is it just
the
"axis" way of doing things and if one where to change to another
implementation, they would need to rebuild based on that
implementation's
preferred methodology? Can you tell I like to ask questions? heh

> It doesnt seem to me that web services are quite at this level of
> maturity but that should be the goal.

And a good one at that!

Thanks,
Gene



Re: DOCUMENT LITERAL and Java2WSDL error - Attempted to write schema for bad QName (no namespace) : fault

2003-11-14 Thread Michael Woinoski
Stuart,
I ran into the same problem yesterday. It seemed to happen when a service 
implement method declares that it throws a service-specific exception (e.g., 
public void process(PO po) throws PoException). A Java2WSDL bug, apparently.

Workaround (simple, but not practical): remove service-specific exceptions

Workaround (practical, but not pretty):
  Run Java2WSDL with --style RPC --use ENCODED
  Manually modify WSDL to change "style" to document and "use" to literal
  Run WSDL2Java --server-side
  Compare signatures of your service methods with signatures of generated
service methods. Modify your methods to match if needed.
  Deploy with generated deploy.wsdd
Good luck,
Mike

Stuart Barlow wrote:
I have just come across the bad QName error when trying to create
a DOCUMENT/LITERAL service using AXIS and Java2WSDL...
Attempted to write schema for bad QName (no namespace) : fault

Is there a workaround?
I could not see a mention of any in the mailing list.
Or will I need to wait for a 1.2 release?

Ta,
Stuart.


--

Mike Woinoski  Pine Needle Consulting
mailto:[EMAIL PROTECTED]


Re: How to define document/literal service with multiple operations

2003-11-14 Thread Michael Woinoski
Hi, Dimuthu.

No it's not less sleep, or more coffee, or anything else :-).

Correct me if I am wrong, but I am under the impression that axis does not
use SOAP action at all when invoking a service.
If someone wants to use doc\literal service to have multiple operations he
has to explicity map the operation and the doc\literal element in the wsdd
-at least that's what I heard.
Try writing something like this in the wsdd for each operation.


  
Can you please let me know if this works ?
Well, this doesn't do what I want to do (although I'm glad you mentioned it; now 
I understand the purpose of the  element). But it still uses the SOAP 
Body's child element to map to a Java method. If I have two operations that take 
a PurchaseOrder as an input message, this technique will not be able to 
determine which operation to invoke.

However, as Anne mentioned, WS-I Basic Profile prohibits what I want to do:

  5.6.7 Wire Signatures for Operations

  An endpoint that supports multiple operations must unambiguously
  identify the operation being invoked based on the input message that it
  receives. This is only possible if all the operations specified in the
  wsdl:binding associated with an endpoint have a unique wire signature.
  R2710 The operations in a wsdl:binding in a DESCRIPTION MUST result in
  wire signatures that are different from one another.
  The Profile defines the "wire signature" of an operation in a
  wsdl:binding to be the fully qualified name of the child element of the
  soap:Body of the SOAP input message it describes.
So basically we shouldn't define document/literal services that have two 
operations with the same input message. It certainly makes sense for 
interoperability. It just means clients need to add an extra element to the 
message.

I wonder how .NET handles it?

Mike

--

Mike Woinoski  Pine Needle Consulting
mailto:[EMAIL PROTECTED]


RE: Chris, the example doesn't work, why?

2003-11-14 Thread Yan Lin
Chris,

Thanks for your reply!

I found out why it went wrong: I did set up a client-config.wsdd and dropped it in the 
same
directory as my client jar.  Apparently, this is not enough.  I need to explicitly 
load the file
as EngineConfig and set it in my service.  After that, my code works!

This also solved my another problem: "Multiple stateful sessions don't work".

Thanks again!

BTW, I sent email to subscribe to the mail list, but I never got reply.  How can I get 
subscribed?

Gloria



__
Do you Yahoo!?
Protect your identity with Yahoo! Mail AddressGuard
http://antispam.yahoo.com/whatsnewfree


Client Stub reuse?

2003-11-14 Thread Greg Hess








Hi All,

 

Is it ok for a client to reuse a stub for many invocations
and in what scope(request[single thread], session,
application)?

 

If any, what are the implications?

 

My client/server both send and receive attachments by hand, be it that the service does not expose DataHandlers
in the method signatures, the text documentation defines the attachments use. I
have found that if my client does not read the attachments the attachments
remain with the stub and if I use the stub to make another call the attachment
is sent back up to the server. Now if I read the attachments they seem to be
cleared from the stub and the attachment is not sent back to the server for
further calls. I am assuming that the stub method getAttachments() also clears
the attachments as the clearAttachments() does?

 

So if I am to use this manual method of sending/receiving
attachments and am reusing the client stub after calling a method that returns
an attachment I must clear the attachment before I make any further calls.

 

I would greatly appreciate any clarification of any
implications regarding this use. I am a bit confused as to how the stub is
handling attachments any why it doesn’t deal with each calls attachments independently
especially in regards to requests and responses.

 

Also, where does the attachment go on the client.
On the server I can see the attachments dir get populated in order for the
server to read but on the client I don’t see where it goes?

 

Thanks for your time,

 


 
  
  Greg
   Hess
  
 
 
  
  Software
  Engineer
  
 
 
  
  Wrapped
  Apps Corporation
  
 
 
  
  275 Michael Cowpland Dr.
  
 
 
  
  Suite
   201
  
 
 
  
  Ottawa, Ontario
  
 
 
  
  K2M
  2G2
  
 
 
  
  Tel:
  (613) 591 -7552
  
 
 
  
  Fax:
  (613) 591-0523
  
 
 
  
  1 (877) 388-6742
  
 
 
  
  www.wrappedapps.com
  
 
 
  
  
  
 


 






<>

Re: How to define document/literal service with multiple operatio ns

2003-11-14 Thread Michael Woinoski
Keith Bohnenberger wrote:

Is this different than the "wrapper" element convention.  It sounds like
the same thing.
I agree. We might not call it a wrapper, but it serves the same purpose. So if I 
have two operations named process and validate, and they both take a 
PurchaseOrder input message, my wsdl looks like this:

  
   
...
   
   

 

   
   

 

   
   
   
  

  
 
  
  
 
  
My operations now have a unique wire signature.

My service methods are a bit clumsy:

  public PurchaseOrder process(ProcessPo ppo) {
PurchaseOrder po = ppo.getPurchaseOrder();
...
  }
And my clients need to create the wrapper object in addition to the 
PurchaseOrder. But that seems like the price we pay for interoperability. It's 
certainly better than depending on an ad-hoc mechanism like SOAPAction.

Anne, thanks for the reference to the Basic Profile.

Regards,
Mike


-Original Message-
From: Anne Thomas Manes [mailto:[EMAIL PROTECTED] 
Sent: Friday, November 14, 2003 8:42 AM
To: [EMAIL PROTECTED]
Subject: Re: How to define document/literal service with multiple
operatio ns

According to the WS-I Basic Profile, a Doc/Literal service is required
to 
have a unique wire signature for each operation. What that means is that

the child element of the soap:Body must have a unique QName. This 
uniqueness should be sufficient information for dispatching purposes.
The 
QName doesn't need to be the same as the operation name. It's simply a 
matter of mapping the Qname to a method, which you can do in the WSDD.

Anne

At 12:49 AM 11/14/2003, you wrote:

Keith Bohnenberger wrote:


It seems to me that the SOAP spec needs a SOAPOperation part that
loosely (more loosely than rpc with methods and parameters but tighter
than the "wrapper" element convention that is not defined anywhere).
The

SOAPOperation section of the SOAP message would provide the operation
to

be performed and the expected return "message".  The SOAP body would
simply have the document/literal data and would not have anything
about

operations.

did you look on WS-Addressing?
http://www-106.ibm.com/developerworks/webservices/library/ws-add/
you described pretty well motivation for it.

best,

alek


In other words I want the loose coupling of document/literal with a
more

defined way to realize the operation to be performed and the expected
return document/literal message.  The "wrapper" element way of
handling

this is a convention that is not defined anywhere in the WSDL spec or
the SOAP spec. Its a programmer way of handling the problem not a
standard.
I guess one way to avoid all of this is to have one document/literal
web

service per operation but I dont think anyone recommends that.

Keith

-Original Message-
From: Michael Woinoski [mailto:[EMAIL PROTECTED]
Sent: 

Thursday, November 13, 2003 5:35 PM
To: [EMAIL PROTECTED]
Subject: Re: How to define document/literal service with multiple
operatio ns
Hi, Ranjith. What you are suggesting is basically an rpc-literal
operation. Several postings to this list have mentioned that
rpc-literal 

is not
(yet) supported by all Web service implementations (even though it is
recommended in the WS-I Basic Profile), so I'd prefer to avoid 
rpc-literal for
interoperability.

That leaves using SOAPAction for routing document-literal operations.
It

sounds like the HTTPActionHandler should do it but I haven't figured
out 

how to

configure it.

Thanks,
Mike
PILLAI,RANJITH (HP-PaloAlto,ex1) wrote:




Hi Michael,

I hope you are using Message style service here.
I don't how to add this to axis client. But u can edit your SOAP
message



directly if you are using tcpmon. So in tcpmon add another

element(your



operation name)directly under soap body. For some reason axis client

is not



doing this(if you find please let me know too :)).

For eg: if you look into your tcpmon, you can see under soap body,

your



document is appended directly with out a wrapper element.


   

so edit it like this...


   
   
   

then resend tcpmon.

This way you can invoke any method in your webservice. Unfortunately
I

don't



know to write an axis client for this.

Hope this helps(Not a complete answer, but partial).

Cheers,
Ranjith Pillai.


-Original Message-
From: Michael Woinoski [mailto:[EMAIL PROTECTED]
Sent: 

Thursday, November 13, 2003 1:47 PM
To: Axis User mailing list
Subject: How to define document/literal service with multiple
operations



How can I define a document/literal service with multiple operations?
Because there's no wrapper element around the input message parts,
Axis 

seems

to



have a problem invoking the correct service method.

If I add a value for SOAPAction in the service's binding, the client

stubs



set SOAPAction in the HTTP request correctly, but Axis doesn't use
the

SOAPAction value. I found the Axis HTTPActionHandler class and tried 
adding it to

the

request flow in the service's deploy.wsd

Re: CommonsHTTPSender

2003-11-14 Thread Dan Christopherson
in client-config.wsdd

 

You may have to rebuild axis with CommonsHTTPClient in order for CommonsHTTPSender to be built - I 
had to, anyway.

Make sure you use the lates release of CommonsHTTPClient

-danch

[EMAIL PROTECTED] wrote:
I was wonder how to configure Axis to use CommonsHTTPSender, and also how can I configure the HTTPClient from Axis? 

I need to do the following connection: Client --(http)--> Proxy --(https)--> WebService
The HTTPSender doesn't seem to support this, but the commons HTTP client seems to do.
wbr
Kenneth Aastrøm




wsdl2java returns invalid characters in wsdd and .java

2003-11-14 Thread asif . jiwani
Title: wsdl2java returns invalid characters in wsdd and .java





I observed that whenever I do wsdl2java, the wsdd and .java files generated have invalid '>' character at different places. Am I the only one experiencing it? I didn't see any discussion around this issue. Is there a better way to get rid of that character than to remove it manually?

Thanks


AJ





RE: WebSphere reading materials

2003-11-14 Thread Koller, Shmuel
http://www-106.ibm.com/developerworks/webservices/wsdk/
http://www-106.ibm.com/developerworks/webservices

-Original Message-
From: Leo de Blaauw [mailto:[EMAIL PROTECTED]
Sent: Fri, November 14, 2003 4:43 PM
To: [EMAIL PROTECTED]
Subject: Re: WebSphere reading materials


Well,

I am sure there will be documents related to that, but since we use axis
with websphere/wsad 5
i havent found many of interest. I just posted the links I did because a lot
of questions are popping
up here later for help on how to deploy this and that on websphere etc..

greetz
Leo

- Original Message -
From: "Anne Thomas Manes" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Friday, November 14, 2003 2:27 PM
Subject: Re: WebSphere reading materials


> Leo,
>
> Thanks for the link. Can you provide some more pointers to Web
> services-specific information? Most of these links were focused on
> traditional J2EE stuff, and not on Web services.
>
> Thanks,
> Anne
>
> At 03:34 AM 11/14/2003, you wrote:
>
> >To all interested,
> >
> >Below is a link to all sorts of IBM websphere documentation reachable
from
> >this one link, for those interested.
> >As i see a lot of technical websphere questions pop up lately on this
> >list, and this is not really the list to ask those:
> >
>
>http://www-106.ibm.com/developerworks/websphere
/library/techarticles/0305_issw/recommendedreading.html
> >
> >
> >Greetz,
> >
> >Leo de Blaauw
> >
> >
> >
> >
> >
> >De informatie verzonden met dit e-mail bericht is uitsluitend bestemd
voor de
> >geadresseerde. Openbaarmaking, vermenigvuldiging, verspreiding en/of
> >verstrekking
> >van deze informatie aan derden is niet toegestaan.  Indien dit bericht
> >niet voor u
> >bestemd is, verzoeken wij u vriendelijk dit bericht te retourneren zodat
> >dit in de
> >toekomst kan worden voorkomen. Ondanks het feit dat IZA Nederland al haar
> >e-mail
> >berichten controleert op virussen, staat zij niet in voor het virusvrij
> >verzenden c.q.
> >ontvangen van deze berichten.
>
>


Re: How to define document/literal service with multiple operatio ns

2003-11-14 Thread Michael Woinoski
Thompson, Eugene wrote:

Is it that Axis provides a communication style (message) that isn't part of
the specs? 
Yes, the Axis Message style is not part of JAX-RPC. However, there is a lot of 
confusion about exactly what "message-style" means.

The WSDL spec defines "document-style" operations as opposed to "rpc-style" 
operations. SOAP messages for rpc-style operations contain an extra wrapper 
element around the actual message data, and the tag name of that wrapper is the 
same as the operation that is being invoked. Document-style operations do not 
have that wrapper element. As far as WSDL is concerned, that's the only 
difference between the two.

The WSDL spec also defines "request-response" operations and "one-way" 
operations. request-response operations are like procedure calls, where the 
client blocks until it receives a response. One-way operations are like sending 
email; the client doesn't block. Here's where the confusion comes in:

  1. Document-style operations can be either request-response or one-way.
 Many people seem to think that document-style implies one-way only.
 Axis handles request-response document-style operations very nicely:
 Your service implementation method can define JavaBean parameters and
 does not need to muck around with XML explicitly. You can generate WSDL
 from your Java source using Java2WSDL, or you can start with a customized
 WSDL file and generate service templates using WSDL2Java --server-side.
 Your clients use WSDL2Java to generate stubs that use JavaBean parameters.
  2. When you implement a document-style service with Axis, you have 3
 different options for writing the Java implementation. You choose
 the option you want by specifying the "style" attribute on the
  element in your deploy.wsdd file when you deploy the service.
 style may be "document", "wrapped", or "message" (covered very nicely
 in the Axis User's Guide). But no matter
 which service style you choose, the actual SOAP message is still exactly
 the same. What changes is the signature of the Java method that you
 write to implement the service, and the way Axis deserializes the SOAP
 message before calling your service method.
  3. (I'm not 100% sure about the following. Axis experts?) To define a
 document-style request-response operation, use
 "" in deploy.wsdd. "RPC" here really
 means "request-response operations", not "rpc-style operations the extra
 wrapper element". I believe the only time you
 specify provider="java:MSG" is when you define 
The JAX-RPC spec does not discuss anything like the Axis concept of service 
style. The coding style discussed in the JAX-RPC spec is the Axis "document" 
style, where the service implementation and clients work with JavaBean arguments 
and return types. If you want to write Java code for document-style services 
that will work with any JAX-RPC implementation (Axis, JWSDP, etc.), use  in deploy.wsdd. (Note that deploy.wsdd is Axis-specific.)

"Message-style" is a term that is sometimes used as a synonym for 
"document-style", and is sometimes used to mean "a one-way document-style 
operation implemented with a message provider like JAXM or JMS". However, when 
Axis users say "message-style", they usually mean "document-style with ". Welcome to Babel.

The Castor article you referenced discusses document-style services, and that 
seems to be the way the industry is heading. So, for interoperability between 
different platforms (Java, .NET, Perl), use document-style operations. For 
portability between Java implementations (Axis, JWSDP), write your service 
implementation using JavaBeans (not Element[], Document, etc.) and use "".

Hope this helps,
Mike


If that's the case, then that is definitely an issue. I think my
confusion is being compounded by an article I just read
(http://www-106.ibm.com/developerworks/library/ws-castor/) that very
strongly promotes this exact style. In fact, I was going to recommend it as
a solution to the original question, but after reading the follow-up posts,
I saw that that solution was being specifically discarded. Is it a
non-standard solution? Are there interop issues with it? Or is it just the
"axis" way of doing things and if one where to change to another
implementation, they would need to rebuild based on that implementation's
preferred methodology? Can you tell I like to ask questions? heh

It doesnt seem to me that web services are quite at this level of
maturity but that should be the goal.


And a good one at that!

Thanks,
Gene
--

Mike Woinoski  Pine Needle Consulting
mailto:[EMAIL PROTECTED]


Re: wsdl2java returns invalid characters in wsdd and .java

2003-11-14 Thread Dan Christopherson
wsdl2java doesn't seem to work very well with more complex schema definitions (like xCIL from 
oasis.org). You might also want to take a look at recent threads regarding doc/literal - people are 
working on making this work better, but there is a way to go yet.

This isn't necesarily a weakness specific to axis, mind, as I've also seen similiar problems from 
commercial vendor tools once you start using these really complex schema sets.

-danch

[EMAIL PROTECTED] wrote:
I observed that whenever I do wsdl2java, the wsdd and .java files 
generated have invalid '>' character at different places. Am I the only 
one experiencing it? I didn't see any discussion around this issue. Is 
there a better way to get rid of that character than to remove it manually?

Thanks

AJ





Re: Deploying Providers - one issue

2003-11-14 Thread Mark
Hi
I wrote my provider. But when I list the deployed services thru the axis admin page I get this error
Exception - org.apache.axis.ConfigurationException: org.apache.axis.deployment.wsdd.WSDDException: No provider type matches QName '{http://xml.apache.org/axis/wsdd/providers/java}MyProviderClass
org.apache.axis.deployment.wsdd.WSDDException: No provider type matches QName '{http://xml.apache.org/axis/wsdd/providers/java}MyProviderClass'
I know I am missing something. Any help would be appreciated..
 
-Original Message-From: Thomas Bayer [mailto:[EMAIL PROTECTED]Sent: Wednesday, November 12, 2003 9:43 PMTo: [EMAIL PROTECTED]Subject: AW: Deploying Providers ?Hi,Axis supports also plugable Providers. New Providers could be used with aservice without changing the Axis source code.Below is a step by step example. In the Provider the service's parameterscan be read:msgContext.getService().getOption("param1");Security Information can be passed via ThreadLocal or the MessageContext tothe service Implementation. We have subclassed EJBProvider for Example andpass the HTTPAuthentication to the EJB Container.ThomasExample Plugable Provider=You can create your own provider with the following steps:1.) Write the provider class.
 The example is a simple EchoProvider thatextends BasicProvider.public class EchoProvider extends BasicProvider {public void initServiceDesc(SOAPService service,MessageContext msgContext)throws AxisFault {}public void invoke(MessageContext msgContext)throws AxisFault {Message requestMessage = msgContext.getRequestMessage();SOAPEnvelope requestEnvelope =requestMessage.getSOAPEnvelope();Message responseMessage = new Message(requestEnvelope);msgContext.setResponseMessage(responseMessage);}}2.) Write a Factory for the provider.public class WSDDEchoProvider extends WSDDProvider {public Handler newProviderInstance(WSDDService arg0,EngineConfiguration arg1)throws Exception {return new EchoProvider();}public String getName() {return "ECHO";}}3.) Tell Axis about the new Provider. Axis is looking for a file in thedirectory structure
 META-INF/service in the classpath with the file nameorg.apache.axis.deployment.wsdd.ProviderMETA-INF/services/org.apache.axis.deployment.wsdd.ProviderIn the file you can specify factories for plugable providers:de.oio.providers.WSDDEchoProvider
Do you Yahoo!?
Protect your identity with Yahoo! Mail AddressGuard

Re: wsdl2java returns invalid characters in wsdd and .java

2003-11-14 Thread Davanum Srinivas
Danch,

We'd REALLY appreciate a bug report with a complete WSDL. So that we can fix the 
problem with
complex schema definitions. (http://ws.apache.org/axis/bugs.html)

Thanks,
dims

--- Dan Christopherson <[EMAIL PROTECTED]> wrote:
> wsdl2java doesn't seem to work very well with more complex schema definitions (like 
> xCIL from 
> oasis.org). You might also want to take a look at recent threads regarding 
> doc/literal - people
> are 
> working on making this work better, but there is a way to go yet.
> 
> This isn't necesarily a weakness specific to axis, mind, as I've also seen similiar 
> problems
> from 
> commercial vendor tools once you start using these really complex schema sets.
> 
> -danch
> 
> [EMAIL PROTECTED] wrote:
> > I observed that whenever I do wsdl2java, the wsdd and .java files 
> > generated have invalid '>' character at different places. Am I the only 
> > one experiencing it? I didn't see any discussion around this issue. Is 
> > there a better way to get rid of that character than to remove it manually?
> > 
> > Thanks
> > 
> > AJ
> > 
> 
> 


=
Davanum Srinivas - http://webservices.apache.org/~dims/


WSDD and explicit headers

2003-11-14 Thread Christians Izquierdo
Hi,

I've been trying to find a way to specified explicit headers in a WSDD.
I want these headers to appear in the WSDL document axis generates for
my web service.

Is there any way to do this? Can someone point me to an example?

Thank you very much,
Chris


Re: wsdl2java returns invalid characters in wsdd and .java

2003-11-14 Thread Dan Christopherson
I'll work something up this weekend.

Davanum Srinivas wrote:
Danch,

We'd REALLY appreciate a bug report with a complete WSDL. So that we can fix the 
problem with
complex schema definitions. (http://ws.apache.org/axis/bugs.html)
Thanks,
dims
--- Dan Christopherson <[EMAIL PROTECTED]> wrote:

wsdl2java doesn't seem to work very well with more complex schema definitions (like xCIL from 
oasis.org). You might also want to take a look at recent threads regarding doc/literal - people
are 
working on making this work better, but there is a way to go yet.

This isn't necesarily a weakness specific to axis, mind, as I've also seen similiar problems
from 
commercial vendor tools once you start using these really complex schema sets.

-danch

[EMAIL PROTECTED] wrote:

I observed that whenever I do wsdl2java, the wsdd and .java files 
generated have invalid '>' character at different places. Am I the only 
one experiencing it? I didn't see any discussion around this issue. Is 
there a better way to get rid of that character than to remove it manually?

Thanks

AJ





=
Davanum Srinivas - http://webservices.apache.org/~dims/




RE: How to define document/literal service with multiple operatio ns

2003-11-14 Thread PILLAI,RANJITH (HP-PaloAlto,ex1)
Hi Anne, Dimuthu,

 I would like to try this. 
Do you know what method do I need to call at Axis Client to set this QName?.


My method name is updateProfile and in my server-config.wsdd, I have this
entry for my service

http://xml.apache.org/xml-soap"; >
http://xml.apache.org/xml-soap"/>


This is my API call at client side.

call.setOperationName(new javax.xml.namespace.QName("urn:eprofile",
"updateProfile"));

Unfortunately its not dispatching to updateProfile service method. What I am
doing wrong here?

Any help will be really appreciated.

Thanks,
Ranjith Pillai.

-Original Message-
From: Dimuthu Leelarathne [mailto:[EMAIL PROTECTED] 
Sent: Thursday, November 13, 2003 10:52 PM
To: [EMAIL PROTECTED]
Subject: Re: How to define document/literal service with multiple operations

Hi Mike,

No it's not less sleep, or more coffee, or anything else :-).

Correct me if I am wrong, but I am under the impression that axis does not
use SOAP action at all when invoking a service.

If someone wants to use doc\literal service to have multiple operations he
has to explicity map the operation and the doc\literal element in the wsdd
-at least that's what I heard.

Try writing something like this in the wsdd for each operation.


  

Can you please let me know if this works ?

Regards,
Dimuthu.
-- 
Lanka Software Foundation  http://www.opensource.lk

> The plot thickens...after poking around in the source, I found where the
>  AxisServlet stores the SOAPAction value:
>
> org.apache.axis.transport.http.AxisServlet.java, line 835:
>
>  soapAction = getSoapAction(req);
>
>  if (soapAction != null) {
>  msgContext.setUseSOAPAction(true);
>  msgContext.setSOAPActionURI(soapAction);
>  }
>
> Here, the MessageContext stores the SOAPAction value, but I don't see it
> being  used for message delivery anywhere. The service operation name is
> set in  org.apache.axis.providers.java.RPCProvider.java, line 194:
>
>  operation = msgContext.getOperation();
>
>  if (operation == null) {
>  QName qname = new QName(body.getNamespaceURI(),
>  body.getName());
>  operation = serviceDesc.getOperationByElementQName(qname);
>  }
>
> But RPCProvider doesn't call MessageContext.useSOAPAction, and
> MessageContext.getOperation doesn't check SOAPAction either. It seems
> like that  last bit should be something like this:
>
>  if (msgContext.useSOAPAction()) {
> String soapAction = msgContext.getSOAPActionURI();
> QName qname = new QName(...) // parse soapAction into URI
> and name operation =
> serviceDesc.getOperationByElementQName(qname);
>  }
>  else {
>operation = msgContext.getOperation();
>
>if (operation == null) {
>QName qname = new QName(body.getNamespaceURI(),
>body.getName());
>operation =
> serviceDesc.getOperationByElementQName(qname);
>}
>  }
>
> Bug, or works-as-designed? I'll take a closer look next week when I have
> more  time (or less sleep, or more coffee, or...)
>
> Mike
>
>
> Michael Woinoski wrote:
>
>> Keith,
>>
>>> I agree with all of your points.
>>>
>>> I dont understand web services well enough yet so this question may
>>> be a lame one.
>>>
>>> The SOAPAction is in the WSDL.  How does that translate to the actual
>>> SOAP message that is being sent over the wire?
>>
>>
>> The soapAction attribute value in the WSDL is the value the client
>> should assign to the SOAPAction HTTP header in the request message. So
>>  it's set by the client, not the service.
>>
>>> My uneducated guess is
>>> that it doesn't. My guess is that the server is suppose to know the
>>> given "soap action"  when it receives a given "message".  Is that
>>> correct or is there something more specific in the SOAP message that
>>> tells the "soap action"?
>>> I also thought I read somewhere that soapAction in the WSDL was not
>>> suppose to be used.
>>
>>
>> I don't remember seeing that SOAPAction shouldn't be used. Basic
>> Profile  says "SOAPAction is purely a hint to processors. All vital
>> information  regarding the intent of a message is carried in
>> soap:Envelope." Now  exactly what "intent" means, I don't know. Does
>> "intent" include  "ultimate destination of message"? Beats me.
>>
>>> I may be wrong about that. At this point I have too
>>> much reading in my small brain to keep it all straight.
>>
>>
>> Ah yes, that bursting skull sensation...
>>
>> Mike
>>
>>>
>>> Keith
>>>
>>> -Original Message-
>>> From: Michael Woinoski [mailto:[EMAIL PROTECTED]
>>> Sent: Thursday, November 13, 2003 5:48 PM
>>> To: [EMAIL PROTECTED]
>>> Subject: Re: How to define document/literal service with multiple
>>> operations
>>>
>>> Keith,
>>>
>>>
 With document/literal web services you need to define your schema in
 such a way that the "wrapper" element or root element will lead you

Re: WSDD and explicit headers

2003-11-14 Thread Michael Woinoski
Chris,

I've been trying to find a way to specified explicit headers in a WSDD.
I want these headers to appear in the WSDL document axis generates for
my web service.
Is there any way to do this? Can someone point me to an example?
I haven't found a Java2WSDL option for this, so what I do is manually add the 
 element to the :


 


 
Then I generate new service files with WSDL2Java --server-side and use the 
generated JavaBean classes for parameters and return values. The generated 
classes retrieve data from the header elements as needed. Clients still generate 
stubs with WSDL2Java, and the header values are treated as ordinary parameters.

If you find a Java2WSDL option for this, please post it.

Regards,
Mike
Thank you very much,
Chris
--

Mike Woinoski  Pine Needle Consulting
mailto:[EMAIL PROTECTED]


AW: Deploying Providers - one issue

2003-11-14 Thread Thomas Bayer



Hallo 
Mark,
 
Axis 
can't load the plugable Provider. Probably Axis can't find the file containing 
the name of the factory. Make sure there is a file named 
org.apache.axis.deployment.wsdd.Provider in a META-INF/services directory 
reachable from the classpath. A good place for the file is 
WEB-INF/classes/META-INF/services . The filenames are 
casesensitive.
Or the 
method getName in your WSDDMyProviderClass returns a wrong name for the 
provider.
 
Thomas
 
 

  -Ursprüngliche Nachricht-Von: Mark 
  [mailto:[EMAIL PROTECTED]Gesendet: Freitag, 14. November 2003 
  20:05An: [EMAIL PROTECTED]Betreff: Re: Deploying 
  Providers - one issue
  Hi
  I wrote my provider. But when I list the deployed services thru the axis 
  admin page I get this error
  Exception - org.apache.axis.ConfigurationException: 
  org.apache.axis.deployment.wsdd.WSDDException: No provider type matches QName 
  '{http://xml.apache.org/axis/wsdd/providers/java}MyProviderClass
  org.apache.axis.deployment.wsdd.WSDDException: No provider type matches 
  QName 
  '{http://xml.apache.org/axis/wsdd/providers/java}MyProviderClass'
  I know I am missing something. Any help would be appreciated..
   
  -Original Message-From: Thomas Bayer 
  [mailto:[EMAIL PROTECTED]Sent: Wednesday, November 12, 2003 9:43 PMTo: 
  [EMAIL PROTECTED]Subject: AW: Deploying Providers 
  ?Hi,Axis supports also plugable Providers. New Providers 
  could be used with aservice without changing the Axis source 
  code.Below is a step by step 
  example. In the Provider the service's parameterscan be 
  read:msgContext.getService().getOption("param1");Security 
  Information can be passed via ThreadLocal or the MessageContext tothe 
  service Implementation. We have subclassed EJBProvider for Example andpass 
  the HTTPAuthentication to the EJB 
  Container.ThomasExample Plugable 
  Provider=You can create your own provider 
  with the following steps:1.) Write the provider class. The example is 
  a simple EchoProvider thatextends BasicProvider.public class 
  EchoProvider extends BasicProvider {public void 
  initServiceDesc(SOAPService service,MessageContext 
  msgContext)throws AxisFault {}public void 
  invoke(MessageContext msgContext)throws AxisFault {Message 
  requestMessage = msgContext.getRequestMessage();SOAPEnvelope 
  requestEnvelope =requestMessage.getSOAPEnvelope();Message 
  responseMessage = new 
  Message(requestEnvelope);msgContext.setResponseMessage(responseMessage);}}2.) 
  Write a Factory for the provider.public class WSDDEchoProvider extends 
  WSDDProvider {public Handler newProviderInstance(WSDDService 
  arg0,EngineConfiguration arg1)throws Exception {return new 
  EchoProvider();}public String getName() {return 
  "ECHO";}}3.) Tell Axis about the new Provider. Axis is looking 
  for a file in thedirectory structure META-INF/service in the classpath 
  with the file 
  nameorg.apache.axis.deployment.wsdd.ProviderMETA-INF/services/org.apache.axis.deployment.wsdd.ProviderIn 
  the file you can specify factories for plugable 
  providers:de.oio.providers.WSDDEchoProvider
  
  
  Do you Yahoo!?Protect 
  your identity with Yahoo! Mail AddressGuard


AW: WSDD and explicit headers

2003-11-14 Thread Thomas Bayer
Hi,

Axis can handle in and out parameters as header elements. The service method
is implemented as usual but the parameters are passed in the header. Try:


  


  


Let me know, if Axis generates proper WSDL for the service.

Thomas


> -Ursprungliche Nachricht-
> Von: Christians Izquierdo [mailto:[EMAIL PROTECTED]
> Gesendet: Freitag, 14. November 2003 19:26
> An: [EMAIL PROTECTED]
> Betreff: WSDD and explicit headers
>
>
> Hi,
>
> I've been trying to find a way to specified explicit headers in a WSDD.
> I want these headers to appear in the WSDL document axis generates for
> my web service.
>
> Is there any way to do this? Can someone point me to an example?
>
> Thank you very much,
>   Chris
>



RE: Method authorization

2003-11-14 Thread Chandrasegaram Jeyakumaran
hi,
I think you can do it by using the simple authorization handler provided
by axis. (I think it is sufficient for your problems, it deals with wsdd
and checks the authorization detail for a particular method, some time you
may need to change the code a bit).
Check it out...:)


Regards,
Jeyakumaran


> Axis doesn't contain anything out of the box to enforce method level
> security.
>
> You would need to look at vendor products or roll your own solution.
>
> /Chris
>
>
> -Original Message-
> From: Pablo [mailto:[EMAIL PROTECTED]
> Sent: Friday, November 14, 2003 7:27 AM
> To: [EMAIL PROTECTED]
> Subject: Method authorization
>
> Hi
>
> Suppose my web service has some methods:
>
> methodA
> methodB
> methodC
>
> How can I do authorization by methods?
>
> For instance:
>
> methodA and methodB can be called just if the user is in an
> administrator role,
> methodC just for users with a manager role.
>
> Is it possible to do so? Authorization by methods?
>
> Thanks
>
> Pablo


Lanka Software Foundation
Promoting opensource in Srilanka