Hi,
Thanks for the quick reply. If I remember correctly putting
nillable=true and minOccurs=0 together results in some strange
behaviour in Xfire. Instead of generating Strings you get
JAXBElement<String> or something or is this fixed in the current
release?
It seems to be. Tested it with 1.2.5 and it now generates a string,
tnx:). Sadly I can't use that release due to a bug causing a
StackOverFlowError in one of my other services (see my previous mail).
I'll file a jira issue for that.
Well, I've found a way to get rid of the StackOverFlowError but Xfire
still generates a JAXBElement<String> instead of String when
minoccurs="0" is combined with nillable="true". Any ideas why this
happens and how to prevent it?
IVo
Thanks,
Ivo
Regards,
Ivo van Dongen
Daniel Brake wrote:
Hi there,
You could add nillable="true" to your userId element. The generated
payload would then match the contract.
Dan
------------------------------------------------------------------------
*From:* Ivo van Dongen [mailto:[EMAIL PROTECTED]
*Sent:* 26 April 2007 14:03
*To:* [email protected]
*Subject:* [xfire-user] Xfire generates invalid messages
(xsi:nil="true")
Hi,
We use Xfire on our server and client side, but we ran into a
problem after turning validation on. We have an operation witch
takes the folloing element as a payload:
<xs:element name="getUserProfileRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="userId" type="xs:string"
minOccurs="0">
<xs:annotation>
<xs:documentation>You'll only have to
specify a userId if you want to read somebody else's profile
(assuming you have the authorization to do this)</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
The message that is generated on the client side:
<ns2:getUserProfileRequest
xmlns:ns2="http://tesis.nl/webservices/types">
<userId xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:nil="true" />
</ns2:getUserProfileRequest>
This leads to the following error message when validating:
Exception in startElement: cvc-elt.3.1: Attribute
'http://www.w3.org/2001/XMLSchema-instance,nil' must not appear on
element 'userId', because the {nillable} property of 'userId' is
false.
Is this expected behaviour? And if so is there a way to control this?
Thanks in advance,
Ivo van Dongen
--
Ivo van Dongen
Func. Internet Integration
Prins Hendrikkade 20-21, 1012 TL Amsterdam
W http://www.func.nl
T +31 20 4230000
F +31 20 4223500
=======================================================================
Message has been scanned for viruses by MessageLabs Protect
This email and any files transmitted with it are intended only for
the person(s) or entity to which they are addressed and may contain
confidential information. Any review, retransmission, dissemination,
copying or other use of, this information by persons or entities
other than the intended recipient is prohibited. If you have
received this in error and/or, are not the named addressee, please
contact the sender and
delete the material from all computers.
Optimad does not accept any liability for the content of the email.
Although emails are routinely screened for viruses Optimad does not
accept responsibility for any damage caused.
Replies to this email and all emails sent to Optimad Media Systems
may be intercepted by Message Labs and screened for viruses. Optimad
excludes all liability (to the extent permitted by law) to the
senders of emails to Optimad for the access to emails granted to
Message Labs.
--
Ivo van Dongen
Func. Internet Integration
Prins Hendrikkade 20-21, 1012 TL Amsterdam
W http://www.func.nl
T +31 20 4230000
F +31 20 4223500
---------------------------------------------------------------------
To unsubscribe from this list please visit:
http://xircles.codehaus.org/manage_email