looks like this is an issue with servicemix rather than xfire.  I was able to
resolve the WSDL generation issue by upgrading servicemix version.  I did
have another question though.  my jsr181-annotated service throws a simple
runtime StationException.  Looks something like this:

--------------------------------
public Station searchStation(Music music) throws StationException;
-------------------------------

The generated WSDL defines complex types for Music and Station.  As for
StationException, it just looks like this:

########################
  <xsd:schema attributeFormDefault="qualified"
elementFormDefault="qualified"
targetNamespace="http://service.station.test.com";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
<xsd:complexType name="StationException"/>
</xsd:schema> 
########################

Isn't there something missing?  I was expecting a bit more, e.g.
<xsd:restriction base="xsd:string"> included in the StationException
complexType.  But if the generated <xsd:complexType
name="StationException"/>above is correct, then I'm ok with it.  Thanks in
advance.

-los  



moraleslos wrote:
> 
> I changed Servicemix's jsr181 component
> (servicemix-jsr181-3.0.1-incubating-installer.zip) to include version
> 1.2.3 instead of 1.2.2, but I still get the same result, i.e. no complex
> type defs in the generated WSDL.  I do see a namespace for the enum and
> return types but thats all.  Any other suggestions?
> 
> -los
> 
> 
> 
> Dan Diephouse wrote:
>> 
>> This might have been an issue with 1.2.2. Have you tried using 1.2.3?
>> 
>> On 12/15/06, moraleslos <[EMAIL PROTECTED]> wrote:
>>>
>>>
>>> I'm working with annotating my POJOs with jsr181 annotations and am
>>> encountering an issue where the WSDL being generated does not contain a
>>> complex type for my enumerated parameter as well as my return type.
>>> Although I'm deploying onto Servicemix, I thought this may be more
>>> related
>>> to Xfire than Servicemix.  Say I have an enumerated Music type and a
>>> Station
>>> POJO:
>>>
>>> #################
>>> public enum Music {
>>>   ROCK, POP
>>> }
>>>
>>> public class Station {
>>>   private String stationId;
>>>   private String dj;
>>>
>>>   // appropriate accessors
>>> }
>>> #################
>>>
>>>
>>>
>>> Now I have an annotated service POJO like this:
>>>
>>> #################
>>> @WebService(targetNamespace="http://music.com/station";)
>>> public class StationService {
>>>
>>>    @WebMethod
>>>    @WebResult(name="stationResult")
>>>    Station searchStation(String text, Music music) {
>>>        // return a station
>>>    }
>>> }
>>> #################
>>>
>>>
>>> When I deploy this onto ServiceMix using the annotation="jsr181", the
>>> generated WSDL looks like this:
>>>
>>> ####################
>>> <?xml version="1.0" encoding="UTF-8"?><wsdl:definitions
>>> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
>>> xmlns:ns1="http://domain.station.music.com";
>>> xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/";
>>> xmlns:soap12="http://www.w3.org/2003/05/soap-envelope";
>>> xmlns:soapenc11="http://schemas.xmlsoap.org/soap/encoding/";
>>> xmlns:soapenc12="http://www.w3.org/2003/05/soap-encoding";
>>> xmlns:tns="http://music.com/station";
>>> xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/";
>>> xmlns:xsd="http://www.w3.org/2001/XMLSchema";
>>> targetNamespace="http://music.com/station";>
>>>   <wsdl:types>
>>>     <xsd:schema attributeFormDefault="qualified"
>>> elementFormDefault="qualified"
>>> targetNamespace="http://music.com/station";
>>> xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
>>> <xsd:element name="searchStation">
>>> <xsd:complexType>
>>> <xsd:sequence>
>>> <xsd:element maxOccurs="1" minOccurs="1" name="in0" nillable="true"
>>> type="xsd:string"/>
>>> <xsd:element maxOccurs="1" minOccurs="1" name="in1" nillable="true"
>>> type="ns1:Music"/>
>>> </xsd:sequence>
>>> </xsd:complexType>
>>> </xsd:element>
>>> <xsd:element name="searchStationResponse">
>>> <xsd:complexType>
>>> <xsd:sequence>
>>> <xsd:element maxOccurs="1" minOccurs="1" name="stationResult"
>>> nillable="true" type="ns1:Station"/>
>>> </xsd:sequence>
>>> </xsd:complexType>
>>> </xsd:element>
>>> </xsd:schema>
>>>   </wsdl:types>
>>>   <wsdl:message name="searchStationResponse">
>>>     <wsdl:part element="tns:searchStationResponse" name="parameters"/>
>>>   </wsdl:message>
>>>   <wsdl:message name="searchStationRequest">
>>>     <wsdl:part element="tns:searchStation" name="parameters"/>
>>>   </wsdl:message>
>>>   <wsdl:portType name="StationSearchServicePortType">
>>>     <wsdl:operation name="searchStation">
>>>       <wsdl:input message="tns:searchStationRequest"
>>> name="searchStationRequest"/>
>>>       <wsdl:output message="tns:searchStationResponse"
>>> name="searchStationResponse"/>
>>>     </wsdl:operation>
>>>   </wsdl:portType>
>>> </wsdl:definitions>
>>> ###########################
>>>
>>>
>>> Notice there are no complexType definitions for either Music
>>> (enumerated)
>>> or
>>> Station (POJO) in the generated WSDL.  Is there something I'm missing in
>>> my
>>> annotations that hinders the creation of these complex types?  Thanks in
>>> advance.
>>>
>>> -los
>>> --
>>> View this message in context:
>>> http://www.nabble.com/jsr181-with-java-enums-as-parameters-tf2829778.html#a7900292
>>> Sent from the XFire - User mailing list archive at Nabble.com.
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe from this list please visit:
>>>
>>>     http://xircles.codehaus.org/manage_email
>>>
>>>
>> 
>> 
>> -- 
>> Dan Diephouse
>> Envoi Solutions
>> http://envoisolutions.com | http://netzooid.com/blog
>> 
>> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/jsr181-with-java-enums-as-parameters-tf2829778.html#a7922726
Sent from the XFire - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe from this list please visit:

    http://xircles.codehaus.org/manage_email

Reply via email to