webservice接口(一)

以下开发流程均在eclipse下进行。

一.XFIRE

准备工作,下载Xfire1.2.6完整包,我的下载地址是:http://download.csdn.net/detail/chenfu_2002/4514978,

另外再给出一个使用maven开发的Xfire1.2.6下载地址:http://download.csdn.net/download/gao_zhuang/4342482。

1.首先创建一个Dynamic Web Project,此时应该是一个空的工程;

2.解压之前下载的文件,并将其中的lib库导入过来,全部导过来即可;

3. 然后修改web-info下面的web.xml文件,配置信息如下:

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

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

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

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

http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

    <servlet>

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

        <servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class>

        <load-on-startup>0</load-on-startup>

    </servlet>     

    <servlet-mapping>

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

        <url-pattern>/services/*</url-pattern>

    </servlet-mapping>       

    <welcome-file-list>

        <welcome-file>index.jsp</welcome-file>

    </welcome-file-list>   

</web-app>

4.编写service代码,简单举例如下:

Hello.java

package com.xfire.hello;

public interface Hello {

    public String sayHello(String username) throws Exception;

}

HelloImpl.java

package com.xfire.hello.impl;

import com.xfire.hello.Hello;

public class HelloImpl implements Hello {

    public String sayHello(String username) throws Exception{

       // TODO Auto-generated method stub

       System.out.println("service----------"+username);

       return "Hello" + username;

    }

}

5.配置services.xml

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

<beans xmlns="http://xfire.codehaus.org/config/1.0">

    <service><name>Hello</name>

    <namespace>http://www.sgcc.com.cn/sggis/service/gisservice</namespace>

    <serviceClass>com.xfire.hello.Hello</serviceClass>

    <implementationClass>com.xfire.hello.impl.HelloImpl</implementationClass></service>

</beans>

此文件中可以配置多个service服务,name是我们对外公布的服务名,所以在配置多个服务时要做唯一标识。

6.发布webservice服务端

将项目发布到tomcat上,然后启动服务,输入地址http://localhost:8080/个人的项目名称/services/Hello?wsdl,能够看到wsdl的描述语言即证明发布成功。

7.导出服务端jar包

右键Export即可,命名为Hello.jar。

8.客户端创建

新建一个javaProject工程,引入所需要的jar包,这里需要导入的包为:Hello.jar,Junit,xfire1.2.6核心包,common-httpclient-3.1.jar

9.建立一个Junit测试用例

@Test

public void testSayHello() throws Exception {

    Service service = newObjectServiceFactory().create(Hello.class);

    // 创建web服务器代理

    XFire xfire = XFireFactory.newInstance().getXFire();

    XFireProxyFactory factory = new XFireProxyFactory(xfire);

    // 获取wsdl调用的地址

    String url = "http://localhost:8080/个人的项目名称/services/Hello";

    // 生成服务调用对象

    Hello hello = (Hello) factory.create(service, url);

    String rs = hello.sayHello("gary");

    System.out.println("client==========" + rs);



转载于:https://my.oschina.net/u/2296601/blog/657820

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值