java创建webservice,java创建数组

http://www.itjxue.com  2023-01-06 00:08  来源:未知  点击次数: 

如何把一个普通的JAVA类变成一个webService服务

ITjob远标教育

步骤:

1,新建一个普通JAVA类即可。

2,选择这个类,右键。new---other,在对话框中选中MyEclipse下的Web Service,点击next

3,strategy选择 Create webService from Java class (Bottom-up scenario),点击next

4,点击Browse

5,选择刚新建的普通JAVA类,点击OK

6,点击finish

7,项目目录中就会生成一个新的JAVA类

8,至此webService完成。

eclipse 怎样配置java webservice

用eclipse创建一个WebService应用非常方便,步骤如下:

1.安装WebService插件。

2.安装一个web服务器。我这里用的是Tomcat。

3.创建一个Webservice服务。在eclipse中创建一个动态的web工程。New-Project-Dynamic Web Project。创建完成后,写一个service类,比如:

public class LogonService {

public int checkUserRight(String userId, String password) {

//假设进行数据库操作

if (password != null "fred".equals(userId)) {

return 1;

}

return 0;

}

}

public int checkUserRight(String userId, String password)就是我们要调用的远程方法。

4.在这个类的文件名上点击右键,选择”Web Services"-“Create Web Service”,就会出现下面的界面:

要选上TestClient(下面的那个图片上),这样创建Service的同时,会创建一个Service的test工程。

5.点击next,

选择方法名称,

6.点击"next",点击“Start Server”,就会启动Tomcat,并将工程部署上去。

7.如果点击“Launch”会打开刚才创建的WebService的测试界面,可以进行测试。

8.这时候,会出现测试创建代理类的界面,代理类会创建在自动生成的测试工程中,也就是LogonWebServiceTest工程中。

9.点击“next”,会自动生成代理类,并出现选择测试方法的界面。你可以选择相应的方法,这样eclipse会生成相应的页面。

10.点击"Finish"就可以了,这时,会自动启动一个页面

点击左边相应的方法,就可以进行测试了。

注:遇到的问题

执行时报错:D:\MyDrivers\software\apache-tomcat-7.0.50\bin\tcnative-1.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform

解决方法:把tomcat\bin 目录下的tcnative-1.dll复制到jdk\bin目录下

查看Tomcat是多少位:cmd—cd 目录下—catalina version 就可以查看到

查看JDK是多少位:cmd—java version 下面有显示就是64位,没有就是32位的

怎样新建一个Java的Web Service

 服务器端的操作:

1. 创建一个WebService项目。(不需要是Java EE 5.0)

2. 创建包与接口以及实现类。

3. 加上WebService的包

4. 编辑配置文件

5. 部署后在浏览器中测试:http localhost:8080/testWebService/services, 格式是固定的,中间换成项目名即可!

至此,服务器端已完成!以下做的是客户端的调用。

1. 创建客户端项目

2.将服务器端的包复制到客户端(注意,实现类要去掉)

3. 加入WebService包

4. 在Next时, 注意将红框中的勾打上。

6. 在包中创建一个类测试调用外部的WebService是否成功!(注意取地址时应加上webservice的名称)

package com.yenange.service;

import java.net.MalformedURLException;

import org.codehaus.xfire.XFireFactory;

import org.codehaus.xfire.client.XFireProxyFactory;

import org.codehaus.xfire.service.Service;

import org.codehaus.xfire.service.binding.ObjectServiceFactory;

public class TestWS {

public static void main(String[] args) {

//1.取得WebService的路径

String url="http /localhost:8080/testWebService/services/testWebService";

//2.创建服务

Service service=new ObjectServiceFactory().create(IMyWebService.class);

//3.创建服务代理

XFireProxyFactory factory=new XFireProxyFactory(XFireFactory.newInstance().getXFire());

//4.调用外部的WebService, 建立对象. 再测试其方法

try {

IMyWebService obj=(IMyWebService)factory.create(service,url);

System.out.println(obj.HelloWorld("leaf"));

} catch (MalformedURLException e) {

e.printStackTrace();

}

}

}

