Java6 WebService学习

参考了网络上中资料,自己学习实践了一个Java6 WebService.

首先,建立一个WebService:

 

package garfield;

import javax.jws.WebService;
import javax.xml.ws.Endpoint;


@WebService
public class MyJ6WebService {
        public String SayHello(String strName) {
                return "Hello ,"+strName+"!";
        }

        public static void main(String[] args) {
                //发布WebService,注意如果提示:Exception in thread "main" com.sun.xml.internal.ws.server.ServerRtException: Server Runtime Error: java.net.BindException: Address already in use: bind
                
//则需要修改一下发布端口
                Endpoint.publish("http://localhost:8030/garfield.MyJ6WebService", new MyJ6WebService());
                System.out.println("WebService was published success !");
        }
}

启动Tomcat,然后运行,系统会输出:WebService was published success !,表示WebService已启动。

 

可以在浏览器中输入地址:http://localhost:8030/garfield.MyJ6WebService?wsdl

显示WebService信息:

 

<?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.2.4-b01. 
  
--> 
<!--  Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.2.4-b01. 
  
--> 
<definitions xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsp="http://www.w3.org/ns/ws-policy" xmlns:wsp1_2="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://garfield/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://garfield/" name="MyJ6WebServiceService">
<types>
<xsd:schema>
  <xsd:import namespace="http://garfield/" schemaLocation="http://localhost:8030/garfield.MyJ6WebService?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="MyJ6WebService">
<operation name="SayHello">
  <input wsam:Action="http://garfield/MyJ6WebService/SayHelloRequest" message="tns:SayHello" /> 
  <output wsam:Action="http://garfield/MyJ6WebService/SayHelloResponse" message="tns:SayHelloResponse" /> 
  </operation>
  </portType>
<binding name="MyJ6WebServicePortBinding" type="tns:MyJ6WebService">
  <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="MyJ6WebServiceService">
<port name="MyJ6WebServicePort" binding="tns:MyJ6WebServicePortBinding">
  <soap:address location="http://localhost:8030/garfield.MyJ6WebService" /> 
  </port>
  </service>
  </definitions>

 

 

在WebService启动的状态下,在命令行中输入:

 

E:\Temp>wsimport -p garfield.garfieldj6wsclient -keep http://localhost:8030/garf
ield.MyJ6WebService?wsdl
parsing WSDL...


generating code...


compiling code...


E:\Temp>

注意,一定要对应你发布的WebService信息!

 

然后系统会自动生成相关的接口文件,如下:

 

新建Java工程,将输出文件引入,然后建立测试类:

 

package xxh;

import garfield.garfieldj6wsclient.*;

public class WebClient {
        /**  
         * 
@param args  
         
*/  
        public static void main(String[] args) {   
             //创建一个客户端服务对象 
            MyJ6WebService myJ6WS = new MyJ6WebServiceService().getMyJ6WebServicePort(); 
            //调用服务方法,并得到方法返回值 
            String strTest = myJ6WS.sayHello("Garfield"); 
            //打印服务的返回值 
            System.out.println(strTest); 
        }   
}

 

 在WebService运行情况下,运行客户端测试程序,输出:

Hello ,Garfield!

 

 

转载于:https://www.cnblogs.com/GarfieldTom/archive/2012/09/14/2684361.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/474948.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

公司人员离职情况分析及预测(工具:python)

前言 目前社会上呈现出一种公司招不到人&#xff0c;大批失业人员的矛盾现象&#xff0c;且大部分公司的离职率居高不下&#xff0c;很多入职没多久就辞职&#xff0c;所花费的培训招聘等资源都浪费了。为了弄清楚公司员工离职原因&#xff0c;通过kaggle上某一家企业员工离职…

LeetCode MySQL 1241. 每个帖子的评论数

文章目录1. 题目2. 解题1. 题目 表 Submissions 结构如下&#xff1a; ------------------------- | 列名 | 类型 | ------------------------- | sub_id | int | | parent_id | int | ------------------------- 上表没有主键, 所以可能…

新浪微博数据网络舆情分析客户端软件

这是我们北邮某实验室完全自主开发的数据挖掘和分析软件&#xff0c;用于处理海量数据&#xff0c;建立从数据采集&#xff0c;整理&#xff0c;分析&#xff0c;可视化&#xff0c;存储的全部服务。目前程序正在不断开发中。将在后期发布其测试版本。 转载于:https://www.cnbl…

LeetCode MySQL 1141. 查询近30天活跃用户数

文章目录1. 题目2. 解题1. 题目 活动记录表&#xff1a;Activity ------------------------ | Column Name | Type | ------------------------ | user_id | int | | session_id | int | | activity_date | date | | activity_type | enum | ---…

(jquery插件)打造百分比动态色彩条

以前没写过jquery插件&#xff0c;在开发这个时&#xff0c;写一下代码&#xff0c;又看一下jquery插件的定义&#xff08;如何开发之类的东东&#xff09;&#xff0c;来来去去的。 之所以要写这个插件&#xff0c;主要是为了往后的项目中方便实现这类型的功能&#xff0c;在之…

LeetCode MySQL 1517. Find Users With Valid E-Mails(正则表达式)

