Web Service 示例

今天看了一些web service的东西, java实现web service的功能比较简单,一个小例子

 

MyWebService类

import javax.jws.*;
import javax.jws.soap.*;

@WebService(targetNamespace="http://localhost:7070/mws")
@SOAPBinding(style=SOAPBinding.Style.RPC)
public class MyWebService
{
	@WebMethod
	@WebResult(name="method01Result")
	public String method01(@WebParam(name="userName") String userName)
	{
		System.out.println("You input name is: " + userName);
		return userName;
	}

	@WebMethod
	public void method02()
	{
		System.out.println("method02");
	}

	public void method03()
	{
		System.out.println("method03");
	}
}

 

 

StartService类

import javax.xml.ws.Endpoint;

public class StartService
{
	public static void main(String[] args) 
	{
		Endpoint.publish("http://localhost:7070/mws", new MyWebService());
	}
}

 

 

MyClient类

package localhost._7070.mws;

public class MyClient
{
	public static void main(String[] args) 
	{
		MyWebServiceService mwss = new MyWebServiceService();
		MyWebService mws = mwss.getMyWebServicePort();
		System.out.println(">>>>>>>>>>>>>" + mws.method01("SunHui"));
		mws.method02();
		mws.method03();
	}
}

 

对类的编译就不说了

生成一个访问服务的客户端:

D:\>wsimport http://localhost:7070/mws?wsdl
parsing WSDL...


generating code...

D:\>

 

运行StartService:

D:\>java StartService

  

运行MyClient:

D:\>java localhost._7070.mws.MyClient

  

服务器端输出:

You input name is: SunHui
method02
method03

  

   客户端输出:

>>>>>>>>>>>>>SunHui

  

   在浏览器输入地址http://localhost:7070/mws?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://localhost:7070/mws" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://localhost:7070/mws" name="MyWebServiceService">
    <types /> 
    <message name="method01">
      <part name="userName" type="xsd:string" /> 
    </message>
    <message name="method01Response">
      <part name="method01Result" type="xsd:string" /> 
    </message>
    <message name="method02" /> 
    <message name="method02Response" /> 
    <message name="method03" /> 
    <message name="method03Response" /> 
    <portType name="MyWebService">
      <operation name="method01">
        <input message="tns:method01" /> 
        <output message="tns:method01Response" /> 
      </operation>
      <operation name="method02">
        <input message="tns:method02" /> 
        <output message="tns:method02Response" /> 
      </operation>
      <operation name="method03">
        <input message="tns:method03" /> 
        <output message="tns:method03Response" /> 
      </operation>
    </portType>
  <binding name="MyWebServicePortBinding" type="tns:MyWebService">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc" /> 
    <operation name="method01">
      <soap:operation soapAction="" /> 
      <input>
        <soap:body use="literal" namespace="http://localhost:7070/mws" /> 
      </input>
      <output>
        <soap:body use="literal" namespace="http://localhost:7070/mws" /> 
      </output>
    </operation>
    <operation name="method02">
      <soap:operation soapAction="" /> 
        <input>
          <soap:body use="literal" namespace="http://localhost:7070/mws" /> 
        </input>
        <output>
          <soap:body use="literal" namespace="http://localhost:7070/mws" /> 
        </output>
    </operation>
    <operation name="method03">
      <soap:operation soapAction="" /> 
        <input>
          <soap:body use="literal" namespace="http://localhost:7070/mws" /> 
        </input>
        <output>
          <soap:body use="literal" namespace="http://localhost:7070/mws" /> 
        </output>
    </operation>
  </binding>
  <service name="MyWebServiceService">
    <port name="MyWebServicePort" binding="tns:MyWebServicePortBinding">
      <soap:address location="http://localhost:7070/mws" /> 
    </port>
  </service>
</definitions>

 

 

wsimport命令:

D:\>wsimport -help

Usage: wsimport [options] <WSDL_URI>

where [options] include:
  -b <path>                 specify jaxws/jaxb binding files or additional schemas
                            (Each <path> must have its own -b)
  -B<jaxbOption>            Pass this option to JAXB schema compiler
  -catalog <file>           specify catalog file to resolve external entity references
                            supports TR9401, XCatalog, and OASIS XML Catalog format.
  -d <directory>            specify where to place generated output files
  -extension                allow vendor extensions - functionality not specified
                            by the specification.  Use of extensions may
                            result in applications that are not portable or
                            may not interoperate with other implementations
  -help                     display help
  -httpproxy:<host>:<port>  specify a HTTP proxy server (port defaults to 8080)
  -keep                     keep generated files
  -p <pkg>                  specifies the target package
  -quiet                    suppress wsimport output
  -s <directory>            specify where to place generated source files
  -target <version>         generate code as per the given JAXWS specification version.
                            version 2.0 will generate compliant code for JAXWS 2.0 spec.
  -verbose                  output messages about what the compiler is doing
  -version                  print version information
  -wsdllocation <location>  @WebServiceClient.wsdlLocation value


Examples:
  wsimport stock.wsdl -b stock.xml -b stock.xjb
  wsimport -d generated http://example.org/stock?wsdl


D:\>

 bean信息:

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "MmsInfo", propOrder = { "contenteId", "title", "fileList", "auditTime", "createTime" })
public class MmsInfo {

	/** ID. */
	@XmlElement(name = "contenteId", required = true)
	private int contenteId;

	/** 标题. */
	@XmlElement(name = "title", required = true)
	private String title;

	/** 资源文件. */
	@XmlElement(name = "fileList", required = true)
	private MmsResourceFiles[] fileList;

	/** 审核通过时间. */
	@XmlElement(name = "auditTime", required = true)
	private String auditTime;

	/** 上传时间. */
	@XmlElement(name = "createTime", required = true)
	private String createTime;

	/**
	 * 获得ID
	 * 
	 * @return ID
	 */
	public int getContenteId() {
		return contenteId;
	}

	/**
	 * 设置ID
	 * 
	 * @param contenteId
	 *            ID
	 */
	public void setContenteId(int contenteId) {
		this.contenteId = contenteId;
	}

	/**
	 * 获得标题
	 * 
	 * @return 标题
	 */
	public String getTitle() {
		return title;
	}

	/**
	 * 设置标题
	 * 
	 * @param title
	 *            标题
	 */
	public void setTitle(String title) {
		this.title = title;
	}

	/**
	 * 获得资源文件
	 * 
	 * @return 资源文件
	 */
	public MmsResourceFiles[] getFileList() {
		return fileList;
	}

	/**
	 * 设置资源文件
	 * 
	 * @param fileList
	 *            资源文件
	 */
	public void setFileList(MmsResourceFiles[] fileList) {
		this.fileList = fileList;
	}

	/**
	 * 获得审核通过时间
	 * 
	 * @return 审核通过时间
	 */
	public String getAuditTime() {
		return auditTime;
	}

	/**
	 * 设置审核通过时间
	 * 
	 * @param auditTime
	 *            审核通过时间
	 */
	public void setAuditTime(String auditTime) {
		this.auditTime = auditTime;
	}

	/**
	 * 获得上传时间
	 * 
	 * @return 上传时间
	 */
	public String getCreateTime() {
		return createTime;
	}

	/**
	 * 设置上传时间
	 * 
	 * @param createTime
	 *            上传时间
	 */
	public void setCreateTime(String createTime) {
		this.createTime = createTime;
	}

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值