Thanks Keith.

Yes. This does enable me to generate a stub that looks for optimized binary
content.
Regards,
Sathish C
On Wed, Feb 11, 2009 at 4:51 AM, keith chapman <[email protected]>wrote:

> Hi,
>
> The problem us that your WSDL specifies the type as xs:any. When sending
> out binary data (as Mtom or as Base64) the type of the element should be
> type="xs:base64Binary". The stub will take care of it if the attachment is
> Mtom or Base64.
>
> Thanks,
> Keith.
>
> On Wed, Feb 11, 2009 at 12:18 AM, Sathish C <[email protected]> wrote:
>
>> Martin,
>>
>> That is a good hint. I require Binary optimization and so i am having this
>> parameter value set to 'true'.
>>
>> Now I tried disabling MTOM, so the content is embedded within the
>> <ns:myresult> element (I had to modify generated WSDL to specify
>> <ns:return> element to contain <ns:myresult>) and not binary optimized so
>> that there is no <xop:include> element created. The below issue on <"*
>> com.ctc.wstx.exc.WstxParsingException*: Expected a text token, got
>> START_ELEMENT"> DOES NOT occur anymore. I made three observations as
>> below and their respective queries:
>>
>> 1) When I return a binary optimized content as OMText, i am having to
>> introduce an OMElement to contain it and hence the element <myresult/> in
>> the below excerpt of response string. Stub finds this element instead of
>> text and throws the error  <"*com.ctc.wstx.exc.WstxParsingException*:
>> Expected a text token, got START_ELEMENT"> .
>> Is there a way to avoid this additional element and attach optimized
>> content directly?
>>
>>  <soapenv:Envelope> xmlns:soapenv="
>> http://www.w3.org/2003/05/soap-envelope";><soapenv:Body>
>> <ns:mtomSampleResponse> xmlns:ns="http://ws.apache.org/axis2";><ns:return>
>> <ns:myresult>
>> <xop:Include href="
>> cid:1.urn:uuid:[email protected]" xmlns:xop="
>> http://www.w3.org/2004/08/xop/include"; /></ns:myresult>
>> </ns:return></ns:mtomSampleResponse>
>> </soapenv:Body></soapenv:Envelope>
>> 2) As shown above, the binary optimized content is not set inline within
>> <myresult> element, but as attachment referred by <xop:include> element. The
>> stub again throws the error looking at <xop:include> element. The generated
>> stub looks for text token for element of type xs:any defined in WSDL. How
>> can I make the generated stub sensitive of <xop:include> element and look
>> through its reference instead of looking for text content?
>>
>> 3) When MTOM is disabled, stub is able to construct the OMElement from the
>> embedded text content. Is there a way to generate the stub being MTOM aware
>> and able to handle <xop:include> element?
>>
>> Any suggestions/insight on this would be very much appreciated.
>>
>> Regards,
>> Sathish C
>>
>>
>> On Tue, Feb 10, 2009 at 3:06 AM, Martin Gainty <[email protected]>wrote:
>>
>>> can you display the value of enableMtom in axis2.xml?
>>>
>>> <parameter name="enableMTOM" locked="false">true</parameter>
>>>
>>> assuming you are sending XML Binary Optimised Packages
>>>
>>> *http://ws.apache.org/axis2/0_94/mtom-guide.html*
>>> ?
>>> Martin
>>> ______________________________________________
>>> Disclaimer and confidentiality note
>>> Everything in this e-mail and any attachments relates to the official
>>> business of Sender. This transmission is of a confidential nature and Sender
>>> does not endorse distribution to any party other than intended recipient.
>>> Sender does not necessarily endorse content contained within this
>>> transmission.
>>>
>>>
>>>
>>>
>>> ------------------------------
>>> Date: Tue, 10 Feb 2009 07:32:11 +0530
>>> Subject: Re: Issue with Axis OMElement
>>> From: [email protected]
>>>
>>> To: [email protected]
>>>
>>> Its hard to say what went wrong where from this. The reason it happened
>>> is because of some malformed XML. That's all I can tell you looking at the
>>> stack trace.
>>>
>>> Thanks,
>>> Keith.
>>>
>>> On Mon, Feb 9, 2009 at 11:43 PM, Chandra suriya pandian, Sathish (GE
>>> Infra, Energy) <[email protected]> wrote:
>>>
>>>  Thanks Keith.
>>>
>>> I am able to get through that error by changing the type to xs:any.
>>> But now i am getting the following exception under the same scenario:
>>>
>>>
>>> Caused by:
>>> *com.ctc.wstx.exc.WstxParsingException*: Expected a text token, got
>>> START_ELEMENT.
>>>
>>> at [row,col {unknown-source}]: [1,208]
>>>
>>> at com.ctc.wstx.sr.StreamScanner.constructWfcException(*
>>> StreamScanner.java:605*)
>>>
>>> at com.ctc.wstx.sr.StreamScanner.throwParseError(*StreamScanner.java:461
>>> *)
>>>
>>> at com.ctc.wstx.sr.BasicStreamReader.getElementText(*
>>> BasicStreamReader.java:677*)
>>> at org.apache.axiom.om.impl.llom.OMStAXWrapper.getElementText(*
>>> OMStAXWrapper.java:899*)
>>>
>>> Any idea on the above problem.
>>>
>>> Regards,
>>> *Sathish Chandra***
>>>
>>>
>>>  ------------------------------
>>>  *From:* keith chapman [mailto:[email protected]]
>>> *Sent:* 09 February 2009 16:29
>>> *To:* [email protected]
>>> *Subject:* Re: Issue with Axis OMElement
>>>
>>>   Hi,
>>>
>>> This is due to a bug in Axis2. Ideally an OMElement should map to xs:any
>>> and not xs:anyType in the WSDL. Therefore the workaround I could suggest is
>>> this, Save the WSDL and edit it to use xs:any instead of xs:anyType.
>>>
>>> Thanks,
>>> Keith.
>>>
>>> On Mon, Feb 9, 2009 at 8:30 PM, Chandra suriya pandian, Sathish (GE
>>> Infra, Energy) <[email protected]> wrote:
>>>
>>> Hi,
>>>
>>> > I have WebService enabled a service method that returns OMElement. The
>>> > generated WSDL shows the element type as 'anyType'.
>>> >
>>> > I generated a stub from the WSDL and executed a client invoking the
>>> > WebService method through the stub.
>>> >
>>> > The HTTP trace shows the response stream returned by WebService is
>>> > correct.
>>> > But in the client I am getting the following error:
>>> >
>>> > org.apache.axis2.databinding.ADBException: Any type element type has
>>> > not been given
>>> >       at
>>> > org.apache.axis2.databinding.utils.ConverterUtil.getAnyTypeObject(Conv
>>> > erterUtil.java:1612)
>>> >
>>> > Exerpt from WSDL is:
>>> >
>>> > <xs:element name="mtomSampleResponse">
>>> > <xs:complexType><xs:sequence>
>>> > <xs:element minOccurs="0" name="return" nillable="true"
>>> > type="xs:anyType"/>
>>> > </xs:sequence></xs:complexType>
>>> > </xs:element>
>>> >
>>> > Exerpt from the response stream is:
>>> >
>>> > <?xml version='1.0' encoding='UTF-8'?>
>>> > <soapenv:Envelope
>>> > xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope";><soapenv:Body>
>>> > <ns:mtomSampleResponse
>>> > xmlns:ns="http://ws.apache.org/axis2";><ns:return>
>>> > <return><xop:Include
>>> > href="cid:1.urn:uuid:[email protected]"
>>> > xmlns:xop="http://www.w3.org/2004/08/xop/include"; /></return>
>>> > </ns:return></ns:mtomSampleResponse>
>>> > </soapenv:Body></soapenv:Envelope>
>>> >
>>> > Could you please kindly look into the same and let me know how I can
>>> > overcome the above problem.
>>> > Do I have to configure anything to map the response element of type
>>> > 'anyType' anywhere to construct 'OMElement' back.
>>> >
>>> I am using Axis 2-1.4.1.
>>>
>>>
>>> > Regards,
>>> > Sathish Chandra
>>> >
>>>
>>>
>>>
>>>
>>> --
>>> Keith Chapman
>>> Senior Software Engineer
>>> WSO2 Inc.
>>> Oxygenating the Web Service Platform.
>>> http://wso2.org/
>>>
>>> blog: http://www.keith-chapman.org
>>>
>>>
>>>
>>>
>>> --
>>> Keith Chapman
>>> Senior Software Engineer
>>> WSO2 Inc.
>>> Oxygenating the Web Service Platform.
>>> http://wso2.org/
>>>
>>> blog: http://www.keith-chapman.org
>>>
>>> ------------------------------
>>> Windows Liveā„¢: E-mail. Chat. Share. Get more ways to connect. Check it
>>> out.<http://windowslive.com/explore?ocid=TXT_TAGLM_WL_t2_allup_explore_022009>
>>>
>>
>>
>
>
> --
> Keith Chapman
> Senior Software Engineer
> WSO2 Inc.
> Oxygenating the Web Service Platform.
> http://wso2.org/
>
> blog: http://www.keith-chapman.org
>

Reply via email to