zoukankan      html  css  js  c++  java
  • Web Service 开发系列文章之二(一些SOAP相关的内容)

    Web Service 学习第二期

    1、对SOAP的观察和理解

    1.1、使用Eclipse的Web Service Explorer

    选择JavaEE视图 ,如果没有则选择:windowàOpen Perspective à Other

     

    点击 和左边的

    输入服务的URL

    点击go

    点击add 输入参数

    下面显示soap消息

    1.2、基于SOAP的通信方式和基于JAX-WS的通信方式

    1.2.1、初步区别

    基于JAX-WS

    JAX-WS封装了SOAP Java的API自动将Java代码转换成了SOAP消息然后将SOAP请求消息发送个服务器。Java将要通信的对象自动转化成消息了。

    基于SOAP的

    其实也可以直接写一个消息发送给服务器(下面红框中的消息)

    1.2.2、实施

    新建Java项目 新建包

    (1) 创建服务接口

    package org.decarl.soap.service;

    import javax.jws.WebParam;

    import javax.jws.WebResult;

    import javax.jws.WebService;

    @WebService(targetNamespace="http://decarl.soap.org/webservice")

    public interface IMyService {

        @WebResult(name="addResult")

        public int add(@WebParam(name="a") int a,

                 @WebParam(name="b") int b);

    }

    注意:一个很重要的问题

    此服务发布后的WSDL的targetNamespace依旧是根据包生成的命名空间 targetNamespace=http://service.soap.decarl.org/

    当@WebService(targetNamespace="http://decarl.soap.org/webservice")中指定的targetNamespace与包名不同时会将WSDL分成两个

    在上图中的红框下面一句就是导入的自己在@WebService(targetNamespace="http://decarl.soap.org/webservice")

    中指定的命名空间

    (2) 创建服务接口实现类

    package org.decarl.soap.service;

    import javax.jws.WebService;

    //指明服务端接口是谁

    @WebService(endpointInterface="org.decarl.soap.service.IMyService")

    public class MyServiceImpl implements IMyService {

        @Override

        public int add(int a, int b) {

            System.out.println("a + b = " + (a + b));

            return a + b;

        }

    }

    (3) 创建服务类

    package org.decarl.soap.service;

    import javax.xml.ws.Endpoint;

    public class MyServer {

        public static void main(String[] args) {

            Endpoint.publish("http://localhost:8989/ms", new MyServiceImpl());

        }

    }

    1.2.3、SOAP结构

  • 相关阅读:
    表、索引元信息的更新
    接口
    SAP ALV OO 选择行打印
    SAP SMARTFORM 变量显示技巧
    SAP SMARTFORMS-基于内存方式在report程序中传递数据到smartforms显示
    PL/Proxy介绍
    pgpool介绍和安装经验
    pgbouncer介绍
    Hibernate使用时需要注意的几个小问题
    JDBC连接MySQL
  • 原文地址:https://www.cnblogs.com/decarl/p/2503652.html
Copyright © 2011-2022 走看看