myeclipse2021(javaweb怎么操作进行人工publish)

本文目录
javaweb怎么操作进行人工publish
一、利用jdk web服务api实现,这里使用基于 SOAP message 的 Web 服务
1.首先建立一个Web services EndPoint:
package Hello;
import javax.jws.WebService;
import javax.jws.WebMethod;
import javax.xml.ws.Endpoint;
@WebService
public class Hello {
@WebMethod
public String hello(String name) {
return "Hello, " + name + "\n";
}
public static void main(String args) {
// create and publish an endpoint
Hello hello = new Hello();
***隐藏网址***
}
}
2.使用 apt 编译 Hello.java(例:apt -d Hello.java ) ,会生成 jaws目录
***隐藏网址***
4.使用wsimport 生成客户端
***隐藏网址***
这时,会在当前目录中生成如下文件:
5.客户端程序:
1class HelloClient{
2public static void main(String args) {
3 HelloService service = new HelloService();
4 Hello helloProxy = service.getHelloPort();
5 String hello = helloProxy.hello("你好");
6 System.out.println(hello);
7 }
8}
9
以上方法还稍显繁琐,还有更加简单的方法
二、使用xfire,我这里使用的是myeclipse集成的xfire进行测试的
利用xfire开发WebService,可以有三种方法:
1一种是从javabean 中生成;
2 一种是从wsdl文件中生成;
3 还有一种是自己建立webservice
步骤如下:
用myeclipse建立webservice工程,目录结构如下:
首先建立webservice接口,
代码如下:
1package com.myeclipse.wsExample;
2//Generated by MyEclipse
3
4public interface IHelloWorldService {
5
6 public String example(String message);
7
8}
接着实现这个借口:
1package com.myeclipse.wsExample;
2//Generated by MyEclipse
3
4public class HelloWorldServiceImpl implements IHelloWorldService {
5
6 public String example(String message) {
7 return message;
8 }
9
10}
修改service.xml 文件,加入以下代码:
1《service》
2 《name》HelloWorldService《/name》
3 《serviceClass》
4 com.myeclipse.wsExample.IHelloWorldService
5 《/serviceClass》
6 《implementationClass》
7 com.myeclipse.wsExample.HelloWorldServiceImpl
8 《/implementationClass》
9 《style》wrapped《/style》
10 《use》literal《/use》
11 《scope》application《/scope》
12 《/service》
***隐藏网址***
然后再展开HelloWorldService后面的wsdl可以看到:
客户端实现如下:
1package com.myeclipse.wsExample.client;
2
3import java.net.MalformedURLException;
4import java.net.URL;
5
6import org.codehaus.xfire.XFireFactory;
7import org.codehaus.xfire.client.Client;
8import org.codehaus.xfire.client.XFireProxyFactory;
9import org.codehaus.xfire.service.Service;
10import org.codehaus.xfire.service.binding.ObjectServiceFactory;
11
12import com.myeclipse.wsExample.IHelloWorldService;
13
14public class HelloWorldClient {
15public static void main(String args) throws MalformedURLException, Exception {
16// TODO Auto-generated method stub
17Service s=new ObjectServiceFactory().create(IHelloWorldService.class);
18XFireProxyFactory xf=new XFireProxyFactory(XFireFactory.newInstance().getXFire());
***隐藏网址***
20
21 try
22 {
23
24 IHelloWorldService hs=(IHelloWorldService) xf.create(s,url);
25 String st=hs.example("zhangjin");
26 System.out.print(st);
27 }
28 catch(Exception e)
29 {
30 e.printStackTrace();
31 }
32 }
33
34}
35
这里再说点题外话,有时候我们知道一个wsdl地址,比如想用java客户端引用.net 做得webservice,使用myeclipse引用,但是却出现无法通过验证的错误,这时我们可以直接在类中引用,步骤如下:
1public static void main(String args) throws MalformedURLException, Exception {
2 // TODO Auto-generated method stub
3 Service s=new ObjectServiceFactory().create(IHelloWorldService.class);
4 XFireProxyFactory xf=new XFireProxyFactory(XFireFactory.newInstance().getXFire());
5
6
7//远程调用.net开发的webservice
***隐藏网址***
9 Object{"531086641","591284436"});
10
11//调用.net本机开发的webservice
***隐藏网址***
13Object{});
14
15}
jsf+hibernate+spring整合的一个异常
呵呵,你是利用myeclipse自动添加的spring和hibernate框架吧。
是有些jar包冲突了。添加spring和添加hibernate的时候,有些jar包重复了,两个不同版本的asm的jar包混在一起导致这种错误。
把重复的删掉就可以了。
如果实在不确定要怎么删掉,给你个参考的意见:
1.去掉类路径上的关于Hibernate的3个lib
asm.jar
asm-attrs.jar
cglib-2.1.3.jar
2.加入Spring中的以下4个lib
asm-2.2.2.jar
asm-commons-2.2.2.jar
asm-util-2.2.2.jar
cglib-nodep-2.1_3.jar

本文相关文章:
sql语言like两个对象怎么写(SQL LIKE 操作符介绍)
2026年8月12日 00:30
内核接口怎么调用(开发操作系统 内核是用C开发的,图形界面是用GTK或QT,界面操作是怎么调用内核呢)
2026年7月30日 02:00
unix系统中运行内核程序进程处于(02 操作系统进阶之进程)
2026年5月11日 17:50
更多文章:
全球新冠肺炎疫情背景下航运发展(盐田港复苏日志:半年历劫从“低谷”到“爆仓” 疫情之后巨轮如何越洋航行)
2026年9月7日 17:10
matlab求解带字母参数方程组(我想matlab求一个关于x,y的方程组 ab c d f e h m n 都是参数)
2026年9月7日 16:30
oracle中的循环语句(下面哪个不是oracle程序设计中的循环语句 a for)
2026年9月7日 15:30
电脑里2个系统怎么删除一个(电脑开机显示有两个系统,如何删除一个)
2026年9月7日 12:20
scrollthrough意思(“scroll”是什么意思)
2026年9月7日 08:00
怎么激活keygen(注册机如何激活cad2008一个简单激活cad2008的方法)
2026年9月7日 06:30
vba编写excel插件(excel vba中能否动态创建控件)
2026年9月7日 04:40




