本篇文章还以HelloService为例。
完整的HelloService.java文件如下
package cn.itcast.ws;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;
/**
* 将java类标记为web service 或者将java 接口标记为定义web service 接口
* @author Administrator
* 这个注解必须得加入
*/
@WebService
public class HelloService {
/**
* jdk发布web service
* @param args
*/
public static void main(String[] args) {
/**
* 参数1:服务的发布地址
* 参数2:服务的实现者
*/
Endpoint.publish("http://192.168.1.100:6789/hello", new HelloService());
// 访问的时候用这个地址
// http://192.168.1.100:6789/hello?wsdl
System.out.println("server start ...");
}
public String sayHello(String name){
return "hello:"+ name;
}
}
点击run as -> java application ,发布该web 服务。
1.选择launch the web Services Explore
2.选择WSDL page,画面跳转至wsdl main。
3.输入wsdl url ,点击go。
4.找到你访问的方法,如“sayHello”,点击进入。
5.点击“add”。
6.输入values,点击go。
7.在status中,点击source。
8.通过上述操作,就可以在“SOAP Request Envelope:”中看到我们要的soap请求了。当然你也可以通过自己的方法找soap。
内容如下:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:q0="http://ws.itcast.cn/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<q0:sayHello>
<arg0>我是来测试的</arg0>
</q0:sayHello>
</soapenv:Body>
</soapenv:Envelope>