myeclipse5.5.1开发webService

    听说现在java中开发 webService的东东好像有2个:XFrie和AXIS,当然,还有SUN自己的JWSDP,可能还有很多,但是我就知道一个myeclipse5.5.1自己带的XFrie1.2,当然了,实际的应用中也没用过,写出来就算是个参考吧!  
  前提是模拟银行的一次转帐交易。
   启动myeclipse,选择新建工程

   这时,已经给你建立了基本的目录结构

   现在就写俩个类。实现转帐的具体过程。本着面向接口编程的原则,具体实现如下:

   接口IBankingService:

package com.mybank.xfire.example;
public interface IBankingService 
{
   public String transferFunds(String fromAccount,String toAccount,
          double amount, String currency);
}


 

  接口实现如下:    

package com.mybank.xfire.example;

import java.text.DecimalFormat;
import java.text.NumberFormat;

public class BankingService implements IBankingService 
{
  public BankingService() { };

  public String transferFunds(String fromAccount, String toAccount,double amount, String currency) 

{
  String statusMessage = "";
  try 
  {
     NumberFormat formatter = new DecimalFormat("###,###,###,###.00");
     statusMessage = "COMPLETED: " + currency + " " + formatter.format(amount)
       + " was successfully transferred from A/C# " + fromAccount + " to A/C# " + toAccount;
  } 
  catch (Exception e) 
  {
   statusMessage = "BankingService.transferFunds(): EXCEPTION: " + e.toString();
  }
  return statusMessage;
 }
}


 

   web.xml文件配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5"
 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>

 <servlet-mapping>
  <servlet-name>XFireServlet</servlet-name>
  <url-pattern>/servlet/XFireServlet/*</url-pattern>
 </servlet-mapping>

 <welcome-file-list>
  <welcome-file>index.jsp</welcome-file>
 </welcome-file-list>
</web-app>


 

    services.xml文件配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xfire.codehaus.org/config/1.0">
 <service>
  <name>Banking</name>
  <namespace>mybank</namespace>
  <serviceClass>
   com.mybank.xfire.example.IBankingService
  </serviceClass>
  <implementationClass>
   com.mybank.xfire.example.BankingService
  </implementationClass>
  <style>wrapped</style>
  <use>literal</use>
  <scope>application</scope>
 </service>
</beans>


 

    现在就写好了,发布到myeclipse支持的容器上就可以了。访问:http://localhost:8080/test/services/Banking?wsdl  如果能发现显示的是一堆xml文件就差不多了。

    下面再编写一侧是类来测试下: 

package com.mybank.xfire.example;

import java.net.MalformedURLException;
import org.codehaus.xfire.XFireFactory;
import org.codehaus.xfire.client.XFireProxyFactory;
import org.codehaus.xfire.service.Service;
import org.codehaus.xfire.service.binding.ObjectServiceFactory;
public class client 

{

 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  Service srvcModel = new ObjectServiceFactory()
    .create(IBankingService.class);
  XFireProxyFactory factory = new XFireProxyFactory(XFireFactory
    .newInstance().getXFire());

  String helloWorldURL = "http://localhost:8080/test/services/Banking";
  try 

  {
     IBankingService srvc = (IBankingService) factory.create(srvcModel, helloWorldURL);
     System.out.print(srvc.transferFunds("张三", "李四", 10000, "清理欠款"));
  }

  catch (MalformedURLException e) 

  {
    e.printStackTrace();
  }

 }

}


 

   最后,启动服务器,运行run as..,看看结果吧!上面的测试类用到了工厂方法,大家可以看看相关设计模式。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值