文章目录1. 题目2. 解题1. 题目 Table: Users ------------------------ | Column Name | Type | ------------------------ | user_id | int | | name | varchar | | mail | varchar | ------------------------user_id is the primary ke…

数据分析-书籍整理(三)

《淘宝网店大数据营销》一套网店搭建的整体体系&#xff0c;从如何做好网店展开说&#xff0c;有很多实用方法&#xff0c;对运营有很大的帮助&#xff0c;方便数据分析人员理解业务 《京东平台数据化运营》讲解了一些京东的知识&#xff0c;很多更淘宝运营相似&#xff0c;只…

基于消息队列的日志组件

1 简介 1.1 类图 1.2 说明 日志支持的存储方式有&#xff1a;文本&#xff0c;xml,数据库三种。如果采用数据库方式&#xff0c;支持的数据库有sql server、oracle。日志采用读写分离的方式&#xff0c;客户端发送日志到消息队列&#xff0c;然后服务端程序读取消息队列&…

LeetCode MySQL 1495. Friendly Movies Streamed Last Month

文章目录1. 题目2. 解题1. 题目 Table: TVProgram ------------------------ | Column Name | Type | ------------------------ | program_date | date | | content_id | int | | channel | varchar | ------------------------ (program_date, conte…

电商用户行为分析与挖掘(MYSQL数据分析+SPSS构建RFM模型)

前言 毫不夸张的说在中国除了婴幼儿及七八十以上的老年人&#xff0c;都有过网购经历。电商公司就如雨后春笋般迅速发展。了解用户的网购行为&#xff0c;有助于商家定品类&#xff0c;定营销方案等。利用数据分析与挖掘&#xff0c;争取做到比顾客自己还了解TA自己。 文章目录…

LeetCode MySQL 1113. 报告的记录

文章目录1. 题目2. 解题1. 题目 动作表&#xff1a;Actions ------------------------ | Column Name | Type | ------------------------ | user_id | int | | post_id | int | | action_date | date | | action | enum | | extra…

淘宝用户行为分析

前言 现在越来越多的线下转型到了线上经营&#xff0c;线下体验店线上购物将成为日后消费的大趋势。分析用户行为&#xff0c;走好转型之路&#xff0c;掌握先机快人一步。 文章目录前言一、背景Ⅰ 数据来源Ⅱ 数据背景Ⅲ 分析目的二、探索性分析Ⅰ 导入数据Ⅱ 数据处理1、缺失…

LeetCode 第 198 场周赛(434/5778,前7.51%)

文章目录1. 比赛结果2. 题目1. LeetCode 5464. 换酒问题 easy2. LeetCode 5465. 子树中标签相同的节点数 medium3. LeetCode 5466. 最多的不重叠子字符串 medium4. LeetCode 5467. 找到最接近目标值的函数值 hard1. 比赛结果 第二题图的边给的不一定按顺序的&#xff0c;我按有…

LeetCode MySQL 619. 只出现一次的最大数字

文章目录1. 题目2. 解题1. 题目 表 my_numbers 的 num 字段包含很多数字&#xff0c;其中包括很多重复的数字。 你能写一个 SQL 查询语句&#xff0c;找到只出现过一次的数字中&#xff0c;最大的一个数字吗&#xff1f; --- |num| --- | 8 | | 8 | | 3 | | 3 | | 1 | | 4 |…

幸福感数据分析与预测

文章目录分析目的一、数据采集1、 数据来源2、 数据说明二、数据传输三、数据处理1、查看数据2、缺失值处理3、合并数据集4、时间数据处理5、分组及One-hot编码处理四、数据分析1、描述性统计2、探索性分析1 是否与所在地是城市or农村有关2 是否与性别有关3 是否与年龄有关4 是…

LeetCode MySQL 1142. 过去30天的用户活动 II

文章目录1. 题目2. 解题1. 题目 Table: Activity ------------------------ | Column Name | Type | ------------------------ | user_id | int | | session_id | int | | activity_date | date | | activity_type | enum | ------------------…

MYSQL练习题

MYSQL练习题 数据表建立代码及题目解答 提取码&#xff1a;e6lk

LeetCode MySQL 1280. 学生们参加各科测试的次数

文章目录1. 题目2. 解题1. 题目 学生表: Students ------------------------ | Column Name | Type | ------------------------ | student_id | int | | student_name | varchar | ------------------------主键为 student_id&#xff08;学生ID&#xff09;&a…

LeetCode MySQL 597. 好友申请 I :总体通过率

文章目录1. 题目2. 解题1. 题目 在 Facebook 或者 Twitter 这样的社交应用中&#xff0c;人们经常会发好友申请也会收到其他人的好友申请。现在给如下两个表&#xff1a; 表&#xff1a; friend_request | sender_id | send_to_id |request_date| |-----------|------------…

贷款利润最大化——利用随机森林和逻辑回归

文章目录分析目的一、数据采集1、数据来源2、数据说明二、数据传输三、数据处理1、查看数据2、清理无用特征值3、标签列分析4、清理只单一值的列5、空值处理6、数据类型转换四、数据挖掘1、构建模型2、导入算法五、总结分析目的 本文针对某信贷网站提供的2007-2011年贷款申请人…