Please have a look at some XMLSchema and WSDL tutorials.

Basically you should be able to write a wsdl file which correctly describe
your request and response formats.
After that you can generate the code with any databinding framework.

thanks,
Amila.


On Mon, Oct 13, 2008 at 7:47 AM, keith chapman <[EMAIL PROTECTED]>wrote:

> Hi,
>
> <message name="addRequest">
>   <part name="number1" type="xs:int"/>
>   <part name="number2" type="xs:int"/
> </message>
>
> <message name="addResponse">
>   <part name="result" type="xs:int"/>
> </message>
>
> <portType name="glossaryAdd">
>  <operation name="add">
>      <input message="addRequest"/>
>      <output message="addResponse"/>
>  </operation>
> </portType>
>
> Do not use the mechanism You've suggested (as above). If you do it this way
> it would be a RPC type binding and you will find it hard to describe the
> complex types, rather use a document approach as below,
>
> <message name="addRequest">
>   <part name="addRequest" type="ws:addRequestType"/>
> </message>
>
> <message name="addResponse">
>   <part name="addResponse" type="ws:addResponseType"/>
> </message>
>
> <portType name="glossaryAdd">
>  <operation name="add">
>      <input message="addRequest"/>
>      <output message="addResponse"/>
>  </operation>
> </portType>
>
> Now you could define addRequest and addResponse using XML schema. Take a
> look at this WSDL <http://mooshup.com/services/keith/RESTDemo?wsdl> [1]
> for such an example
>
> Thanks,
> Keith.
>
> [1] http://mooshup.com/services/keith/RESTDemo?wsdl
>
>
> On Fri, Oct 10, 2008 at 10:38 PM, Aegis1888 <[EMAIL PROTECTED]> wrote:
>
>>
>> Hi guys,
>>
>> My work has come to a bit of a stand still because I am trying to define a
>> complex data type that I cannot seem to describe in a wsdl. I'm new to web
>> services so I bear with me if this doesn't come out right.
>>
>> I'm using axis2 to build my web services, which adheres to the SOAP
>> specification. Now, I want my SOAP service to be as simple to use as
>> possible. If I understand correctly, SOAP is just transfer of xml data
>> between two services. Axis2 uses many different implementations to achieve
>> this transfer both on client and server side, e.g, ADB, XMLBeans, AXIOM.
>> The
>> last implementation, AXIOM, parses the XML directly. The other
>> implementations encapsulate the processing of this XML and this allows you
>> to create a web service without the need to directly parse the xml message
>> for data.
>>
>> I am trying to build a service with a simple request but a more
>> complicated
>> response. For example; I want to send the parameters; accountNumber, name.
>> And I want my service to response with the following parameters;
>> product1{name,price},product2{name,price}....In addition, I want to be
>> able
>> to send a response code so that every time I send a service call I am
>> giving
>> some indication as to whether or not the call was successful. For example
>> if
>> the call was successful than the response code is 0, if something went
>> wrong
>> the response code is 1. If I try to represent that using SOAP, I'm
>> assuming
>> the xml messages will look like this;
>>
>> request;
>>
>> <request>
>>   <customer>
>>     <accountNumber>S3</accountNumber>
>>     <name>Solid Snake</name>
>>   </cusomer>
>> </request>
>>
>>
>> response;
>>
>> <response>
>>   <responseCode>1</responseCode>
>>   <product1>
>>      <name>Ration</name>
>>      <price>1.00</price>
>>   </product1>
>>   <product2>
>>      <name>CardboardBox</name>
>>      <price>1.00</price>
>>   </product2>
>> </response>
>>
>>
>> Follow so far?
>>
>> I have created the service using AXIOM, by adding these nodes directly to
>> the SOAP body content. I have all also created a client to deal with this
>> service using AXIOM. The service has one method that accepts the SOAP
>> message and parses it to get the data and the client does something
>> similar.
>>
>> Now the problem I have is that I don't want my client to be dependent on
>> any
>> implementation. In other words I want the client to be able to use ADB or
>> XML Beans or whatever, regardless of whether or not I use AXIOM. So I
>> thought I would create a custom WSDL, with custom complex datatypes so
>> that
>> anyone generating code from the wsdl will be able send the correct
>> parameters. Confused? Okay lets look at a simple request-response;
>>
>>
>> <request>
>>   <number1>23</number1>
>>   <number2>24</number2>
>> </request>
>>
>>
>>
>> <response>
>>   <result>47</result>
>> </response>
>>
>>
>> This service will take two numbers as its argument and add them together.
>> Now i'm guessing here, but i think the wsdl will look something like this;
>>
>>
>> ...
>>
>> <message name="addRequest">
>>   <part name="number1" type="xs:int"/>
>>   <part name="number2" type="xs:int"/
>> </message>
>>
>> <message name="addResponse">
>>   <part name="result" type="xs:int"/>
>> </message>
>>
>> <portType name="glossaryAdd">
>>  <operation name="add">
>>      <input message="addRequest"/>
>>      <output message="addResponse"/>
>>  </operation>
>> </portType>
>>
>> ...
>>
>>
>> Given the above, assuming its all correct, my question is; how do I create
>> the wsdl for the more complex example above?
>> --
>> View this message in context:
>> http://www.nabble.com/Defining-Custom-WSDL-tp19922365p19922365.html
>> Sent from the Axis - User mailing list archive at Nabble.com.
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>
>
> --
> Keith Chapman
> Senior Software Engineer
> WSO2 Inc.
> Oxygenating the Web Service Platform.
> http://wso2.org/
>
> blog: http://www.keith-chapman.org
>



-- 
Amila Suriarachchi
WSO2 Inc.
blog: http://amilachinthaka.blogspot.com/

Reply via email to