Second -- Axis2 does not currently support the "wrapped" convention -- i.e., constructing a wrapper element for your method parameters (the element name being the same as the operation name) and automatically unwrapping that element for the application. Therefroe your application must do the unwrapping itself.
If you use java2wsdl, Axis2 will generate in input message element that has the same name as the operation, which is defined as a sequence of your input parameters, and an output message element called <operation-name>Response. If you don't like this mnamign convention, you can hand-craft your own WSDL and generate your Java code from it.
Anne
On 5/8/06, [EMAIL PROTECTED] <[EMAIL PROTECTED]
> wrote:
I have a question about axis2. I was in the process of evaluating axis 1.3 for a project and I noticed that axis2 was released. Axis2 has some very attractive features, but I have one large question I need answered.
Assume this very simple object structure.
public class Customer
{
private String name;
private int id;
public Customer( String name, int id )
{
setName( name );
setId( id );
}
public int getId() { return id; }
public void setId( int id ) { this.id = id; }
public String getName() { return name; }
public void setName( String name ) { this.name = name; }
}
public class CustomerManager
{
Customer getCustomer( int id )
{
return new Customer( "default", id );
}
}
So basically I have a customer that has a name and an id and I have a dummy manager class that will simulate accessing some data store of customers. What I want to do is have a web service that exposes the CustomerManager.getCustomer( int ) method. The idea being that the web service client could use the service to get a customer object based on its "id".
The end goal would be that the client would have some class that has a method called getCustomer which takes and returns a customer object. While looking at axis2 I can't seem to do this. I did manage to create the WSDL using the wsdl generation utility for the above example. However when I try to generate the client I get a class that has a method that looks something like this.
GetCustomerResponse getCustomer( GetCustomer )
This is not very user friendly. Is this a symptom of the automatic WSDL generation or is this the only way to produce a client in Axis2. Note that I don't necessarily mean that the return object called "Customer" has to be the same object as listed about. It can be a newly generated class that has the same basic bean style getters and setters. I would really like to offer the consumer of the web service and API that includes a Customer class with nice getters and setters and a "manager" class that takes an int as an input and produces a customer as an output.
I could do this with Axis1.3. Is this functionality not possible in Axis2. Do I have to manually wrap the generated web services client with classes to conform to the API I want (this would defeat the purpose of WSDL and also require to create a distribution for multiple platforms, negating the advantage of web services in the first place). Any help or ideas would be greatly appreciated. Thanks.
Michael MacFadden
Tomax Corp - http://www.tomax.com
[EMAIL PROTECTED]
The views, opinions, and judgments expressed in this message are solely those of the author. The message contents have not been reviewed or approved by Tomax Corporation .
