Welllll, I can appreciate that the underlying problem might be that jaxb is 
working as per _its_ design, but that's not a very good answer for xfire as a 
package.

Contract first development simply doesn't work with xfire like this.  Consider 
this example....

1. Start with WSDL  (valid, clean, no complicated xml tricks)
2. Use xfire to generate the service stub
3. Pack that up and deploy it as a web service
4. Invoke from _any_ client

Expected behaviour: A soap client fault reflecting the Fault: 
java.lang.UnsupportedOperationException

Actual behaviour: A soap server fault of No write method for property [blah] in 
class [wop]

Jaxb might be behaving as per design, but doesn't that by definition mean that 
xfire is not?  (When it comes to unbounded schema elements, everything else 
seems to work lovingly)

Is there an appropriate place to attach a small zip?  I've got a very simple 
wsdl, showing the working and non-working forms, and the directly generated 
xfire code, along with the (simple) ant file that packs it up.

Cheers,
Karl P


> -----Original Message-----
> From: Chris Thatcher [mailto:[EMAIL PROTECTED] 
> Sent: Friday, December 01, 2006 3:57 PM
> To: user@xfire.codehaus.org
> Subject: Re: [xfire-user] xfire client using jaxb [was: 
> help!- spring2, jaxb2 config setup]
> 
> Sorry I havent been able to reply fully, I'm very busy.  Here 
> is my thoughts though, JAxb2, by specification does not 
> create a setter for lists... this is not xfires fault, and if 
> you expose a class generated by jaxb as a pojo service, there 
> is not going to be a setter method and this is correct 
> behavior, not a bug.
> 
> Thatcher
> 
> ----- Original Message -----
> From: "Karl Palsson" <[EMAIL PROTECTED]>
> To: <user@xfire.codehaus.org>
> Sent: Friday, December 01, 2006 8:04 AM
> Subject: RE: [xfire-user] xfire client using jaxb [was: 
> help!- spring2,
> jaxb2 config setup]
> 
> 
> 
> So, can we use XFIRE-509 to track the fix for this 
> workaround?  And if so, can we reopen it so it can be 
> tracked? (It's currently marked closed
> unreproducable)
> 
> Can someone with the right auth reopen it please?
> 
> Cheers,
> Karl P
> 
> > -----Original Message-----
> > From: Deno Vichas [mailto:[EMAIL PROTECTED]
> > Sent: Friday, December 01, 2006 4:01 AM
> > To: user@xfire.codehaus.org
> > Subject: RE: [xfire-user] xfire client using jaxb [was:
> > help!- spring2, jaxb2 config setup]
> >
> > Yes, i agree with karl on this.  We shouldn't have to be 
> putting the 
> > CDATA stuff in our schemas.
> >
> >
> > -----Original Message-----
> > From: Karl Palsson [mailto:[EMAIL PROTECTED]
> > Sent: Thursday, November 30, 2006 7:47 PM
> > To: user@xfire.codehaus.org
> > Subject: RE: [xfire-user] xfire client using jaxb [was:
> > help!- spring2,
> > jaxb2 config setup]
> >
> >
> > Right, see that CDATA section about no setter?
> >
> > That's what I'm following up.  I want to be able to 
> generate a server 
> > from a WSDL, (or for the java heads that just use xsd's to 
> make their 
> > types, generate the types from a schema) and have it work.
> >
> > Without the CDATA section, and the jaxb extensions to the 
> schema, the 
> > services and types that xfire generates from this schema 
> are unusable.
> > (Or manually patching the type after the generation takes place)
> >
> > Being forced to include that (implementation details) in 
> the !schema! 
> > is a bug, at least as far as I'm concerned.  (XFIRE-509 
> unless someone 
> > suggests a better bug)
> >
> > Cheers,
> > Karl P
> >
> >
> > > -----Original Message-----
> > > From: Chris Thatcher [mailto:[EMAIL PROTECTED]
> > > Sent: Friday, December 01, 2006 3:31 AM
> > > To: user@xfire.codehaus.org
> > > Subject: RE: [xfire-user] xfire client using jaxb [was:
> > > help!- spring2, jaxb2 config setup]
> > >
> > > Starting with XMLSchema first here is a model of an object using 
> > > lists:
> > > <?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
> <xs:schema 
> > > xmlns:xs="http://www.w3.org/2001/XMLSchema";
> > >
> > >
> > 
> targetNamespace="http://www.emergent.net/www/servertools/common/model";
> > >     
> xmlns:tns="http://www.emergent.net/www/servertools/common/model";
> > >     xmlns:html="http://www.w3.org/1999/xhtml";
> > >     xmlns:jxb="http://java.sun.com/xml/ns/jaxb";
> > >     xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc";
> > >     xmlns:orm="http://java.sun.com/xml/ns/persistence/orm";
> > >     jxb:extensionBindingPrefixes="xjc"
> > >     jxb:version="1.0"
> > >     elementFormDefault="qualified">
> > >
> > > <xs:element name="command" type="tns:command"/> <xs:complexType 
> > > name="command">
> > >     <xs:sequence>
> > >         <xs:element ref="egt:property" maxOccurs="unbounded"
> > > minOccurs="0">
> > >             <xs:annotation><xs:appinfo><jxb:property 
> ><jxb:javadoc>
> > >             <!-- This conveniently adds a setter for the 
> list which 
> > > it makes me crazy that jaxb wont allow -->
> > >             <![CDATA[*/public void setProperty(List<Property>
> > > property) {this.property = property;}/*]]>
> > >
> > </jxb:javadoc></jxb:property></xs:appinfo></xs:annotation>
> > >         </xs:element>
> > >     </xs:sequence>
> > >     <xs:attribute name="id" type="xs:long"/> </xs:complexType>
> > >
> > > <xs:element name="property" type="tns:property"/> <xs:complexType 
> > > name="property">
> > >     <xs:attribute name="name" type="xs:string" use="required"/>
> > >     <xs:attribute name="value" type="xs:string" use="required"/>
> > >     <xs:attribute name="id" type="xs:long"/> </xs:complexType>
> > >
> > > <xs:element name="start" type="tns:start" />
> > >
> > >   <xs:complexType name="start">
> > >     <xs:sequence>
> > >       <xs:element ref="tns:command"  minOccurs="0"/>
> > >     </xs:sequence>
> > >   </xs:complexType>
> > >
> > >   <xs:element name="startResponse" type="tns:startResponse" />
> > >
> > >   <xs:complexType name="startResponse">
> > >     <xs:sequence>
> > >       <xs:element name="success" type="xs:boolean"  
> minOccurs="0"/>
> > >     </xs:sequence>
> > >   </xs:complexType>
> > >
> > > </xs:schema>
> > > Here is an ant macro I use to generate the java from it:
> > >
> > > <macrodef name="codegen-model"
> > >
> > uri="http://www.emergent.net/servertools/ant/macrodef";
> > >               description="Generates Model Classes From 
> XMLSchema">
> > >         <attribute name="schema" default="EGT*.xsd"/>
> > >         <attribute name="schemadir" default="src/schema/"/>
> > >
> > >         <sequential>
> > >             <echo message=""/>
> > >             <echo message="TARGET: codegen-model"/>
> > >             <echo message="    schema = @{schema}"/>
> > >             <echo message="    schemadir = @{schemadir}"/>
> > >             <echo message=""/>
> > >             <taskdef name="xjc"
> > classname="com.sun.tools.xjc.XJCTask">
> > >                 <classpath path="${javac.classpath}"/>
> > >             </taskdef>
> > >             <xjc
> > >                 target="src/generated/java"
> > >                 extension="true">
> > >                 <schema dir="@{schemadir}" includes="@{schema}"/>
> > >                 <depends dir="@{schemadir}">
> > >                     <include  name="@{schema}" />
> > >                 </depends>
> > >                 <produces dir="${basedir}/src/generated" >
> > >                     <include name="**/model/*.java"/>
> > >                 </produces>
> > >             </xjc>
> > >         </sequential>
> > >     </macrodef>
> > >
> > > Thats step 1.  Let me know if its not a sufficient 
> solution so far.
> > > Step 2 next.
> > >
> > > Thatcher
> > >
> > > ----- Original Message -----
> > > From: Chris Thatcher <mailto:[EMAIL PROTECTED]>
> > > To: user@xfire.codehaus.org
> > > Sent: Thursday, November 30, 2006 9:00 PM
> > > Subject: RE: [xfire-user] xfire client using jaxb [was:
> > > help! - spring2, jaxb2 config setup]
> > >
> > > Hi guys,
> > > I would like to help you because I use Jaxb2, Spring2, and Xfire 
> > > together successfully with very complex data structures including 
> > > lists, list of lists, etc.  I doubt that xfire is the root cause 
> > > here so lets step back and try to figure out what the cause is 
> > > together.
> > >
> > > Below is an example of how I use these technologies 
> together, though 
> > > there are variations so if this is not your approach it 
> is at least 
> > > 'a' way the technologies coexist successfully.  The approach used 
> > > is, generally speaking, as follows:
> > >
> > > 1. Develop the XMLSchema representing the data model 2. 
> Generate the 
> > > java classes with jaxb2.
> > > 3. Define ServiceInterfaces with java classes and
> > > jsr181 annotations
> > > 4. Implement the service.
> > > 5. Wire it up to XFire (and Acegi and Hibernate3 or
> > > whatever) with Spring2.
> > > 6. Start a server (I use the embedded jetty server for 
> dev testing).
> > > 7. Run a client.
> > >
> > > With that info here I'm going to mail this while I start 
> presenting 
> > > the relavent examples.  If your approach is drastically different 
> > > and this can't suffice as an example approach, please do let me 
> > > know.
> > >
> > > Thatcher
> > >
> > > ----- Original Message -----
> > > From: "Karl Palsson" <[EMAIL PROTECTED]>
> > > To: <user@xfire.codehaus.org>
> > > Sent: Thursday, November 30, 2006 8:31 PM
> > > Subject: RE: [xfire-user] xfire client using jaxb [was:
> > > help! - spring2,
> > > jaxb2 config setup]
> > >
> > >
> > > I'd like to keep separate the, "my java xfire client doesn't work 
> > > with lists" from the "my server doesn't let anyone use lists"
> > >
> > > If xfire won't let clients consume services that have list 
> > > parameters, that's one bug.  (alluded to in the closing 
> comments of
> > > XFIRE-509 with, "use
> > > this XXX to make your client, not YYYY"
> > >
> > > If the xfire _service_ won't let anyone set a list, I see 
> that as a 
> > > separate problem.  Whichever one XFIRE-509 is, can we track them 
> > > separately?
> > >
> > > Cheers,
> > > Karl P
> > > > -----Original Message-----
> > > > From: Deno Vichas [mailto:[EMAIL PROTECTED]
> > > > Sent: Thursday, November 30, 2006 10:23 PM
> > > > To: user@xfire.codehaus.org
> > > > Subject: RE: [xfire-user] xfire client using jaxb [was: help!
> > > > - spring2, jaxb2 config setup]
> > > >
> > > > Ok.. this is related the 509 bug.  The comment by Dan 
> doesn't work 
> > > > and give me the stack trace below.
> > > >
> > > >
> > > >
> > > > ________________________________
> > > >
> > > > From: Deno Vichas [mailto:[EMAIL PROTECTED]
> > > > Sent: Thursday, November 30, 2006 1:07 PM
> > > > To: user@xfire.codehaus.org
> > > > Subject: [xfire-user] xfire client using jaxb [was: help! - 
> > > > spring2, jaxb2 config setup]
> > > >
> > > >
> > > >
> > > > I think my service is working as I get WSDL to 
> generate.  I think 
> > > > the problem I'm having now is with my client code.
> > > >
> > > >
> > > >
> > > > If I use
> > > >
> > > > Service serviceModel = new
> > > >
> > > AnnotationServiceFactory().create(VehicleLookupServiceImpl.class);
> > > >
> > > >
> > > >
> > > > It complains about not having a setting for the array list that 
> > > > jaxb created.  So I did some search and found some 
> other with this 
> > > > same problem.  one post said I need to use
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >         Service serviceModel = new 
> > > > JaxbServiceFactory().create(VehicleLookupServiceImpl.class);
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > But this gives me the stack trace below.  At this point 
> I'm at a 
> > > > total lost.
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > Thanks,
> > > >
> > > > deno
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > 2006-11-29 12:30:40,393 ERROR
> > > > [org.apache.catalina.core.ContainerBase.[Catalina].[localhost]
> > > > .[/oracle].[dispatch]] - Servlet.service() for servlet dispatch 
> > > > threw exception
> > > >
> > > > org.codehaus.xfire.XFireRuntimeException: Could not invoke 
> > > > service.. Nested exception is
> > > > org.codehaus.xfire.fault.XFireFault: Could not marshall type.
> > > >
> > > > org.codehaus.xfire.fault.XFireFault: Could not marshall type.
> > > >
> > > >       at
> > > >
> > > org.codehaus.xfire.jaxb2.JaxbType.writeObject(JaxbType.java:254)
> > > >
> > > >       at
> > > > org.codehaus.xfire.aegis.AegisBindingProvider.writeParameter(A
> > > > egisBindingProvider.java:200)
> > > >
> > > >       at
> > > > org.codehaus.xfire.service.binding.AbstractBinding.writeParame
> > > > ter(AbstractBinding.java:273)
> > > >
> > > >       at
> > > > org.codehaus.xfire.service.binding.WrappedBinding.writeMessage
> > > > (WrappedBinding.java:89)
> > > >
> > > >       at
> > > > org.codehaus.xfire.soap.SoapSerializer.writeMessage(SoapSerial
> > > > izer.java:80)
> > > >
> > > >       at
> > > > org.codehaus.xfire.transport.http.HttpChannel.writeWithoutAtta
> > > > chments(HttpChannel.java:56)
> > > >
> > > >       at
> > > > org.codehaus.xfire.transport.http.CommonsHttpMessageSender.get
> > > > ByteArrayRequestEntity(CommonsHttpMessageSender.java:313)
> > > >
> > > >       at
> > > > org.codehaus.xfire.transport.http.CommonsHttpMessageSender.sen
> > > > d(CommonsHttpMessageSender.java:251)
> > > >
> > > >       at
> > > > org.codehaus.xfire.transport.http.HttpChannel.sendViaClient(Ht
> > > > tpChannel.java:123)
> > > >
> > > >       at
> > > > org.codehaus.xfire.transport.http.HttpChannel.send(HttpChannel
> > > > .java:48)
> > > >
> > > >       at
> > > > org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageS
> > > > ender.java:26)
> > > >
> > > >       at
> > > > org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipel
> > > > ine.java:131)
> > > >
> > > >       at
> > > >
> > > org.codehaus.xfire.client.Invocation.invoke(Invocation.java:75)
> > > >
> > > >       at
> > > org.codehaus.xfire.client.Client.invoke(Client.java:335)
> > > >
> > > >       at
> > > >
> > >
> > 
> org.codehaus.xfire.client.XFireProxy.handleRequest(XFireProxy.java:77)
> > > >
> > > >       at
> > > >
> > > org.codehaus.xfire.client.XFireProxy.invoke(XFireProxy.java:57)
> > > >
> > > >       at $Proxy12.getVehicles(Unknown Source)
> > > >
> > > >       at
> > > > com.autoreturn.web.VehicleLookupController.handle(VehicleLooku
> > > > pController.java:53)
> > > >
> > > >       at
> > > > org.springframework.web.servlet.mvc.AbstractCommandController.
> > > > handleRequestInternal(AbstractCommandController.java:82)
> > > >
> > > >       at
> > > > org.springframework.web.servlet.mvc.AbstractController.handleR
> > > > equest(AbstractController.java:153)
> > > >
> > > >       at
> > > > org.springframework.web.servlet.mvc.SimpleControllerHandlerAda
> > > > pter.handle(SimpleControllerHandlerAdapter.java:45)
> > > >
> > > >       at
> > > > org.springframework.web.servlet.DispatcherServlet.doDispatch(D
> > > > ispatcherServlet.java:806)
> > > >
> > > >       at
> > > > org.springframework.web.servlet.DispatcherServlet.doService(Di
> > > > spatcherServlet.java:736)
> > > >
> > > >       at
> > > > org.springframework.web.servlet.FrameworkServlet.processReques
> > > > t(FrameworkServlet.java:396)
> > > >
> > > >       at
> > > > org.springframework.web.servlet.FrameworkServlet.doGet(Framewo
> > > > rkServlet.java:350)
> > > >
> > > >       at
> > > javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
> > > >
> > > >       at
> > > javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> > > >
> > > >       at
> > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> > > > er(ApplicationFilterChain.java:252)
> > > >
> > > >       at
> > > > org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> > > > cationFilterChain.java:173)
> > > >
> > > >       at
> > > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
> > > > rapperValve.java:213)
> > > >
> > > >       at
> > > > org.apache.catalina.core.StandardContextValve.invoke(StandardC
> > > > ontextValve.java:178)
> > > >
> > > >       at
> > > > org.apache.catalina.core.StandardHostValve.invoke(StandardHost
> > > > Valve.java:126)
> > > >
> > > >       at
> > > > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport
> > > > Valve.java:105)
> > > >
> > > >       at
> > > > org.apache.catalina.core.StandardEngineValve.invoke(StandardEn
> > > > gineValve.java:107)
> > > >
> > > >       at
> > > > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap
> > > > ter.java:148)
> > > >
> > > >       at
> > > > org.apache.coyote.http11.Http11Processor.process(Http11Process
> > > > or.java:869)
> > > >
> > > >       at
> > > > org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHa
> > > > ndler.processConnection(Http11BaseProtocol.java:664)
> > > >
> > > >       at
> > > > org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolT
> > > > cpEndpoint.java:527)
> > > >
> > > >       at
> > > > org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(Le
> > > > aderFollowerWorkerThread.java:80)
> > > >
> > > >       at
> > > > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
> > > > ThreadPool.java:684)
> > > >
> > > >       at java.lang.Thread.run(Thread.java:595)
> > > >
> > > > Caused by: javax.xml.bind.JAXBException:
> > > > com.autoreturn.service.model.LookupVehiclesRequest nor 
> any of its 
> > > > super class is known to this context
> > > >
> > > >       at
> > > > com.sun.xml.bind.v2.runtime.JAXBContextImpl.getBeanInfo(JAXBCo
> > > > ntextImpl.java:446)
> > > >
> > > >       at
> > > > com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSeria
> > > > lizer.java:447)
> > > >
> > > >       at
> > > > com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImp
> > > > l.java:263)
> > > >
> > > >       at
> > > > com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerI
> > > > mpl.java:143)
> > > >
> > > >       at
> > > >
> > > org.codehaus.xfire.jaxb2.JaxbType.writeObject(JaxbType.java:249)
> > > >
> > > >       ... 40 more
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > ________________________________
> > > >
> > > > From: Deno Vichas [mailto:[EMAIL PROTECTED]
> > > > Sent: Wednesday, November 29, 2006 12:34 PM
> > > > To: user@xfire.codehaus.org
> > > > Subject: RE: [xfire-user] help! - spring2, jaxb2 config setup
> > > >
> > > >
> > > >
> > > > Honestly I'm not even fully sure what the remoting is 
> used for.  I 
> > > > just want to create some soap services using sping2, jaxb2, 
> > > > hibernate, and xfire.  I did find my startup problem.
> > > > I'm now back to my original problem.  Here's my
> > > client code I have;
> > > >
> > > >
> > > >
> > > >         Service serviceModel = new 
> > > > JaxbServiceFactory().create(VehicleLookupServiceImpl.class);
> > > >     // some post I found on the net said I needed to use the 
> > > > JaxbServiceFactory.
> > > >
> > > >         //Service serviceModel = new 
> > > > AnnotationServiceFactory().create(VehicleLookupServiceImpl.cla
> > > > ss);  // this bitches about not having a setting for the array 
> > > > list from jaxb.  Argh!
> > > >
> > > >         try {
> > > >
> > > >             VehicleLookupService service =
> > > > (VehicleLookupService) new
> > > XFireProxyFactory().create(serviceModel,
> > > >
> > > >
> > > >
> > > > "http://localhost:8080/oracle/services/VehicleLookupService";);
> > > >
> > > >             LookupVehiclesResponse r = 
> > > > service.getVehicles(buildLookupVehiclesRequest(cmd));
> > > >
> > > >             pw.println(marshallRequest(r));
> > > >
> > > >
> > > >
> > > >         } catch (MalformedURLException e) {
> > > >
> > > >             e.printStackTrace();
> > > >
> > > >         }
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > 2006-11-29 12:30:40,393 ERROR
> > > > [org.apache.catalina.core.ContainerBase.[Catalina].[localhost]
> > > > .[/oracle].[dispatch]] - Servlet.service() for servlet dispatch 
> > > > threw exception
> > > >
> > > > org.codehaus.xfire.XFireRuntimeException: Could not invoke 
> > > > service.. Nested exception is
> > > > org.codehaus.xfire.fault.XFireFault: Could not marshall type.
> > > >
> > > > org.codehaus.xfire.fault.XFireFault: Could not marshall type.
> > > >
> > > >       at
> > > >
> > > org.codehaus.xfire.jaxb2.JaxbType.writeObject(JaxbType.java:254)
> > > >
> > > >       at
> > > > org.codehaus.xfire.aegis.AegisBindingProvider.writeParameter(A
> > > > egisBindingProvider.java:200)
> > > >
> > > >       at
> > > > org.codehaus.xfire.service.binding.AbstractBinding.writeParame
> > > > ter(AbstractBinding.java:273)
> > > >
> > > >       at
> > > > org.codehaus.xfire.service.binding.WrappedBinding.writeMessage
> > > > (WrappedBinding.java:89)
> > > >
> > > >       at
> > > > org.codehaus.xfire.soap.SoapSerializer.writeMessage(SoapSerial
> > > > izer.java:80)
> > > >
> > > >       at
> > > > org.codehaus.xfire.transport.http.HttpChannel.writeWithoutAtta
> > > > chments(HttpChannel.java:56)
> > > >
> > > >       at
> > > > org.codehaus.xfire.transport.http.CommonsHttpMessageSender.get
> > > > ByteArrayRequestEntity(CommonsHttpMessageSender.java:313)
> > > >
> > > >       at
> > > > org.codehaus.xfire.transport.http.CommonsHttpMessageSender.sen
> > > > d(CommonsHttpMessageSender.java:251)
> > > >
> > > >       at
> > > > org.codehaus.xfire.transport.http.HttpChannel.sendViaClient(Ht
> > > > tpChannel.java:123)
> > > >
> > > >       at
> > > > org.codehaus.xfire.transport.http.HttpChannel.send(HttpChannel
> > > > .java:48)
> > > >
> > > >       at
> > > > org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageS
> > > > ender.java:26)
> > > >
> > > >       at
> > > > org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipel
> > > > ine.java:131)
> > > >
> > > >       at
> > > >
> > > org.codehaus.xfire.client.Invocation.invoke(Invocation.java:75)
> > > >
> > > >       at
> > > org.codehaus.xfire.client.Client.invoke(Client.java:335)
> > > >
> > > >       at
> > > >
> > >
> > 
> org.codehaus.xfire.client.XFireProxy.handleRequest(XFireProxy.java:77)
> > > >
> > > >       at
> > > >
> > > org.codehaus.xfire.client.XFireProxy.invoke(XFireProxy.java:57)
> > > >
> > > >       at $Proxy12.getVehicles(Unknown Source)
> > > >
> > > >       at
> > > > com.autoreturn.web.VehicleLookupController.handle(VehicleLooku
> > > > pController.java:53)
> > > >
> > > >       at
> > > > org.springframework.web.servlet.mvc.AbstractCommandController.
> > > > handleRequestInternal(AbstractCommandController.java:82)
> > > >
> > > >       at
> > > > org.springframework.web.servlet.mvc.AbstractController.handleR
> > > > equest(AbstractController.java:153)
> > > >
> > > >       at
> > > > org.springframework.web.servlet.mvc.SimpleControllerHandlerAda
> > > > pter.handle(SimpleControllerHandlerAdapter.java:45)
> > > >
> > > >       at
> > > > org.springframework.web.servlet.DispatcherServlet.doDispatch(D
> > > > ispatcherServlet.java:806)
> > > >
> > > >       at
> > > > org.springframework.web.servlet.DispatcherServlet.doService(Di
> > > > spatcherServlet.java:736)
> > > >
> > > >       at
> > > > org.springframework.web.servlet.FrameworkServlet.processReques
> > > > t(FrameworkServlet.java:396)
> > > >
> > > >       at
> > > > org.springframework.web.servlet.FrameworkServlet.doGet(Framewo
> > > > rkServlet.java:350)
> > > >
> > > >       at
> > > javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
> > > >
> > > >       at
> > > javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> > > >
> > > >       at
> > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> > > > er(ApplicationFilterChain.java:252)
> > > >
> > > >       at
> > > > org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> > > > cationFilterChain.java:173)
> > > >
> > > >       at
> > > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
> > > > rapperValve.java:213)
> > > >
> > > >       at
> > > > org.apache.catalina.core.StandardContextValve.invoke(StandardC
> > > > ontextValve.java:178)
> > > >
> > > >       at
> > > > org.apache.catalina.core.StandardHostValve.invoke(StandardHost
> > > > Valve.java:126)
> > > >
> > > >       at
> > > > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport
> > > > Valve.java:105)
> > > >
> > > >       at
> > > > org.apache.catalina.core.StandardEngineValve.invoke(StandardEn
> > > > gineValve.java:107)
> > > >
> > > >       at
> > > > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap
> > > > ter.java:148)
> > > >
> > > >       at
> > > > org.apache.coyote.http11.Http11Processor.process(Http11Process
> > > > or.java:869)
> > > >
> > > >       at
> > > > org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHa
> > > > ndler.processConnection(Http11BaseProtocol.java:664)
> > > >
> > > >       at
> > > > org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolT
> > > > cpEndpoint.java:527)
> > > >
> > > >       at
> > > > org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(Le
> > > > aderFollowerWorkerThread.java:80)
> > > >
> > > >       at
> > > > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
> > > > ThreadPool.java:684)
> > > >
> > > >       at java.lang.Thread.run(Thread.java:595)
> > > >
> > > > Caused by: javax.xml.bind.JAXBException:
> > > > com.autoreturn.service.model.LookupVehiclesRequest nor 
> any of its 
> > > > super class is known to this context
> > > >
> > > >       at
> > > > com.sun.xml.bind.v2.runtime.JAXBContextImpl.getBeanInfo(JAXBCo
> > > > ntextImpl.java:446)
> > > >
> > > >       at
> > > > com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSeria
> > > > lizer.java:447)
> > > >
> > > >       at
> > > > com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImp
> > > > l.java:263)
> > > >
> > > >       at
> > > > com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerI
> > > > mpl.java:143)
> > > >
> > > >       at
> > > >
> > > org.codehaus.xfire.jaxb2.JaxbType.writeObject(JaxbType.java:249)
> > > >
> > > >       ... 40 more
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > Here's my POJO
> > > >
> > > >
> > > >
> > > > package com.autoreturn.service;
> > > >
> > > >
> > > >
> > > > import javax.jws.WebParam;
> > > >
> > > > import javax.jws.WebService;
> > > >
> > > >
> > > >
> > > > import com.autoreturn.service.model.LookupVehiclesRequest;
> > > >
> > > > import com.autoreturn.service.model.LookupVehiclesResponse;
> > > >
> > > >
> > > >
> > > > @WebService(name="VehicleLookupService",
> > > >
> > > >             targetNamespace="http://oracle.autoreturn.com";)
> > > >
> > > > public interface VehicleLookupService {
> > > >
> > > >
> > > >
> > > >      public LookupVehiclesResponse
> > > > getVehicles(@WebParam(name="LookupVehiclesRequest")
> > > > LookupVehiclesRequest request);
> > > >
> > > >
> > > >
> > > > }
> > > >
> > > >
> > > >
> > > > ----
> > > >
> > > >
> > > >
> > > > package com.autoreturn.service;
> > > >
> > > >
> > > >
> > > > import javax.jws.WebService;
> > > >
> > > > import javax.jws.soap.SOAPBinding;
> > > >
> > > >
> > > >
> > > > import com.autoreturn.dts.DTSLookupResponse;
> > > >
> > > > import com.autoreturn.dts.DTSManagerFactory;
> > > >
> > > > import com.autoreturn.manager.XmlConverter;
> > > >
> > > > import com.autoreturn.service.model.LookupVehiclesRequest;
> > > >
> > > > import com.autoreturn.service.model.LookupVehiclesResponse;
> > > >
> > > >
> > > >
> > > > @WebService(
> > > >
> > > >   serviceName = "VehicleLookupService",
> > > >
> > > >   endpointInterface =
> > > "com.autoreturn.service.VehicleLookupService"
> > > >
> > > > )
> > > >
> > > > @SOAPBinding(parameterStyle=SOAPBinding.ParameterStyle.BARE)
> > > >
> > > > public class VehicleLookupServiceImpl implements 
> > > > VehicleLookupService {
> > > >
> > > >     private final DTSManagerFactory _dtsFactory;
> > > >
> > > >     private final XmlConverter _xmlConverter;
> > > >
> > > >
> > > >
> > > >     public VehicleLookupServiceImpl(DTSManagerFactory
> > > > dtsManagerFactory, XmlConverter xmlConverter) {
> > > >
> > > >         _dtsFactory = dtsManagerFactory;
> > > >
> > > >         _xmlConverter = xmlConverter;
> > > >
> > > >     }
> > > >
> > > >
> > > >
> > > >     public LookupVehiclesResponse
> > > > getVehicles(LookupVehiclesRequest request) {
> > > >
> > > >
> > > >
> > > >         DTSLookupResponse dtsResponse = 
> > > > _dtsFactory.lookupVehicle(request);
> > > >
> > > >         return
> > > _xmlConverter.buildArLookupVehicleReponse(dtsResponse);
> > > >
> > > >
> > > >
> > > >     }
> > > >
> > > >
> > > >
> > > > }
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > ________________________________
> > > >
> > > > From: Ruth, Brice D [mailto:[EMAIL PROTECTED]
> > > > Sent: Wednesday, November 29, 2006 11:34 AM
> > > > To: user@xfire.codehaus.org
> > > > Subject: RE: [xfire-user] help! - spring2, jaxb2 config setup
> > > >
> > > >
> > > >
> > > > From the exception, it looks like the wrong bean is 
> getting passed 
> > > > in. What's your POJO that has the @WebService annotation on it? 
> > > > ServiceBean is the XFire object that wraps your POJO, 
> from what I 
> > > > understand.
> > > >
> > > >
> > > >
> > > > I'm not familiar with the handler mapping stuff from Spring 
> > > > remoting. We use a Jsr181BeanPostProcessor ... is there a 
> > > > particular need for the Spring remoting?
> > > >
> > > >
> > > >
> > > > Cheers,
> > > >
> > > > Brice
> > > >
> > > >
> > > >
> > > > -----Original Message-----
> > > > From: Deno Vichas [mailto:[EMAIL PROTECTED]
> > > > Sent: Wednesday, November 29, 2006 11:34 AM
> > > > To: user@xfire.codehaus.org
> > > > Subject: RE: [xfire-user] help! - spring2, jaxb2 config setup
> > > >
> > > > I tried something like that already using 
> > > > org.codehaus.xfire.spring.remoting.XFireExporter,  using your 
> > > > sample I get on startup -
> > > >
> > > >
> > > >
> > > > 2006-11-29 09:27:13,817 ERROR
> > > > [org.springframework.web.context.ContextLoader] - Context 
> > > > initialization failed
> > > >
> > > > org.springframework.beans.factory.BeanCreationException:
> > > > Error creating bean with name 'vehicleLookup' defined in 
> > > > ServletContext resource [/WEB-INF/xfire-servlet.xml]:
> > > > Invocation of init method failed; nested exception is
> > > > org.codehaus.xfire.annotations.AnnotationException: Class 
> > > > org.codehaus.xfire.spring.ServiceBean does not have a 
> WebService 
> > > > annotation
> > > >
> > > > Caused by:
> > > >
> > > > org.codehaus.xfire.annotations.AnnotationException: Class 
> > > > org.codehaus.xfire.spring.ServiceBean does not have a 
> WebService 
> > > > annotation
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > I'm using JSR181 to expose my service with
> > > >
> > > >
> > > >
> > > >   <bean id="xfire.commonsAnnotations"
> > > >
> > > 
> class="org.codehaus.xfire.annotations.jsr181.Jsr181WebAnnotations"/>
> > > >
> > > >
> > > >
> > > >       <bean id="handlerMapping"
> > > >
> > > class="org.codehaus.xfire.spring.remoting.Jsr181HandlerMapping">
> > > >
> > > >             <property name="typeMappingRegistry"
> > > > ref="xfire.typeMappingRegistry"/>
> > > >
> > > >             <property name="xfire" ref="xfire"/>
> > > >
> > > >             <property name="webAnnotations"
> > > > ref="xfire.commonsAnnotations"/>
> > > >
> > > >       </bean>
> > > >
> > > >
> > > >
> > > >       <bean
> > > > class="org.springframework.web.servlet.handler.SimpleUrlHandle
> > > > rMapping">
> > > >
> > > >             <property name="urlMap">
> > > >
> > > >                   <map>
> > > >
> > > >                         <entry key="/">
> > > >
> > > >                               <ref bean="handlerMapping"/>
> > > >
> > > >                         </entry>
> > > >
> > > >                   </map>
> > > >
> > > >             </property>
> > > >
> > > >       </bean>
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > Is this bad to try to do this?
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > Thanks.
> > > >
> > > > deno
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > ________________________________
> > > >
> > > > From: Ruth, Brice D [mailto:[EMAIL PROTECTED]
> > > > Sent: Wednesday, November 29, 2006 6:56 AM
> > > > To: user@xfire.codehaus.org
> > > > Subject: RE: [xfire-user] help! - spring2, jaxb2 config setup
> > > >
> > > >
> > > >
> > > > <!-- Initialize JAXB2 service factory -->
> > > >
> > > > <bean name="jaxbServiceFactory"
> > > >
> > > >     class="org.codehaus.xfire.jaxb2.JaxbServiceFactory">
> > > >
> > > >     <constructor-arg ref="xfire.transportManager" />
> > > >
> > > > </bean>
> > > >
> > > >
> > > >
> > > > <bean id="ewsng.TaskController.service"
> > > > class="org.codehaus.xfire.spring.ServiceBean">
> > > >
> > > >     <property name="serviceBean" ref="ewsng.taskController"
> > > > /> <!-- this is my POJO -->
> > > >
> > > >     <property name="serviceFactory"
> > > ref="jaxbServiceFactory" />
> > > >
> > > > </bean>
> > > >
> > > >
> > > >
> > > > -----Original Message-----
> > > > From: Deno Vichas [mailto:[EMAIL PROTECTED]
> > > > Sent: Wednesday, November 29, 2006 12:13 AM
> > > > To: user@xfire.codehaus.org
> > > > Subject: RE: [xfire-user] help! - spring2, jaxb2 config setup
> > > >
> > > > > Have you imported the xfire spring config into your main
> > > > spring config?
> > > >
> > > > I didn't at when I posted that last stack trace.  I'm 
> importing in 
> > > > my web.xml file
> > > >
> > > >
> > > >
> > > > Ok.. I've got the WSDL to generate!  I think my problem 
> is I need 
> > > > to be using the jaxbServiceFactory but don't know how 
> to wire it 
> > > > up correct.
> > > >
> > > >
> > > >
> > > > Here's what my web.xml and xfire-servlet.xml files look like;
> > > >
> > > >
> > > >
> > > >   <context-param>
> > > >
> > > >
> > > <param-name>log4jConfigLocation</param-name>
> > > >
> > > >
> > > > <param-value>/WEB-INF/log4j.properties</param-value>
> > > >
> > > >             </context-param>
> > > >
> > > >             <context-param>
> > > >
> > > >               <param-name>log4jRefreshInterval</param-name>
> > > >
> > > >               <param-value>1000</param-value>
> > > >
> > > >             </context-param>
> > > >
> > > >   <context-param>
> > > >
> > > >             <param-name>contextConfigLocation</param-name>
> > > >
> > > >             <param-value>
> > > >
> > > >                         /WEB-INF/applicationContext.xml
> > > >
> > > >          /WEB-INF/xfire-servlet.xml
> > > >
> > > >         classpath:org/codehaus/xfire/spring/xfire.xml
> > > >
> > > >              </param-value>
> > > >
> > > >   </context-param>
> > > >
> > > >
> > > >
> > > >             <listener>
> > > >
> > > >
> > > > <listener-class>org.springframework.web.util.Log4jConfigListen
> > > > er</listener-class>
> > > >
> > > >             </listener>
> > > >
> > > >
> > > >
> > > >             <listener>
> > > >
> > > >
> > > > <listener-class>org.springframework.web.context.ContextLoaderL
> > > > istener</listener-class>
> > > >
> > > >             </listener>
> > > >
> > > >
> > > >
> > > >             <servlet>
> > > >
> > > >                         <servlet-name>dispatch</servlet-name>
> > > >
> > > >
> > > > <servlet-class>org.springframework.web.servlet.DispatcherServl
> > > > et</servlet-class>
> > > >
> > > >                         <load-on-startup>1</load-on-startup>
> > > >
> > > >             </servlet>
> > > >
> > > >
> > > >
> > > >             <servlet-mapping>
> > > >
> > > >                         <servlet-name>dispatch</servlet-name>
> > > >
> > > >                         <url-pattern>/*</url-pattern>
> > > >
> > > >             </servlet-mapping>
> > > >
> > > >
> > > >
> > > >    <!--  start Xfire  -->
> > > >
> > > >    <servlet>
> > > >
> > > >      <servlet-name>XFireServlet</servlet-name>
> > > >
> > > >      <servlet-class>
> > > >
> > > >        org.codehaus.xfire.spring.XFireSpringServlet
> > > >
> > > >      </servlet-class>
> > > >
> > > >    </servlet>
> > > >
> > > >
> > > >
> > > >    <servlet-mapping>
> > > >
> > > >       <servlet-name>XFireServlet</servlet-name>
> > > >
> > > >       <url-pattern>/servlet/XFireServlet/*</url-pattern>
> > > >
> > > >    </servlet-mapping>
> > > >
> > > >
> > > >
> > > >    <servlet-mapping>
> > > >
> > > >      <servlet-name>XFireServlet</servlet-name>
> > > >
> > > >      <url-pattern>/services/*</url-pattern>
> > > >
> > > >    </servlet-mapping>
> > > >
> > > >    <!--  end: XFire  -->
> > > >
> > > >
> > > >
> > > > *      - - - - - -  -
> > > >
> > > >
> > > >
> > > > xfire-servlet.xml
> > > >
> > > >
> > > >
> > > > <?xml version="1.0" encoding="UTF-8"?>
> > > >
> > > > <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
> > > > "http://www.springframework.org/dtd/spring-beans.dtd";>
> > > >
> > > > <beans>
> > > >
> > > >
> > > >
> > > >       <bean id="vehicleLookup"
> > > > class="com.autoreturn.service.VehicleLookupServiceImpl" >
> > > >
> > > >             <constructor-arg index="0" ref="DTSManager" />
> > > >
> > > >             <constructor-arg index="1" ref="XmlConverter" />
> > > >
> > > >       </bean>
> > > >
> > > >
> > > >
> > > >   <bean name="jaxbServiceFactory"
> > > > class="org.codehaus.xfire.jaxb2.JaxbServiceFactory">
> > > >
> > > >     <constructor-arg ref="xfire.transportManager"/>
> > > >
> > > >   </bean>
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >   <bean id="xfire.commonsAnnotations"
> > > >
> > > 
> class="org.codehaus.xfire.annotations.jsr181.Jsr181WebAnnotations"/>
> > > >
> > > >
> > > >
> > > >       <bean id="handlerMapping"
> > > >
> > > class="org.codehaus.xfire.spring.remoting.Jsr181HandlerMapping">
> > > >
> > > >             <property name="typeMappingRegistry">
> > > >
> > > >                   <ref bean="xfire.typeMappingRegistry"/>
> > > >
> > > >             </property>
> > > >
> > > >             <property name="xfire">
> > > >
> > > >               <ref bean="xfire"/>
> > > >
> > > >             </property>
> > > >
> > > >             <property name="webAnnotations">
> > > >
> > > >               <ref bean="xfire.commonsAnnotations"/>
> > > >
> > > >             </property>
> > > >
> > > >       </bean>
> > > >
> > > >
> > > >
> > > >       <bean
> > > > class="org.springframework.web.servlet.handler.SimpleUrlHandle
> > > > rMapping">
> > > >
> > > >             <property name="urlMap">
> > > >
> > > >                   <map>
> > > >
> > > >                         <entry key="/">
> > > >
> > > >                               <ref bean="handlerMapping"/>
> > > >
> > > >                         </entry>
> > > >
> > > >                   </map>
> > > >
> > > >             </property>
> > > >
> > > >       </bean>
> > > >
> > > >
> > > >
> > > > </beans>
> > > >
> > > >
> > >
> > >
> > >
> > 
> ---------------------------------------------------------------------
> > > To unsubscribe from this list please visit:
> > >
> > >     http://xircles.codehaus.org/manage_email
> > >
> > >
> > >
> > >
> >
> > 
> ---------------------------------------------------------------------
> > To unsubscribe from this list please visit:
> >
> >     http://xircles.codehaus.org/manage_email
> >
> >
> > 
> ---------------------------------------------------------------------
> > To unsubscribe from this list please visit:
> >
> >     http://xircles.codehaus.org/manage_email
> >
> >
> 
> ---------------------------------------------------------------------
> To unsubscribe from this list please visit:
> 
>     http://xircles.codehaus.org/manage_email
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe from this list please visit:
> 
>     http://xircles.codehaus.org/manage_email
> 
> 

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

    http://xircles.codehaus.org/manage_email

Reply via email to