geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Blevins <david.blev...@gmail.com>
Subject Re: How to marshal/unmarshal HandlerType correctly ?
Date Tue, 24 May 2011 17:29:29 GMT
Those data types used to be strings.  That's probably why it worked before.

I wouldn't lose any sleep if we changed them back to String from QName if it made things easier
now.  Can always revisit it later.

-David


On May 24, 2011, at 7:39 AM, Ivan wrote:

> I just committed some changes to trunk at revision: 1127089. Current
> solution is to use a XmlAdapter to create the QName even if it is
> illegal. Now, it is OK to unmarshal the XML file, but while
> marshalling the object to XML texts, those namespace information is
> lost ...
> Not sure whether there is better way for this.
> 
> 2011/5/23 Ivan <xhhsld@gmail.com>:
>> Hi,
>>    In the HandlerChain class of the jee module, we uses QName for the
>> type of serviceNamePattern and portNamePattern for better access (By
>> default, String type is used in the generated classes). But in the web
>> service spec, it is allowed to specify * and invalid name space
>> prefix.
>>    e.g.
>>     <handler-chain>
>>              <service-name-pattern
>> xmlns:ns1="http://hello.org">foo:HelloService</service-name-pattern>
>>              ......
>>     </handler-chain>
>> 
>>    Now, while parsing the DD above, an exception like
>> java.lang.IllegalArgumentException: prefix foo is not bound to a
>> namespace is thrown.
>>    Is there a way in JAXB to create a QName even the name space is
>> invalid ? I am thinking to have a XMLAdapter to do this from String,
>> but seems no way to look up the namespace by the prefix.
>>    Thoughts ? Thanks.
>> --
>> Ivan
>> 
> 
> 
> 
> -- 
> Ivan


Mime
View raw message