JAVA Webservice

简介

  1. WebService学习笔记

  2. Java 实现调用WebService的几种方式

  3. 使用wsimport根据WSDL自动生成客户端代码

  4. java 调用webservice的各种方法总结

cmd->wsimport -keep -d 存放class文件的路径 -s 存放Java文件的路径 -p 类的包名 具体的WSDL地址

发布WebService

注解的方式

package com.webservice;

import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;

/** * WebService * 将 Java 类标记为实现 Web Service,或者将 Java 接口标记为定义 Web Service 接口 */
@WebService(serviceName="MyService",targetNamespace="http://www.baidu.com")
public class HelloService implements IHelloService{

    @WebMethod(operationName="AliassayHello")//默认为SayHello
    @WebResult(name="myReturn")//默认为 return
    //@WebParam 默认为 arg0,arg1
    public String sayHello(@WebParam(name="myname") String name){
        return  "hello: " + name;
    }

    public String sayGoodbye(String name){

        return  "goodbye: " + name;
    }

    @WebMethod(exclude=true)//当前方法不被发布出去, 默认为 false
    public String sayHello2(String name){
        return "hello " + name;
    }

    public static void main(String[] args) {
        /** * 参数1:服务的发布地址 * 参数2:服务的实现者 * Endpoint 会重新启动一个线程 */
        Endpoint.publish("http://localhost:8088/test", new HelloService());
        System.out.println("Server ready...");
    }

}

用wsdd(Web Services Deployment Descriptor)发布 Webservice

wsdd+Axis发布Webservice

客户端访问

1.wsimport 自动生成客户端代码,通过代理的模式实现访问

2.通过URL直接发送SOAP报文访问(Java 应用程序,jsp+ajax)

示例源码

基于注解方式发布的Webservice的具体实现

download

WSDD形式的Webservice的具体实现

download

常见问题

1.Eclipse 的Webservice Explorer 打不开,报500错误的原因,把jre8改成jre7就可以解决了。

2.Java应用程序通过 HttpURLConnection访问网址,因为服务器的安全设置不接受Java程序作为客户端访问,解决方案是设置客户端的User Agent,要手工设置安全性

  conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");

3.项目要设置WEB.XM中的的servlet,否则会报错;

你可能感兴趣的:(java,wsdl,webservice)