天天看點

webservice之xfire服務搭建及用戶端請求(maven搭建項目)

1. 運作環境

  (1)  作業系統:windows10

  (2) JDK : 1.7

  (3) IDE : Myeclipse10

  (4) xfire : xfire1.2.6

  (5) 伺服器:tomcat7

2.  服務端環境搭建步驟

  (1) 配置maven的配置檔案,下載下傳xfire

   <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

  <modelVersion>4.0.0</modelVersion>

  <groupId>com.dh</groupId>

  <artifactId>TestXfireService</artifactId>

  <packaging>war</packaging>

  <version>0.0.1-SNAPSHOT</version>

  <name>TestXfireService Maven Webapp</name>

  <url>http://maven.apache.org</url>

  <properties>

    <xfire-all.version>1.2.6</xfire-all.version>

  </properties>

  <dependencies>

<!-- https://mvnrepository.com/artifact/org.codehaus.xfire/xfire-all -->

<dependency>

   <groupId>org.codehaus.xfire</groupId>

   <artifactId>xfire-all</artifactId>

   <version>${xfire-all.version}</version>

</dependency>

  </dependencies>

  <build>

    <finalName>TestXfireService</finalName>

  </build>

</project>

(2) 配置web.xml

  <?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"

   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

   xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 

   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

<servlet>

<servlet-name>XFireServlet</servlet-name>

<servlet-class>

org.codehaus.xfire.transport.http.XFireConfigurableServlet

</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>XFireServlet</servlet-name>

<url-pattern>/services

public static void main(String[] args) throws MalformedURLException {

Service service = new ObjectServiceFactory().create(IHelloService.class);  

        XFireProxyFactory factory = new XFireProxyFactory(XFireFactory  

                .newInstance().getXFire());  

        String url = "http://192.168.1.133:8080/TestXfireService/services/HelloService";  

        IHelloService helloService = (IHelloService) factory.create(service,url);  

        helloService.hello("張三");

}

}

注:用戶端調用時,url路徑中不能 帶 “?wsdl”