之前常常用CXF、Axis2、XFire等来开发结合Java语言来开发Web Service应用,这样的好处是用途广,灵活,另外一个重要原因是我们的生产环境是Java5。
但实际上Java6中已经支持用Java开发WebService应用了,而且很方便。这样就大大减少了项目安装部署的代价,因为选择开源的框架依赖大量第三方包,程序的尺寸倍增。
下面是一个Java6开发Web Service的入门例子。(JDK1.6环境下支持)
package java_soa; import javax.jws.WebService; import javax.xml.ws.Endpoint; @WebService public class Java6WebService { /** * Java6开发WebService测试 * wangzp 2014-10-17 */ public String doSomething(){ return "java6 WebService 调试通过了!"; } /** * @param args */ public static void main(String[] args) { //发布地址 Endpoint.publish("http://192.168.8.121:8099/java6ws/java_soa.Java6WebService", new Java6WebService()); } }
运行后,在浏览器中访问http://192.168.8.121:8099/java6ws/java_soa.Java6WebService?wsdl会得到wsdl 如下:
wsdl显示正常后,说明程序调试正常了。
wsdl显示正常后,说明程序调试正常了。
(补充):1. myeclipse8.5运行界面。
2. 程序报错,后由jdk1.6调整为jdk1.7后正常。
2. 程序报错,后由jdk1.6调整为jdk1.7后正常。
运行报错:Exception in thread "main" Server Runtime Error: class: com.enic.service.jaxws.DoSomething could not be found
at com.sun.xml.internal.ws.transport.http.server.HttpEndpoint.publish(HttpEndpoint.java:269)
at com.sun.xml.internal.ws.transport.http.server.EndpointImpl.publish(EndpointImpl.java:87)
at com.sun.xml.internal.ws.spi.ProviderImpl.createAndPublishEndpoint(ProviderImpl.java:59)
at javax.xml.ws.Endpoint.publish(Endpoint.java:156)
at com.enic.service.Java6WebService.main(Java6WebService.java:14)
Caused by: class: com.enic.service.jaxws.DoSomething could not be found
at com.sun.xml.internal.ws.modeler.RuntimeModeler.getClass(RuntimeModeler.java:271)
at com.sun.xml.internal.ws.modeler.RuntimeModeler.processDocWrappedMethod(RuntimeModeler.java:562)
at com.sun.xml.internal.ws.modeler.RuntimeModeler.processMethod(RuntimeModeler.java:509)
at com.sun.xml.internal.ws.modeler.RuntimeModeler.processClass(RuntimeModeler.java:355)
at com.sun.xml.internal.ws.modeler.RuntimeModeler.buildRuntimeModel(RuntimeModeler.java:251)
at com.sun.xml.internal.ws.server.RuntimeEndpointInfo.createSEIModel(RuntimeEndpointInfo.java:170)
at com.sun.xml.internal.ws.server.RuntimeEndpointInfo.init(RuntimeEndpointInfo.java:317)
at com.sun.xml.internal.ws.transport.http.server.HttpEndpoint.publish(HttpEndpoint.java:298)
at com.sun.xml.internal.ws.transport.http.server.HttpEndpoint.publish(HttpEndpoint.java:263)
... 4 more
at com.sun.xml.internal.ws.transport.http.server.HttpEndpoint.publish(HttpEndpoint.java:269)
at com.sun.xml.internal.ws.transport.http.server.EndpointImpl.publish(EndpointImpl.java:87)
at com.sun.xml.internal.ws.spi.ProviderImpl.createAndPublishEndpoint(ProviderImpl.java:59)
at javax.xml.ws.Endpoint.publish(Endpoint.java:156)
at com.enic.service.Java6WebService.main(Java6WebService.java:14)
Caused by: class: com.enic.service.jaxws.DoSomething could not be found
at com.sun.xml.internal.ws.modeler.RuntimeModeler.getClass(RuntimeModeler.java:271)
at com.sun.xml.internal.ws.modeler.RuntimeModeler.processDocWrappedMethod(RuntimeModeler.java:562)
at com.sun.xml.internal.ws.modeler.RuntimeModeler.processMethod(RuntimeModeler.java:509)
at com.sun.xml.internal.ws.modeler.RuntimeModeler.processClass(RuntimeModeler.java:355)
at com.sun.xml.internal.ws.modeler.RuntimeModeler.buildRuntimeModel(RuntimeModeler.java:251)
at com.sun.xml.internal.ws.server.RuntimeEndpointInfo.createSEIModel(RuntimeEndpointInfo.java:170)
at com.sun.xml.internal.ws.server.RuntimeEndpointInfo.init(RuntimeEndpointInfo.java:317)
at com.sun.xml.internal.ws.transport.http.server.HttpEndpoint.publish(HttpEndpoint.java:298)
at com.sun.xml.internal.ws.transport.http.server.HttpEndpoint.publish(HttpEndpoint.java:263)
... 4 more
相关推荐
java webservice 客户端、服务端生成工具,请修改批处理文件中的wsdl路径
web工程中可以用Axist1.4 通过server-config.wsdd生服务端和客户端.普通的web工程需要相应的jar包,此实例中已经附带(所有的jar包都要)
详细介绍3种方法根据wsdl逆向生成webservice服务端;有最原始的wsdl2java指令,还有通过soapUI工具以及通过myeclipse的web service project来生成。
一个简单实用的WebService服务端开发样例,采用Spring MVC,利用 x-fire资源,加入 log4j日志记录,加入maven来获取对应依赖。 该服务提供一个针对 TRSServer 全文检索服务器数据库 的检索功能,通过 url来执行全文...
文档描述了通过jdk6开发webservice的例子 生成客户端代码的方法
简单的webservice示例,及使用java工具生成客户端 在JDK1.6版本以后,在<JAVA_HOME>/bin目录下有一个wsimport.exe工具,该工具可以根据wsdl文件自动生成webservice接口调用的java客户端代码,十分方便。而自己仅需要...
早期的基于 SOAP 的 JAVA 的 Web 服务规范 JAX-RPC(Java API For XML-Remote Procedure Call)目前已经被JAX-WS规范取代,JAX-WS 是JAX-RPC 的演进 版本,但 JAX-WS 并不完全向后兼容 JAX-RPC,二者最大的区别就是...
【java项目整合Axis1.4webservice搭建实例】服务端代码
利用CXF框架生成WEBSERVICE服务端。JDK要求1.8
本实例是通过客户端通过WebService,调用数据库端方法的实例。 例子中包含cxf的jar包,在调用服务器端方法时,首先要在cmd中,通过wsdl生成服务器端的接口、接口实现类等相关的javal类。 cmd WSDL2JAVA ...
探讨webservice服务端和客户端用java或.net编写的情况,这又分为四种类型: 服务端、客户端都是用.net编写的,这里以vb.net为例。 服务端、客户端都是用java编写的。 服务端是java编写的,客户端是.net编写的。 ...
NULL 博文链接:https://wujianjun.iteye.com/blog/517152
根据wsdl生成axis的服务端和客户端__工具
利用注解修改webservice生成wsdl的服务名称,命名空间,返回值,调用方法。加强安全性。代码完整,包括服务端和客户端两个项目
Java WebService 简单实例 http://blog.csdn.net/kingmax54212008/article/details/49764401 前言:朋友们开始以下教程前,请先看第五大点的注意事项,以避免不必要的重复操作。 一、准备工作(以下为本实例...
NULL 博文链接:https://jianghs.iteye.com/blog/629566
-all生成服务端和客户端代码 -client 生成客户端代码 -server生成服务端代码 wsdl2java -encoding utf-8 -p com.company.cxf.weather -d E:\IdeaProjects\demo1\src\main\java -all D:\TDDownload\...
1、使用WSDL2Java 工具根据WSDL 生成客户端代码.................................................. 28 2、新建工程项目..........................................................................................
windows下的gsoap生成c++代码的webservice客户端 linux下的gsoap生成c++代码的webservice客户端 基于多个服务端生成同一个c++客户端的方法
1、使用服务端类com.Hello.java,com.Other.java生成wsdl、aar文件【aar文件通过axis2插件的Axis2 service archiver生成】【wsdl文件通过axis2插件的Axis2 code generator中的"(服务端)代码生成wsdl"来生成】, ...