You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by "Kang, YongLiang" <yl...@telenav.cn> on 2009/11/18 11:39:11 UTC
use abstract in complextype
Hi guys,
I use axis2 v1.4
I claim a complex type as abstract in xsd and derived some subclass from
it. Then I use soapUi for testing.
In soapUI when I set the subtype and request, everything works fine.
However I found I can set the field as the 'abstract' type and do the
request.
I suppose to received some warning in soapUI. However it reaches my
axis2 server directly.
I use wsdl2java to generate code. I checked the generated code and found
this:
public static FieldBase parse(javax.xml.stream.XMLStreamReader
reader) throws java.lang.Exception{
FieldBase object =
null;
...
...
// handle attribute "id"
java.lang.String tempAttribId =
reader.getAttributeValue(null,"id");
if (tempAttribId!=null){
java.lang.String content = tempAttribId;
object.setId(
org.apache.axis2.databinding.utils.ConverterUtil.convertToLong(tempAttri
bId));
Seems the auto generated code declare a null object and set value for it
directly. No matter how soapUI works. I think it is a bug in axis2
code-gen part.
Please correct me if I am wrong about some parts.
soap with normal subtype: <field xsi:type="v101: fieldText" id="1" ...
soap with abstract subtype: <field id="1" ...
xsd sample:
<complexType name="fieldBase" abstract="true">
<complexContent>
<extension base="comm10:tExtensibleElement">
<sequence>
...
<complexType name="fieldText">
<complexContent>
<extension base="tns: fieldBase ">
...
Best wishes!
Peter Y.L.Kang
msn: peter_ylkang@hotmail.com
Software Engineer, Sever Dept.
Re: use abstract in complextype
Posted by Amila Suriarachchi <am...@gmail.com>.
Please create a jira with wsdl if you have this problem with Axis2 1.5.
thanks,
Amila.
On Wed, Nov 18, 2009 at 4:09 PM, Kang, YongLiang <yl...@telenav.cn> wrote:
> Hi guys,
>
>
> I use axis2 v1.4
>
> I claim a complex type as abstract in xsd and derived some subclass from
> it. Then I use soapUi for testing.
> In soapUI when I set the subtype and request, everything works fine.
> However I found I can set the field as the 'abstract' type and do the
> request.
> I suppose to received some warning in soapUI. However it reaches my
> axis2 server directly.
> I use wsdl2java to generate code. I checked the generated code and found
> this:
>
> public static FieldBase parse(javax.xml.stream.XMLStreamReader
> reader) throws java.lang.Exception{
> FieldBase object =
> null;
> ...
> ...
> // handle attribute "id"
> java.lang.String tempAttribId =
>
> reader.getAttributeValue(null,"id");
>
> if (tempAttribId!=null){
> java.lang.String content = tempAttribId;
>
> object.setId(
>
> org.apache.axis2.databinding.utils.ConverterUtil.convertToLong(tempAttri
> bId));
>
> Seems the auto generated code declare a null object and set value for it
> directly. No matter how soapUI works. I think it is a bug in axis2
> code-gen part.
> Please correct me if I am wrong about some parts.
>
> soap with normal subtype: <field xsi:type="v101: fieldText" id="1" ...
> soap with abstract subtype: <field id="1" ...
>
> xsd sample:
> <complexType name="fieldBase" abstract="true">
> <complexContent>
> <extension base="comm10:tExtensibleElement">
> <sequence>
> ...
> <complexType name="fieldText">
> <complexContent>
> <extension base="tns: fieldBase ">
> ...
>
> Best wishes!
>
> Peter Y.L.Kang
> msn: peter_ylkang@hotmail.com
> Software Engineer, Sever Dept.
>
>
--
Amila Suriarachchi
WSO2 Inc.
blog: http://amilachinthaka.blogspot.com/
Re: use abstract in complextype
Posted by "P.N." <pe...@gmx.de>.
Please, don't capture other people's threads. Create Your own, instead!
P.