[vwnc] wsdl xsd:any

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

[vwnc] wsdl xsd:any

Guerrero, Axel
I am using the Web Services Wizard to parse a wsdl file and generate all
the needed objects for it.
When the wizard is off generating the classes, I get "Message not
understood: #isComplexTypeMarshaler"
If I debug it, I can trace the problem to

ComplexObjectMarshaler >> printObjectRelation: aTypeMarshaler on: stream
indentation: number

This method is trying to send isComplexTypeMarshaler to the argument
which is nil.
The argument is nil because of the following snippet of code:

                r isChoiceMarshaler
                                ifTrue: [r printArgsOn: stream
indentation: n]
                                ifFalse:
                                        [r printRelationArgsOn: stream
indentation: n.
This method -----> self printObjectRelation: r
typeMarshaler on: stream indentation: n ].
                        stream nextPutAll: ');' ].

The reference r is basically an instance of AnyRelationMarshaler which I
have traced to the following in the original WSDL file:


<s:complexType name="SchemaBaseType" abstract="true">
   <s:sequence>
      <s:any minOccurs="0" maxOccurs="unbounded" namespace="##other" />
   </s:sequence>
   <s:attribute name="SchemaVersion" type="s:int" use="required" />
   <s:anyAttribute />
</s:complexType>

<s:complexType name="DerivativeProcesPropertiesResponse">
   <s:complexContent mixed="false">
      <s:extension base="tns:SchemaBaseType">
         <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="AssetId"
type="s:long" />
            <s:element minOccurs="1" maxOccurs="1"
name="DerivativeTypeId" type="s:long" />
            <s:element minOccurs="1" maxOccurs="1"
name="ParentDerivativeId" type="s:long" />
            <s:element minOccurs="0" maxOccurs="1" name="Properties"
type="tns:ArrayOfProcessProperty" />
            <s:element minOccurs="0" maxOccurs="1" name="UserNote"
type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Description"
type="s:string" />
         </s:sequence>
      </s:extension>
   </s:complexContent>
</s:complexType>

Is there any way to get past this error and have the wizard complete the
generation of the classes?

Axel Guerrero
[hidden email]


_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [vwnc] wsdl xsd:any

Kogan, Tamara
Axel,

The schema type (name="SchemaBaseType") has <any > and <anyAttribute > which are not very well supported right now.
If you can send me the schema I'll try to come up with some fix.

Tamara Kogan
Smalltalk development,
Cincom Systems
 

> -----Original Message-----
> From: [hidden email]
> [mailto:[hidden email]] On Behalf Of Guerrero, Axel
> Sent: Monday, December 14, 2009 4:43 PM
> To: [hidden email]
> Subject: [vwnc] wsdl xsd:any
>
> I am using the Web Services Wizard to parse a wsdl file and
> generate all
> the needed objects for it.
> When the wizard is off generating the classes, I get "Message not
> understood: #isComplexTypeMarshaler"
> If I debug it, I can trace the problem to
>
> ComplexObjectMarshaler >> printObjectRelation: aTypeMarshaler
> on: stream
> indentation: number
>
> This method is trying to send isComplexTypeMarshaler to the argument
> which is nil.
> The argument is nil because of the following snippet of code:
>
> r isChoiceMarshaler
> ifTrue: [r printArgsOn: stream
> indentation: n]
> ifFalse:
> [r printRelationArgsOn: stream
> indentation: n.
> This method -----> self printObjectRelation: r
> typeMarshaler on: stream indentation: n ].
> stream nextPutAll: ');' ].
>
> The reference r is basically an instance of
> AnyRelationMarshaler which I
> have traced to the following in the original WSDL file:
>
>
> <s:complexType name="SchemaBaseType" abstract="true">
>    <s:sequence>
>       <s:any minOccurs="0" maxOccurs="unbounded"
> namespace="##other" />
>    </s:sequence>
>    <s:attribute name="SchemaVersion" type="s:int" use="required" />
>    <s:anyAttribute />
> </s:complexType>
>
> <s:complexType name="DerivativeProcesPropertiesResponse">
>    <s:complexContent mixed="false">
>       <s:extension base="tns:SchemaBaseType">
>          <s:sequence>
>             <s:element minOccurs="1" maxOccurs="1" name="AssetId"
> type="s:long" />
>             <s:element minOccurs="1" maxOccurs="1"
> name="DerivativeTypeId" type="s:long" />
>             <s:element minOccurs="1" maxOccurs="1"
> name="ParentDerivativeId" type="s:long" />
>             <s:element minOccurs="0" maxOccurs="1" name="Properties"
> type="tns:ArrayOfProcessProperty" />
>             <s:element minOccurs="0" maxOccurs="1" name="UserNote"
> type="s:string" />
>             <s:element minOccurs="0" maxOccurs="1" name="Description"
> type="s:string" />
>          </s:sequence>
>       </s:extension>
>    </s:complexContent>
> </s:complexType>
>
> Is there any way to get past this error and have the wizard
> complete the
> generation of the classes?
>
> Axel Guerrero
> [hidden email]
>
>
> _______________________________________________
> vwnc mailing list
> [hidden email]
> http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
>

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc