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
