java apiimpl怎么调用 service接口

2024-12-03 08:07:37
推荐回答(1个)
回答1:

  一、利用jdk web服务api实现,这里使用基于SOAP message的Web服务 
 ①.首先建立一个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();
Endpoint endpoint = Endpoint.publish("

, hello);
 }
 }
 ②.使用apt编译Hello.java(例:apt -d [存放编译后的文件目录] Hello.java ) ,
会生成jaws目录
 ③.使用java Hello.Hello运行,然后将浏览器指向

就会出现下列显示
 ④.使用wsimport生成客户端使用如下:
  wsimport -p . -keep

这时,会在当前猛闷灶目录中生成如下文件:
 ⑤.客户端程序:
1 class HelloClient{
2 public 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 }
以上方法还稍显繁琐,还有更加简单的方法

  二、使用xfire,我这里使用的是myeclipse集成的xfire进行测试的利用xfire开发WebService,可以有三种方法:
1. 一种是枝扮从javabean中生成;
 2. 一种是从wsdl文件中生成;
3. 还有一种是自己建立webservice
  步骤如下:
  用myeclipse建立webservice工程,目录结构如下:首先建立webservice接口,
代码如下:
1 package com.myeclipse.wsExample;
  2 //Generated by MyEclipse
  3
  4 public interface IHelloWorldService {
  5
6 public String example(String message);
  7
  8 }
接罩链着实现这个借口:
1 package com.myeclipse.wsExample;
  2 //Generated by MyEclipse
  3
  4 public class HelloWorldServiceImpl implements IHelloWorldService {
  5
  6 public String example(String message) {
  7 return message;
  8 }
  9
  10 }

 

  修改 service.xml文件,加入以下代码:
  1
  2 HelloWorldService
  3
  4 com.myeclipse.wsExample.IHelloWorldService
  5

  6
  7 com.myeclipse.wsExample.HelloWorldServiceImpl
  8

  9 < style>wrapped
  10 literal
  11 application
  12