Martin, Thanks for all the details. I hadn't considered the client generation at this stage, and was planning on just relying on the published wsdl for business consumers to use whatever package they wanted to generate a client from the public wsdl - perhaps this is not a realistic expectation. None the less thanks for the pom excludes / targets. They should prove useful if I go down that route. I'm leaning toward CXF at the moment as I think it won't be a huge step from XFire
Regards, Jim. -----Original Message----- From: Martin Strand [mailto:do.not.eat.yellow.s...@gmail.com] Sent: 29 August 2010 19:07 To: Tapestry users Subject: Re: OT: Web Services On Sun, 29 Aug 2010 19:35:11 +0200, Jim O'Callaghan <j...@peritussolutions.com> wrote: > I'm aware this is off topic, but since there are so many people on the > list > with a broad skill set am hoping I can learn from their experiences / > heartbreak. I am evaluating various WS stacks for interfacing with a > system > - currently I am using XFire as it requires very little configuration and > performs quite efficiently. XFire appears to qualify every xml element > with > a namespace, bloating the payload considerably, or, if using the patch > from > http://jira.codehaus.org/browse/XFIRE-687 appears to have unreliable / > inconsistent namespace qualifiers. Can anyone recommend a good WS stack > they have positive experience of? My constraints are quite liberal - > java > 1.5 up, currently jetty as an AS, spring 3.0.2.RELEASE. Is CXF any > good? I > want to find something with good performance obviously, minimal config, > and > hopefully something that consistently defines package level namespaces > at an > envelope level and reuses them. > > > Many thanks, > > Jim. I've been using axis2 for several years to generate clients for a few 3rd party web services (I presume you're talking about client code) Can't really say I would *recommend* it because it was a pain to get it working with Maven and I haven't even bothered to go through that again with 1.4.x or 1.5.x so I'm still using 1.3. But, it's very simple once you set up the build - Maven will generate POJOs in target/generated-sources/... and when you invoke methods on those POJOs everything "just works". The axis2 1.3 POMs are a mess though so there are lots of excludes here to get rid of unnecessary dependencies: <plugin> <groupId>org.apache.axis2</groupId> <artifactId>axis2-wsdl2code-maven-plugin</artifactId> <executions> <execution> <id>some-service</id> <goals> <goal>wsdl2code</goal> </goals> <configuration> <wsdlFile>${basedir}/src/main/wsdl/some-service.wsdl</wsdlFile> <packageName>com.example.service</packageName> <namespaceToPackages>com.example.service=com.example.service</namespaceToPackages> <syncMode>sync</syncMode> </configuration> </execution> <execution> <id>some-other-service</id> <goals> <goal>wsdl2code</goal> </goals> <configuration> <wsdlFile>${basedir}/src/main/wsdl/some-other-service.wsdl</wsdlFile> <packageName>com.example.other</packageName> <namespaceToPackages>com.example.other=com.example.other</namespaceToPackages> <syncMode>sync</syncMode> </configuration> </execution> </executions> </plugin> ... <dependency> <groupId>org.apache.axis2</groupId> <artifactId>axis2-kernel</artifactId> <version>1.3</version> <exclusions> <exclusion> <groupId>avalon-framework</groupId> <artifactId>avalon-framework</artifactId> </exclusion> <exclusion> <groupId>backport-util-concurrent</groupId> <artifactId>backport-util-concurrent</artifactId> </exclusion> <exclusion> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> </exclusion> <exclusion> <groupId>javax.activation</groupId> <artifactId>activation</artifactId> </exclusion> <exclusion> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> </exclusion> <exclusion> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> </exclusion> <exclusion> <groupId>junit</groupId> <artifactId>junit</artifactId> </exclusion> <exclusion> <groupId>org.apache.woden</groupId> <artifactId>woden</artifactId> </exclusion> <exclusion> <groupId>org.apache.geronimo.specs</groupId> <artifactId>geronimo-jms_1.1_spec</artifactId> </exclusion> <exclusion> <groupId>xml-apis</groupId> <artifactId>xml-apis</artifactId> </exclusion> <exclusion> <groupId>org.codehaus.woodstox</groupId> <artifactId>wstx-asl</artifactId> </exclusion> <exclusion> <groupId>annogen</groupId> <artifactId>annogen</artifactId> </exclusion> <exclusion> <groupId>xalan</groupId> <artifactId>xalan</artifactId> </exclusion> <exclusion> <groupId>stax</groupId> <artifactId>stax-api</artifactId> </exclusion> <exclusion> <groupId>jaxen</groupId> <artifactId>jaxen</artifactId> </exclusion> <exclusion> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> </exclusion> <exclusion> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpcore-niossl</artifactId> </exclusion> <exclusion> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpcore</artifactId> </exclusion> <exclusion> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpcore-nio</artifactId> </exclusion> <exclusion> <groupId>xerces</groupId> <artifactId>xercesImpl</artifactId> </exclusion> <exclusion> <groupId>org.apache.ws.commons.axiom</groupId> <artifactId>axiom-dom</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.axis2</groupId> <artifactId>axis2-adb</artifactId> <version>1.3</version> <exclusions> <exclusion> <groupId>org.apache.ws.commons.axiom</groupId> <artifactId>axiom-dom</artifactId> </exclusion> <exclusion> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> </exclusion> <exclusion> <groupId>xerces</groupId> <artifactId>xercesImpl</artifactId> </exclusion> <exclusion> <groupId>org.codehaus.woodstox</groupId> <artifactId>wstx-asl</artifactId> </exclusion> <exclusion> <groupId>org.apache.geronimo.specs</groupId> <artifactId> geronimo-activation_1.1_spec </artifactId> </exclusion> <exclusion> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> </exclusion> <exclusion> <groupId>javax.activation</groupId> <artifactId>activation</artifactId> </exclusion> <exclusion> <groupId>xalan</groupId> <artifactId>xalan</artifactId> </exclusion> </exclusions> </dependency> --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org