Mike,

 If you expect the SOAP response to conform to the
schema specified in WSDL you should choose your
service to be DOC/Literal. From your mail, looks like
you have chosen RPC/Encoded. Keep in mind that AXIS
1.1 Doc/Literal support is somewhat limited and you
would have to put in a bunch of workarounds and
conform to Axis way of doing DOC/Literal for it to
interoperate seamlessly with different clients (e.g.
.NET)

   Sanjay
 


--- Mike Klein <[EMAIL PROTECTED]> wrote:
> I have created a Quotations web service, which when
> passed some 
> parameters (or no parameters) returns a Quotation
> type (consisting of 
> quote, author, subject, and source).
> 
> I've had a simple version running for a while with
> clients in 
> php/perl/python/jsp, where call to url would return
> simple quote string. 
> It works fine.
> 
> Except now I need to return a complex type. This
> worked by adding a 
> beanMapping to my .wsdd file for service.
> 
> However...the format of the returned soap message
> seems a little too 
> verbose. I was expecting a simple xml document-like
> type being returned 
> and what I get in my soap response is much larger
> than this...it even 
> broke it out into a separate multiRef element inside
> the envelope body.
> 
> When I check other samples of returned soap
> messages...they seem 
> cleaner/tighter/smaller.
> 
> I'm not really sure how I can tie in the Quotation
> xmlSchema type I 
> created into the soap response. I think this is why
> the response is so 
> bloated.
> 
> Could someone give me a pointer about how to clean
> this up? Does my 
> .wsdd file need some changes? To reference my
> xmlSchema type?
> 
> 
> JavaClasses
> ========
> QuotationService.class...interface for GetQuotation
> impl class
> GetQuotation.class.........service implementation
> class
> Quotation.class...............bean w/getters/setters
> representing an 
> actual Quotation
> Quotation.dtd.................XMLSchema type
> representing an actual 
> Quotation (mirrors Java Bean)
> 
> QuotationService WSDD
> =================
> <deployment name="quotationService" 
> xmlns="http://xml.apache.org/axis/wsdd/"; 
>
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java";>
>     <service name="urn:QuotationService"
> provider="java:RPC">
>         <parameter name="className"
> value="GetQuotation"/>
>         <parameter name="allowedMethods"
> value="getQuotation 
> getQuotationByAuthor getQuotationBySubject
> getQuotationBySource 
> getQuotationByClause"/>
>         <beanMapping
> qname="QuotationService:Quotation" 
> xmlns:QuotationService="urn:BeanService" 
> languageSpecificType="java:Quotation"/>
>     </service>
> </deployment>
> 
> Returned SOAP Message
> ==================
> <?xml version="1.0" encoding="UTF-8"?>
> <soapenv:Envelope 
>
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
> 
> xmlns:xsd="http://www.w3.org/1999/XMLSchema"; 
>
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance";>
>  <soapenv:Body>
>   <ns1:getQuotationResponse 
>
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
> 
> xmlns:ns1="urn:QuotationService">
>    <ns1:getQuotationReturn href="#id0"/>
>   </ns1:getQuotationResponse>
>   <multiRef id="id0" soapenc:root="0" 
>
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
> 
> xsi:type="ns2:Quotation" 
>
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/";
> 
>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> 
> xmlns:ns2="urn:BeanService">
>    <author xsi:type="ns3:string" 
>
xmlns:ns3="http://www.w3.org/2001/XMLSchema";>Benjamin
> Franklin</author>
>    <quote xsi:type="ns4:string" 
>
xmlns:ns4="http://www.w3.org/2001/XMLSchema";>Experience
> keeps a dear 
> school, yet fools will learn in no other.</quote>
>    <source xsi:type="ns5:string" 
> xmlns:ns5="http://www.w3.org/2001/XMLSchema";>Poor
> Richard&apos;s 
> Almanack, 1743</source>
>    <subject xsi:type="ns6:string" 
>
xmlns:ns6="http://www.w3.org/2001/XMLSchema";>education</subject>
>   </multiRef>
>  </soapenv:Body>
> </soapenv:Envelope>
> 


__________________________________
Do you Yahoo!?
The New Yahoo! Shopping - with improved product search
http://shopping.yahoo.com

Reply via email to