xFire实现Java间自定义类型的WebService调用(一)

 准备工作

安装MyEclipse 6.0,下载地址:http://downloads.myeclipseide.com/downloads/products/eworkbench/6.0.1GA/MyEclipse_6.0.1GA_E3.3.1_FullStackInstaller.exe

创建WebService服务端

1、新建WebService工程

    1:)选择菜单栏的"File"  -> "New"  -> "Project"
    2:)在图1所示的界面上选择"Web Service Project"
    3:)按照图2界面上的内容进行设置后,点击"Finish"完成创建


图 1


图 2

2、创建WebService服务

    1:)右击工程名“xFireServer”,选择"New" -> "Other"
    2:)在图3的界面上选择“Web Service”
    3:)如图4、图5所示进行设置,最终生成如图6所示的界面


图 3


图 4


图 5


图 6

3、添加自定义类型

    1:)右击“src”,选择"New" -> "Package",新建一个名为"bean"的包
    2:)右击“bean”,选择"New" -> "Class",新建一个名为"Info"的类,代码如下:

package  bean;

public   class  Info  ... {
    
    
private String name;            // 姓名
    private int age;                // 年龄
    private String profession;        // 职业
    
    
public String getName() ...{
        
return name;
    }

    
public void setName(String name) ...{
        
this.name = name;
    }

    
public int getAge() ...{
        
return age;
    }

    
public void setAge(int age) ...{
        
this.age = age;
    }

    
public String getProfession() ...{
        
return profession;
    }

    
public void setProfession(String profession) ...{
        
this.profession = profession;
    }

    
}


    3:)修改ITestService.java和TestServiceImpl.java里的实现方法,代码如下所示:

package  org;

import  bean.Info;

// Generated by MyEclipse

public   interface  ITestService  ... {
    
    
public String complexTypeIsPara(Info info);
    
    
public Info complexTypeIsResult(String name, int age, String profession);
    
}

 

package  org;

import  bean.Info;

// Generated by MyEclipse

public   class  TestServiceImpl  implements  ITestService  ... {

    
public String complexTypeIsPara(Info info) ...{
        String name 
= info.getName();
        
int age = info.getAge();
        String profession 
= info.getProfession();
        
return "姓名:" + name + " / 年龄:" + age + " / 职业:" + profession;
    }


    
public Info complexTypeIsResult(String name, int age, String profession) ...{
        Info info 
= new Info();
        info.setName(name);
        info.setAge(age);
        info.setProfession(profession);
        
return info;
    }

}

    4:)(这一步好像可以省略,我没有加,但网上很多人都说要加)  在ITestService.java的同一包下创建ITestService.aegis.xml,代码如下:

<? xml version = " 1.0 "  encoding = " UTF-8 " ?>
< mappings >
    
< mapping >
        
< method name = " complexTypeIsPara " >
            
< parameter index = " 0 "  componentType = " bean.Info " />
        
</ method >

        
< method name = " complexTypeIsResult " >
            
< return - type componentType = " bean.Info " />    <!--  定义返回集合类型中元素的type  -->
        
</ method >
    
</ mapping >
</ mappings >


4、部署工程至Tomcat

    1:)点击菜单栏中的,出现如图7所示的界面,点击“Add”
    2:)按图8所示进行设置,部署成功的界面如图9所示


图 7


图 8


图 9

5、启动Tomcat

    点击菜单栏中的,选择"MyEclipse Tomcat" -> "Start",在IE里输入 http://localhost:8080/xFireServer/services/TestService?wsdl 如果没有异常,那么将显示xml文档,表明WebService的服务端已成功创建了。

    小结:第一次图文并茂地讲述一个功能的实现,花了不少时间,由于Csdn不支持大图片的上传,所以截图后还要自己对图片做些修改和压缩,感觉比较累,看来图书的作者也不好当啊!
    这一节先到此为止,下一节将讲述如何测试部署后的WebService以及如何用MyEclipse自带的WebService Client功能,实现客户端的调用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
调用WebService服务的方法有多种。一种方法是利用命令或工具将WebService提供的wsdl文件生成对应的java类,这样就可以像调用本地类一样调用WebService提供的接口。这种方法的优点是调用简单,无需自己编写太多的东西,但缺点是生成的代码过于庞大,不便于阅读。 另一种方法是使用不同的Java框架来调用WebService服务。例如,可以使用XFire框架进行调用。可以通过导入相关的包和编写相应的代码来调用WebService服务。以下是使用XFire框架调用WebService的示例代码: ``` import org.codehaus.xfire.client.Client; import java.net.URL; public class WebServiceTest { public static void main(String[] args) { try { // 服务地址 String url = "http://127.0.0.1:8080/service-test/services/gateway?wsdl"; // 方法名 String method = "invoke"; Client client = new Client(new URL(url)); Object[] result = client.invoke(method, new Object[]{"test", "queryOrder", "{\"tradeno\":\"1648100061003\",\"mchid\":\"10001\"}"}); System.out.println("服务调用结果:" + result<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [调用webservice服务方式总结](https://blog.csdn.net/liuyunyihao/article/details/125083983)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值