创建基于JAX-WS的WebService的服务端及客户端

整理下WebService的使用方法,理论就不说了,一搜一大堆,主要是快捷的搭建和使用。

这里使用的是JDK1.6.0_45

1、服务端

创建一个Java工程,首先编写一个接口HelloWebService 使用注解

package com.ws;
import javax.jws.WebService;

@WebService  
public interface HelloWebService {  
  
    public String sayHello();  
}
接口的实现
package com.ws;

import javax.jws.WebMethod;
import javax.jws.WebService;

@WebService
public class HelloWebServiceImpl implements HelloWebService {
	@WebMethod
	public String sayHello() {
		return "Hello, WebService";
	}
}

然后是Main方法

package com.main;

import javax.xml.ws.Endpoint;
import com.ws.HelloWebServiceImpl;

public class Test {
	public static void main(String[] args) {
		Endpoint.publish("http://localhost:8080/service/helloWebService",
				new HelloWebServiceImpl());
	}
}

在浏览器中访问 http://localhost:8080/service/helloWebService?wsdl

<?xml version="1.0" encoding="UTF-8" ?> 
- <!--  Published by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.1.6 in JDK 6. 
  --> 
- <!--  Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.1.6 in JDK 6. 
  --> 
- <definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://ws.com/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://ws.com/" name="HelloWebServiceImplService">
- <types>
- <xsd:schema>
  <xsd:import namespace="http://ws.com/" schemaLocation="http://localhost:8080/service/helloWebService?xsd=1" /> 
  </xsd:schema>
  </types>
- <message name="sayHello">
  <part name="parameters" element="tns:sayHello" /> 
  </message>
- <message name="sayHelloResponse">
  <part name="parameters" element="tns:sayHelloResponse" /> 
  </message>
- <portType name="HelloWebServiceImpl">
- <operation name="sayHello">
  <input message="tns:sayHello" /> 
  <output message="tns:sayHelloResponse" /> 
  </operation>
  </portType>
- <binding name="HelloWebServiceImplPortBinding" type="tns:HelloWebServiceImpl">
  <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" /> 
- <operation name="sayHello">
  <soap:operation soapAction="" /> 
- <input>
  <soap:body use="literal" /> 
  </input>
- <output>
  <soap:body use="literal" /> 
  </output>
  </operation>
  </binding>
- <service name="HelloWebServiceImplService">
- <port name="HelloWebServiceImplPort" binding="tns:HelloWebServiceImplPortBinding">
  <soap:address location="http://localhost:8080/service/helloWebService" /> 
  </port>
  </service>
  </definitions>

2、客户端使用JDK的bin目录下的wsimport创建需要的文件,请配置好JAVA_HOME,CLASS_PATH
JAVA_HOME:    D:\Program Files\Java\jdk1.6.0_45
CLASS_PATH:   .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

在命令行中输入
wsimport -verbose -p com.ws -keep http://localhost:8080/service/helloWebService?wsdl

在C:\Documents and Settings\用户名 目录中找到com/ws下的所有文件创建一个Java工程将com目录下的所有文件拷贝进去,创建一个测试类
package com.main;

import com.ws.HelloWebServiceImpl;
import com.ws.HelloWebServiceImplService;

public class WsClient {

	public static void main(String[] args) {

		HelloWebServiceImplService uisis = new HelloWebServiceImplService();
		HelloWebServiceImpl uis = uisis.getHelloWebServiceImplPort();
		System.out.println(uis.sayHello());
	}
}

返回结果为Hello, WebService
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值