至此,java的WebService调用完成!

如何在Java中快速发布WebService服务

1,在Java项目中发布一个WebService服务:

如何发布?

——JDK1.6中JAX-WS规范定义了如何发布一个WebService服务;

(1)用jdk1.6.0_21以后的版本发布;

(2)与Web服务相关的类,都位于Javax.jws.*包中

@WebService——此注解用在类上指定将此类发布成一个WebService;

EndPoint——此类为端点服务类,其中publish()方法用于将一个已经添加了@WebService注解对象绑定到一个地址的端口上,用于发布。

2,例子:

(1)发布WebService服务

HelloWebService.java:

[java]?view plain?copy

span?style="font-family:KaiTi_GB2312;font-size:18px;"package?cn.tgb.ws;

importjavax.jws.WebMethod;

importjavax.jws.WebService;

importjavax.xml.ws.Endpoint;

/**

*??@WebService?-?它是一个注解,用在类上指定将此类发布成一个ws.

Endpoint?–?此类为端点服务类,它的方法publish用于将一个已经添加了@WebService注解对象绑定到一个地址的端口上。

*?@author?xuemin

*

*/

@WebService

public?classHelloWebService?{

publicString?HelloWord(String?name){

return"Hello:?"+name;

}

/**

*添加exclude=true后,HelloWord2()方法不会被发布

*?@param?name

*?@return

*/

@WebMethod(exclude=true)

publicString?HelloWord2(String?name){

return"Hello:?"+name;

}

publicstatic?void?main(String[]?args)?{

/**

*参数1:服务的发布地址

*参数2:服务的实现者

*/

Endpoint.publish("",new?HelloWebService());

}

}/span

注:

@WebService-?它是一个注解,用在类上指定将此类发布成一个ws.

Endpoint –此类为端点服务类,它的方法publish用于将一个已经添加了@WebService注解对象绑定到一个地址的端口上。

运行以上程序进行发布。

(2)查看wsdl

地址:

只要在客户端浏览器能看到此WSDL文档,说明服务发布成功

以上服务发布成功;

总结:

如何发布一个Web服务:

a,在类上添加@WebService注解

(注:此注解是jdk1.6提供的,位于javax.jws.WebService包中)

b,通过EndPoint(端点服务)发布一个WebService

(注:EndPoint是jdk提供的一个专门用于发布服务的类,该类的publish方法接收两个参数,一个是本地的服务地址,二是提供服务的类。位于?javax.xml.ws.Endpoint包中)

c,注:

类上添加注解@WebService,类中所有非静态方法都会被发布;

静态方法和final方法不能被发布;

方法上加@WebMentod(exclude=true)后,此方法不被发布;

(3)客户端访问发布的服务

根据WSDL文档来在客户端编写代码,访问发布的服务;

但是,WSDL文档看不懂怎么办?代码该如何编写?

——你看不懂,JDK看得懂,wsimport是JDK自带的,可以根据WSDL文档生成客户端调用代码的工具。无论服务器端WebService使用什么语言编写的,豆浆在客户端生成Java代码。所以服务器用什么语言编写的并不重要。

wsimport.exe命令参数熟知:

-d:生成class文件。默认参数。

-s:生成Java文件

-p:自定义包结构

解析地址生成源码到E盘:

执行以上命令后,即可在E盘下生成如下包及类

注:还可以自定义包结构:

自定义包结构的命令:

将生成的包及.java文件复制到客户端:如下图

创建访问服务的类:MyClient.java:

MyClient.java:

[java]?view plain?copy

span?style="font-family:KaiTi_GB2312;font-size:18px;"package?cn.tgb.ws;

public?classMyClient?{

publicstatic?void?main(String[]?args)?{

HelloWebServiceServicehwss?=?new?HelloWebServiceService();

HelloWebServicehws?=?hwss.getHelloWebServicePort();

Stringresult=hws.helloWord("hanxuemin");

System.out.println(result);

}

}/span

(责任编辑:IT教学网)

更多

推荐Painter教程文章