java wsimport生成 sap,WebService-01入门篇(简单实现)

一、准备工作(以下为本实例使用工具)

1、MyEclipse10.7.1

2、JDK 1.6.0_22

二、创建服务端

1、创建【Web Service Project】,命名为【TheService】。

41d64f42cd4b7eb5bc796945005bce44.png

a8a96235a3f9adb7aaad231ba052b0c5.png

2、创建【Class】类,命名为【ServiceHello】,位于【com.hyan.service】包下。

91093594361d49b451b20482427b88d7.png

543c677c669314180da1ce1adc8058a9.png

3、编写供客户端调用的方法,即编译方法代码。

这里需要注意两点

1.引包

2.@WebService注释

package com.hyan.servie;

import javax.jws.WebService;

import javax.xml.ws.Endpoint;

@WebService

public class ServiceHello {

public String getValue(String name){

return "我叫"+name;

}

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

String uri = "http://localhost:9001/Service/ServiceHello";

Endpoint.publish(uri, new ServiceHello());

System.out.println("service success:"+uri);

}

}

4、进行编译

说明:编译失败的话,请将该项目引用的jdk设置为1.6.0_17版本或更高版本

bca4233fc365e4febbf91ec6f6435e94.png

94ff13abc85df9ac226bd84a85f9a420.png

5、测试结果

This XML file does not appear to have any style information associated with it. The document tree is shown below.

三、生成客户端

1、创建【Web Service Project】,命名为【TheClient】。

223712525ce3a84f4838d91c312fc586.png

78daa8aff583c155cb86b46cf4880628.png

a548a3701de011f5e6760e0bb1f5ad8d.png

2、命令提示窗口执行生成命令。

格式:wsimport -s"src目录"-p“生成类所在包名”-keep “wsdl发布地址”

示例:

wsimport -s G:\\workspace\\webService\\TheClient\\src -p com.hyan.client -keep http://localhost:9001/Service/ServiceHello?wsdl

说明:

1)"src目录"地址不可含空格

2)“wsdl发布地址”不要漏了“?wsdl”

d82c0bd110f03045c8b477e7632c15dd.png

3、刷新项目,检查生成类

6f0d4fe7ae103b666793b89195c5bb77.png

bfd151768b3878efc971737a866c963a.png

四、最终测试

1、创建【Class】类,命名为【ServiceTest】,位于【com.hyan.test】包下。

dd5e742c728f582b2bd50dc44fcc554c.png

6237ac99f940cf202a7fa3094f9d542a.png

package com.hyn.test;

import com.hyn.client.ServiceHello;

import com.hyn.client.ServiceHelloService;

public class ServiceTest {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

ServiceHello helloPort = new ServiceHelloService().getServiceHelloPort();

String value = helloPort.getValue(",Hyan");

System.out.println(value);

}

}

2、运行测试方法,并打印返回的结果。

五、注意事项

1、JDK版本过低问题

报类似如下的异常:runtime modeler error: Wrapper class com.hyan.service.jaxws.GetValue is not found. Have you run APT to generate them?

299b223dd0a93bef2f0a28008628ceaa.png

原因:JDK版本低于1.6.0_17

解决方法:调整该服务端项目所引用的JDK版本为安装的高版本JDK

c9854d4ca522dd4ef9558155827c5915.png

21acf0712e00f05830258821853bad3e.png

b1736d73009a421eee02fabfccb8a583.png

798efcfa635257213d224975f77ee2b9.png

f6fae46c70c31d1c557b7711ba4ffaef.png

2eb2343a9d6a7176fb5b81b3d8a4cde5.png

5924ec14c068f556341dbd83f3f2b251.png

6244006b27303170fb83657496487ef8.png

9ba56512ee9f5beedd648c7618585f77.png

3791b5ad104a2bb364638cde874b9c02.png

7beb1141e24d32069fd2fde50b8b1312.png

2、生成命令路径含空格问题

报类似如下的异常:directory not found: G:\SVN_FILE\GB\05

4bd9ec3a9264e7e8e06385ed99ec77c0.png

原因:客户端src路径不可含有空格

解决方法:在不含空格路径的文件夹下重新创建客户端即可。

3、生成命令不完整问题

报类似如下的异常:[ERROR] failed.noservice=Could not find wsdl:service in the provided WSDL(s):

43d905c0f7983f2c2c92b1e7b9288a22.png

原因:生成命令末尾缺少“?wsdl”

解决方法:补上即可。

错误不完整的命令示例:

wsimport -s G:\\workspace\\webService\\TheClient\\src -p com.hyan.client -keep http://localhost:9001/Service/ServiceHello

正确完整的命令示例:

wsimport -s G:\\workspace\\webService\\TheClient\\src -p com.hyan.client -keep http://localhost:9001/Service/ServiceHello?wsdl

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值