Java6 WebService 使用集合

Java6 WebService 使用集合
 
集合是一种非常有用的数据类型,基本上所有的程序离不开集合数据类型。在Axis2、XFire中使用集合,往往存在一些问题。这里测试下JWS中使用集合的情况。甚至有人网上说JWS使用List会出问题,还要变通下,google一下能搜出好多同样内容的文章。这里我也试试,看有什么问题!  实际上我告诉大家,JWS使用List没问题,不信看看下面的例子。
 
1、写JWS
 
package lavasoft; 

import lavasoft.wsclient.Foo; 
import lavasoft.wsclient.Java6WS; 
import lavasoft.wsclient.Java6WSService; 
import lavasoft.wsclient.UserBean; 

import java.util.ArrayList; 
import java.util.List; 

/** 
* 测试Java6 WS生成的客户端代码 

* @author leizhimin 2009-11-16 17:05:00 
*/
 
public  class TestClient { 
         public  static  void main(String[] args) { 
                 //创建一个客户端服务对象 
                Java6WS java6WS =  new Java6WSService().getJava6WSPort(); 

                System.out.println( "----------java6WS.doSomething1-------------"); 
                 //调用服务方法,并得到方法返回值 
                List<UserBean> listUserBean = java6WS.doSomething1( "zhangsan""华中路"true); 
                 //打印服务的返回值 
                 for (UserBean userBean : listUserBean) { 
                        System.out.println(userBean.getUsername() +  " " + userBean.getAddress() +  " " + userBean.isFlag()); 
                } 

                System.out.println( "----------java6WS.doSomething2-------------"); 
                List<Foo> listFoo =  new ArrayList<Foo>(); 
                Foo f1 =  new Foo(); 
                f1.setName( "张三"); 
                f1.setSex( "Man"); 
                Foo f2 =  new Foo(); 
                f2.setName( "李四"); 
                f2.setSex( "Man"); 
                listFoo.add(f1); 
                listFoo.add(f2); 
                String sf = java6WS.doSomething2(listFoo); 
                System.out.println(sf); 
        } 
}
 
package lavasoft.server; 

/** 
* Created by IntelliJ IDEA. 

* @author leizhimin 2009-11-16 17:09:46 
*/
 
public  class Foo { 
         private String name; 
         private String sex; 

         public Foo() { 
        } 
......
 
package lavasoft.server; 

/** 
* 用户信息 

* @author leizhimin 2009-11-16 16:43:35 
*/
 
public  class UserBean { 
         private String username; 
         private String address; 
         private  boolean flag; 

         public UserBean() { 
        } 

......
 
2、生成客户端代码
 
 
3、写测试类
 
package lavasoft; 

import lavasoft.wsclient.Foo; 
import lavasoft.wsclient.Java6WS; 
import lavasoft.wsclient.Java6WSService; 
import lavasoft.wsclient.UserBean; 

import java.util.ArrayList; 
import java.util.List; 

/** 
* 测试Java6 WS生成的客户端代码 

* @author leizhimin 2009-11-16 17:05:00 
*/
 
public  class TestClient { 
         public  static  void main(String[] args) { 
                 //创建一个客户端服务对象 
                Java6WS java6WS =  new Java6WSService().getJava6WSPort(); 

                System.out.println( "----------java6WS.doSomething1-------------"); 
                 //调用服务方法,并得到方法返回值 
                List<UserBean> listUserBean = java6WS.doSomething1( "zhangsan""华中路"true); 
                 //打印服务的返回值 
                 for (UserBean userBean : listUserBean) { 
                        System.out.println(userBean.getUsername() +  " " + userBean.getAddress() +  " " + userBean.isFlag()); 
                } 

                System.out.println( "----------java6WS.doSomething2-------------"); 
                List<Foo> listFoo =  new ArrayList<Foo>(); 
                Foo f1 =  new Foo(); 
                f1.setName( "张三"); 
                f1.setSex( "Man"); 
                Foo f2 =  new Foo(); 
                f2.setName( "李四"); 
                f2.setSex( "Man"); 
                listFoo.add(f1); 
                listFoo.add(f2); 
                String sf = java6WS.doSomething2(listFoo); 
                System.out.println(sf); 
        } 
}
 
4、启动运行
 
 
从上面的测试可以看出,JWS使用Java集合并没有问题,如果我们的WebService服务端和客户端均使用Java语言做开发,集合会得到完美支持。
如果的客户端使用了别的语言,比如C++、C#等,那就不一定了。
 

本文出自 “熔 岩” 博客,请务必保留此出处http://lavasoft.blog.51cto.com/62575/228531

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现Web服务的白名单功能,你可以按照以下步骤进行: 1. 创建一个Java类,用于实现Web服务的业务逻辑。 2. 在该类中,定义一个方法用于处理Web服务的请求。 3. 在该方法中,首先获取请求的IP地址。 4. 创建一个白名单列表,可以使用集合或者数组来存储白名单中的IP地址。 5. 在方法中,使用条件判断来检查请求的IP地址是否在白名单中。 6. 如果请求的IP地址在白名单中,则执行相应的业务逻辑;否则,返回错误信息或者拒绝访问。 7. 部署该Web服务,并测试它是否按照预期进行白名单验证。 以下是一个简单的示例代码,演示如何实现Web服务的白名单功能: ```java import javax.jws.WebMethod; import javax.jws.WebService; import javax.servlet.http.HttpServletRequest; import java.util.ArrayList; import java.util.List; @WebService public class MyWebService { // 白名单列表 private static final List<String> whitelist = new ArrayList<>(); static { // 添加白名单IP地址 whitelist.add("127.0.0.1"); whitelist.add("192.168.0.100"); // 可以根据实际需求添加更多IP地址 } @WebMethod public String processRequest(HttpServletRequest request) { // 获取请求的IP地址 String clientIP = request.getRemoteAddr(); // 检查请求的IP地址是否在白名单中 if (whitelist.contains(clientIP)) { // 执行业务逻辑 return "Hello, " + clientIP + "! This is a response from the web service."; } else { // 返回错误信息或者拒绝访问 return "Access denied for IP: " + clientIP; } } } ``` 在以上示例中,`MyWebService` 类使用 `@WebService` 注解标记为一个Web服务,并定义了一个 `processRequest` 方法用于处理Web服务的请求。在该方法中,通过 `HttpServletRequest` 对象获取请求的IP地址,并检查该地址是否在白名单列表中。如果在白名单中,则返回相应的响应信息;否则,返回拒绝访问的信息。 请注意,以上示例仅演示了基本的白名单功能实现,实际应用中可能需要更复杂的逻辑和安全措施来保护Web服务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值