javawebservice:如何将Java程序转换为Webservice来源: 发布时间:星期六, 2009年3月14日 浏览:0次 评论:0
1、选择要转换java文件生成 2、写wsdd 3、发布 剩下就只有了wsdl2java 我原来系统是CICS对后台封装了层现在用webservice再封装层前台页面控制数据传输数据处理统统都可以分开了爽 //以下是从网上找有关AXIS入门教程 、Axis安装 1、环境 J2SE SDK 1.3 or 1.4: 我使用 1.4.2 Servlet Container: 我使用Tomcat 5.0 2、到 http://ws.apache.org/Axis/网站WebSite下载Axis安装包 3、解压缩安装包将Axis_UNZIP_PATH\Axis-version\webapps下Axis包拷贝到TOMCAT_HOME\webapps\下以下约定Axis_HOME为该TOMCAT_HOME\webapps\Axis目录 4、启动tomcat,访问http://localhost:8080/Axis 检查安装是否成功 5、以上步骤执行成功可以开发webservice例子了 Axis支持 3种web service部署和开发分别为: 1、Dynamic Invocation Interface ( DII) 2、Stubs方式 3、Dynamic Proxy方式 2、编写DII(Dynamic Invocation Interface )方式web服务 1.编写服务端HelloClient public HelloClient { public String getName(String name) { "hello "+name; } } 2、将源码拷贝到Axis_HOME下重命名为 HelloClient.jws 3、访问连接http://localhost:8080/Axis/HelloClient.jws?wsdl页面显示Axis自动生成wsdl 4、编写访问服务客户端 TestHelloClient.java import org.apache.Axis.client.Call; import org.apache.Axis.client.Service; import javax.xml..QName; import javax.xml.rpc.ServiceException; import java.net.MalformedURLException; import java.rmi.RemoteException; public SayHelloClient2 { public void (String args) { try { String endpo = "http://localhost:8080/Axis/HelloClient.jws"; Service service = Service; Call call = null; call = (Call) service.createCall; call.OperationName( QName( "http://localhost:8080/Axis/HelloClient.jws", "getName")); call.TargetEndpoAddress ( java.net.URL(endpo)); String ret = (String) call.invoke( Object {"zhangsan"}); .out.prln(" value is " + ret); } catch (Exception ex) { ex.prStackTrace; } } } 3、编写Dynamic Proxy方式访问服务 1、编写部署服务端同上边DII方式本次仍使用上边部署HelloClient 2、编写代理接口 public erface HelloClientInterface extends java.rmi.Remote { public String getName(String name) throws java.rmi.RemoteException; } 3、编写并执行客户端TestHelloClient.java import javax.xml.rpc.Service; import javax.xml.rpc.ServiceFactory; import java.net.URL; import javax.xml..QName; public TestHelloClient { public void (String args) { try { String wsdlUrl = "http://localhost:8080/Axis/HelloClient.jws?wsdl"; String nameSpaceUri = "http://localhost:8080/Axis/HelloClient.jws"; String serviceName = "HelloClientService"; String portName = "HelloClient"; ServiceFactory serviceFactory = ServiceFactory.Instance; Service afService = serviceFactory.createService( URL(wsdlUrl), QName(nameSpaceUri, serviceName)); HelloClientInterface proxy = (HelloClientInterface) afService.getPort( QName( nameSpaceUri, portName), HelloClientInterface.); .out.prln (" value is "+proxy.getName("john") ) ; }catch(Exception ex) { ex.prStackTrace ; } } } 4、编写wsdd发布web服务编写stub client访问web服务 1、编写服务端server,SayHello.java编译server.SayHello.java package server; public SayHello { public String getName(String name) { "hello "+name; } } 2.编写LogHandler.java import org.apache.Axis.AxisFault; import org.apache.Axis.Handler; import org.apache.Axis.MessageContext; import org.apache.Axis.handlers.BasicHandler; import java.util.Date; public LogHandler extends BasicHandler { public void invoke (MessageContext msgContext) throws AxisFault { try { Handler serviceHandler = msgContext.getService; Integer numAccesses = (Integer)serviceHandler.getOption("accesses"); (numAccesses null) numAccesses = Integer(0); numAccesses = Integer (numAccesses.Value + 1); Date date = Date; String result = date + ": service " + msgContext.getTargetService + " accessed " + numAccesses + " time(s)."; serviceHandler.Option ("accesses", numAccesses); .out.prln(result); } catch (Exception e) { throw AxisFault.makeFault(e); } } } 3、编写wsdd文件 deploy.wsdd
TAG: Java JAVA java WebService Webservice 转换 0
相关文章
读者评论发表评论 |
|