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 | ------------------------- 上表没有主键, 所以可能…

MYSQL快速导入大量数据

创建数据表&#xff0c;并导入 1.根据数据特征建表&#xff0c;create语句 2.语句导入数据 LOAD DATA INFILE D:/UsersBehavior.csv INTO TABLE users CHARACTER SET utf8 FIELDS TERMINATED BY , OPTIONALLY ENCLOSED BY " ESCAPED BY " LINES TERMINATE…

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

这是我们北邮某实验室完全自主开发的数据挖掘和分析软件&#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 | ---…

MYSQL错误: ERROR 1205: Lock wait timeout exceeded(处理MYSQL锁等待)解决办法

在运行数据库某一语句的时候&#xff08;数据量大概有一亿条&#xff09;&#xff0c;运行的特别慢&#xff0c;可能是我自己电脑配置不高&#xff0c;因此想删选一些数据但是运行的时候报1205错误。 原因 有会话执行过DML操作&#xff0c;然后没commit提交&#xff0c;再执行…

(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…

AngularJs学习笔记--Modules

原版地址&#xff1a;http://code.angularjs.org/1.0.2/docs/guide/module 一、什么是Module&#xff1f; 很多应用都有一个用于初始化、加载&#xff08;wires是这个意思吗&#xff1f;&#xff09;和启动应用的main方法。angular应用不需要main方法&#xff0c;作为替代&…

电商用户行为分析与挖掘(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…

展开BOM

Select LEVEL, ixkit, ixkitl, ixmmcu, ixitm, ixlitm, ixcmcu From jdedata900.f3002 START WITH ixkit 60661CONNECT BY PRIOR ixitm ixkit; 转载于:https://www.cnblogs.com/AlterMe/archive/2012/09/24/2699424.html

淘宝用户行为分析

前言 现在越来越多的线下转型到了线上经营&#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;我按有…

unzipped list

今天实现了一个unzipped操作&#xff0c;比如 (list (list 1 2) (list 3 4) (list 5 6)) -> (list (list 1 3 5) (list 2 4 6)) 这个实现起来没有什么难度&#xff0c;但是scheme中的表操作折腾了好久才没错。 (define (unzipped l) (if (null? l) (list () ()) (li…

关于数据运营的一点小思考

随着互联网行业的快速发展&#xff0c;其所带来的行业红利和流量红利基本上告别野蛮生长阶段&#xff0c;现代人越来越依赖互联网&#xff0c;看似市场大&#xff0c;但用户选择多&#xff0c;互联网产品淘汰得比刚开始更快。野蛮生长虽然发展快&#xff0c;但是伴随的弊端也随…

BZOJ 2197 [Usaco2011 Mar]Tree Decoration

BZOJ_2197 如果子树中有某个节点不符合要求&#xff0c;即便根再怎么符合要求都是没有任何意义的&#xff0c;因此要优先安排好子树中节点使其符合要求&#xff0c;再考虑根节点。对于任何一棵子树来讲&#xff0c;如果所有孩子选择的点的总和仍然不足根的C值的话&#xff0c;那…