Could someone reopen the issue please? I don't seem to be able to attach while it's closed.
> -----Original Message----- > From: Chris Thatcher [mailto:[EMAIL PROTECTED] > Sent: Friday, December 01, 2006 5:43 PM > To: user@xfire.codehaus.org > Subject: Re: [xfire-user] xfire client using jaxb [was: > help!- spring2, jaxb2 config setup] > > lets go ahead and use XFire-509 for now. You should be able > to attach that there. To me it does sound like for some > reason Jaxb is not actully handling the unmarshalling, > becuase it wouldnt complain about the absence of a setter on > the list, whereas other marshallers would. > > Thanks, > Thatcher > > ----- Original Message ----- > From: "Karl Palsson" <[EMAIL PROTECTED]> > To: <user@xfire.codehaus.org> > Sent: Friday, December 01, 2006 12:25 PM > Subject: RE: [xfire-user] xfire client using jaxb [was: > help!- spring2, > jaxb2 config setup] > > > > > 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 > > > > > --------------------------------------------------------------------- > 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