刚学Java不久,就要接手这个项目,麻烦各位朋友帮下忙,给点例子或是资料

解决方案 »

  1.   

    web services和一般的java类没多大区别,主要是部署问题,eclipse自动能把一个类部署为web services,并生成客户机.所以我的做法是: 
    1,建立一个动态web工程,并选择将该工程自动加入到一个ear工程 
    2,在这个动态web工程创建类和方法,和一般的写法没什么区别 
    3,用eclipse把类部署为web services,会自动生成wsdl和server-config.wsdd 
    4,把ear工程导出为ear包,把ear包部署到web server中,这样web services就创建并部署好了,很简单. 在ie地址栏里输入wsdl中的那个url,如果能显示出wsdl的内容,部署就ok了 
    查看部署的所有web services: http://ip:port/动态web工程/servlet/AxisServlet 在第3步中,可以选择web services运行时和服务器,运行时一般有三种,一是apache 
    axis,二是jax-rpc,三是jax-ws,这三种就是常用的web services实现 对于web services的客户端,开发工具也提供自动生成和部署的功能,但生成的都是stub存根,当web services的接口发生变化,就要重新生成stub客户端,并重新部署,所以一般不使用stub类型的客户端.其实只要几行代码,就可调用web services: String endpointURL = "...."; //wsdl中的url 
    Service service = new Service(); 
    Call call = ( Call ) service.createCall(); 
    call.setTargetEndpointAddress( new java.net.URL( endpointURL ) ); 
    call.setOperationName( new QName( "wsdl中的namespace", "要调用的方法名称" ) ); 
    call.addParameter( "入参名称", QName实例, ParameterMode.IN ); 
    call.addParameter( ... ); //加其它参数 
    call.setReturnClass( Class.forNam( "返回的类名称" ) ); 
    call.setReturnType( new QName( "名字空间", "xml中的类型名称" ),  Class.forName( "返回类的名称" ) ); 
    Object[] inputs = ... //入参的值在这里面 
    call.invoke( inputs ) 所以,只要知道wsdl,就能够调用web services 注意: 
    1,入参和返回参数必须是基本类型或实现Serializable接口 
    2,如果是自定义的类,除了要实现Serializable接口,客户端调用时(动态,非stub),要做xml类型到java类的映射,如上面的addParameter()方法和setReturnType()方法 
    3,如要查看请求和响应soap的内容,apache axis中有一个soapmonitor,将它整合到你的web services应用中即可
      

  2.   

    就是想通过web services提供一个统一的访问数据库的接口,屏蔽各种语言编写的程序访问数据库时需要编写不同的接口
      

  3.   

    web service跟oracle有关系么?
    你的需求应该是在web service里面配置不同数据库类型,即可访问不同数据库。这个工作量可大了。
      

  4.   

    web service在Oracle上层,应用程序如果想访问Oracle里面的数据,只需要调用通过这个web service提供的API就可以了,这个应该如何部署?
    多谢回复~~
      

  5.   

    那你就写一堆接口访问oracle,然后部署成web service咯。web service就是个RMI调用。
      

  6.   

    xfire   wsdl  webservice  oraclegoogle一下。很简单的。
      

  7.   

    Oracle数据库与web service没关系吧