创建第一个WebService程序
来源:互联网 发布:nba各项数据历史记录 编辑:程序博客网 时间:2024/05/16 15:15
创建第一个WebService程序 1.首先创建实现类IMyServicepackage org.aa;import javax.jws.WebService;/*SEI(Service EndPoint Interface) *SIB(Service Implemention Bean) *在这个例子中IMyService就是SEI,即服务实现的接口,MyServiceImpl就是SIB,即服务实现的Bean * */@WebService()public interface IMyService {//相加接口public int add(int a ,int b);//相减接口public int minus(int a , int b);} 2.创建IMyService接口的实现类MyServiceImplpackage org.aa;import javax.jws.WebService;//配置好我的接口@WebService(endpointInterface="org.aa.IMyService")//实现IMyService接口public class MyServiceImpl implements IMyService {@Overridepublic int add(int a, int b) {System.out.println(a + "+" + b + "=" + (a+b));return a+b;}@Overridepublic int minus(int a, int b) {System.out.println(a + "-" + b + "=" + (a-b));return a-b;}} 3.创建WebService服务MyServicepackage org.aa;import javax.xml.ws.Endpoint;public class MyServer {public static void main(String[] args){//首先确定一个在网上发布的地址String address = "http://localhost:8888/ns";//发布一下,两个参数,前一个是在网上发布的地址,后一个为要发布接口的实现类Endpoint.publish(address,new MyServiceImpl());}} 4.出现了这个错误 Exception in thread "main" com.sun.xml.internal.ws.model.RuntimeModelerException: runtime modeler error: Wrapper class org.aa.jaxws.Add is not found. Have you run APT to generate them?at com.sun.xml.internal.ws.model.RuntimeModeler.getClass(RuntimeModeler.java:256)at com.sun.xml.internal.ws.model.RuntimeModeler.processDocWrappedMethod(RuntimeModeler.java:567)at com.sun.xml.internal.ws.model.RuntimeModeler.processMethod(RuntimeModeler.java:514)at com.sun.xml.internal.ws.model.RuntimeModeler.processClass(RuntimeModeler.java:341)at com.sun.xml.internal.ws.model.RuntimeModeler.buildRuntimeModel(RuntimeModeler.java:227)at com.sun.xml.internal.ws.server.EndpointFactory.createSEIModel(EndpointFactory.java:308)at com.sun.xml.internal.ws.server.EndpointFactory.createEndpoint(EndpointFactory.java:174)at com.sun.xml.internal.ws.api.server.WSEndpoint.create(WSEndpoint.java:420)at com.sun.xml.internal.ws.api.server.WSEndpoint.create(WSEndpoint.java:439)at com.sun.xml.internal.ws.transport.http.server.EndpointImpl.createEndpoint(EndpointImpl.java:208)at com.sun.xml.internal.ws.transport.http.server.EndpointImpl.publish(EndpointImpl.java:138)at com.sun.xml.internal.ws.spi.ProviderImpl.createAndPublishEndpoint(ProviderImpl.java:92)at javax.xml.ws.Endpoint.publish(Endpoint.java:170)at org.aa.MyServer.main(MyServer.java:10)原因:JDK1.6早起版本对这个类型的支持有bug,所以报错。解决办法:只要将JDK升级到1.6.0_22(包括这个版本)以后,再设置一下MyEclipse默认的jdk就解决问题了,其他的办法不 好解决。 5.创建一个类TestClient调用WebService提供的服务(必须注意测试运行TestClient时必须把MyService服务运行起来)package org.aa;import java.net.MalformedURLException;import java.net.URL;import javax.xml.namespace.QName;import javax.xml.ws.Service;public class TestClient {public static void main(String[] args){try {URL url = new URL("http://localhost:8888/ns?wsdl");//new QName两个参数,第一个是目标命名空间即targetNamespace="http://aa.org/"中的http://aa.org///另一个是本地WebService提供的名称即name="MyServiceImplService"中的MyServiceImplServiceQName sname = new QName("http://aa.org/","MyServiceImplService");//创建Service服务Service service = Service.create(url,sname);//得到IMyService接口IMyService ms = service.getPort(IMyService.class);System.out.println(ms.add(1, 2));} catch (MalformedURLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
0 0
- 创建第一个WebService程序
- 创建第一个WebService程序并发布
- 第一个webservice程序
- 第一个webservice程序
- 创建第一个程序
- 创建第一个AJAX程序
- 创建第一个JFreeChart程序
- 创建第一个Qooxdoo程序
- 创建第一个HGE程序
- 创建第一个java程序
- 创建第一个WCF程序
- 创建第一个Android程序
- 创建第一个NDK程序
- Omnet++创建第一个程序
- 创建第一个hibernate程序
- 创建第一个Servlet程序
- 创建第一个ACtiveX程序
- 创建第一个hibernate程序
- 网易游戏2015宣讲会记录
- Media Queries(CSS3响应式设计)
- 手把手教你:制作u盘启动盘 + 装win7系统 教程
- wp8 独立存储 总结3(应用设置)
- 计算机二级C++改错题小结
- 创建第一个WebService程序
- hdu 5012 Dice 记忆化搜索
- 练习使用关系运算符,逻辑运算符,和三目运算符。
- 企鹅后台开发笔试题
- 关于我的博客
- MySQL垂直和水平切分
- Weka算法Classifier-trees-RandomTree源码分析
- 2014 ACM/ICPC Asia Regional Xi'an Online poj5007 Post Robot
- Android SDK开发包国内下载地址