`
winyee
  • 浏览: 53399 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

CXF Client

    博客分类:
  • Java
阅读更多
1.Create project with maven
2.add in pom.xml
<dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-frontend-jaxws</artifactId>
            <version>2.2.4</version>

        </dependency>

                <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-transports-http</artifactId>
            <version>2.2.4</version>
        </dependency>


and it in build section
<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.0.2</version>
                <configuration>
                    <source>1.5</source>
                    <target>1.5</target>
                </configuration>
            </plugin>


3.Copy the wsdl to src/main/resources/wsdl/;
4.add code generator plugin for generating java code.
  <plugin>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-codegen-plugin</artifactId>
                <version>2.2.4</version>
                <executions>
                    <execution>
                        <id>generate-sources</id>
                        <phase>generate-sources</phase>
                        <configuration>
                            <sourceRoot>${basedir}/target/generated-sources/cxf-codegen</sourceRoot>
                            <wsdlOptions>
                                <wsdlOption>
                                    <wsdl>${basedir}/src/main/resources/wsdl/authService.wsdl</wsdl>
                                </wsdlOption>
                            </wsdlOptions>
                        </configuration>
                        <goals>
                            <goal>wsdl2java</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>


5.compile the project
6.test it
public class App 
{
    public static void main( String[] args )
    {
        JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
        factory.setServiceClass(AuthService.class);
        factory.setAddress("http://localhost:8080/cxf/service/cxfAuth");
        AuthService client = (AuthService)factory.create();
        Employee employee = client.getEmployee("2323");
        System.out.println("Name: " + employee.getFirstName() + " " + employee.getLastName());
        System.exit(0);
    }
}


7.done.

8.using spring, create a config
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:jaxws="http://cxf.apache.org/jaxws"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
       http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">

     <jaxws:client id="cxfClient" serviceClass="org.yy.cxf.service.AuthService"
        address="http://localhost:8080/cxf/service/cxfAuth" />
</beans>


9. Test code
public class App {

    public static void main(String[] args) {

        AbstractApplicationContext ctx = new ClassPathXmlApplicationContext("classpath:appctx.xml");
        ctx.registerShutdownHook();
        AuthService client = (AuthService) ctx.getBean("cxfClient");
         Employee employee = client.getEmployee("2323");
        System.out.println("Name: " + employee.getFirstName() + " " + employee.getLastName());
        System.exit(0);
    }
}

10.ok
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics