jax-ws

时间:2024-03-17 21:55:32编辑:奇闻君

java webservice怎么生成wsdl文件

在大多数情况下我们都需要为我们的服务提供一个WSDL文件,而 Axis2's Java2WSDL 是专门用来生成WSDL文件的D专用工具,如果你要在命令行模式下进行生成WSDL文件,首先需要保证你的环境变量AXIS2_HOME是否已经配置OK,同时还要保证把%AXIS2_HOME%\bin加入到你的path环境中,要生成 WSDL文件,首先要保证你的class能够编译成功,而且已经编译成功,然后进入class文件编译后的根目录(在JBuilder中是classes,在Eclipse中是bin目录)这时,生成WSDL文件的准备工作已经OK。

下面是生成WSDL文件时的可选参数和参数说明:
---------------------------------------------------------------------------------
Usage java2wsdl -cn : class file name
-o : output file location

-cp : list of classpath entries - (urls)

-tn : target namespace

-tp : target namespace prefix

-stn : target namespace for schema

-stp : target namespace prefix for schema

-sn : service name

-of : output file name for the WSDL

-st : style for the WSDL

-u : use for the WSDL

-l : address of the port for the WSDL

-nsg : fully qualified name of the class that implements NamespaceGenerator

-p2n [,,] ...

-efd : Setting for elementFormDefault (defaults to qualified)

-afd : Setting for attributeFormDefault (defaults to qualified)

-xc : Extra class for which schematype must be generated.
Use as : -xc class1 -xc class2 ...





典型地,进入你的工程的二进制编译根目录,执行命令模板如下:
java2wsdl -cp . -cn [PACKAGENAME].[CLASSNAME]-of [FILENAME].wsdl

现在我们假设在samples.helloworld.service.axiom;包下面有个HelloWorldService类,工程的类文件编译后存放在build\classes目录下,那么,首先进入该目录中,然后执行以下命令:
java2wsdl -cp . -cn samples.helloworld.service.axiom.HelloWorldService -of HelloWorldService.wsdl

执行后的CMD提示如下说明已经成功执行了:

Using AXIS2_HOME: D:\axis2-1.1.1
Using JAVA_HOME: C:\Program Files\Java\jdk1.5.0_06


java 如何生成wsdl文件

原则上,你可以先把JAVA生成.net的文件,然后根据以下其中一个方法,转变为WSDL

在.NET中有三种方式生成WSDL:

1.在Web Service的URL后面加上WDSL需求,如下:

http://localhost/webExamples/simpleService.asmx?WSDL

2.使用disco.exe。在命令行中写下如下的命令:

disco http://localhost/webExamples/simpleService.asmx

3.使用System.Web.Services.Description命名空间下提供的类

每个 WSDL 文件的根元素都是 ,必须在其中提供服务的完整描述。首先,必须在 元素中提供各种名称空间的声明。

元素包含一个或多个 元素,每个元素都是一系列 operation。可以将单个portType元素看作是将各种方法组成类的一个逻辑分组。应该将每个Types称为服务,因此整个 WSDL 文件将成为一个服务集合。

在每个服务内可以有几个方法或者 operation,WSDL 通过 元素来引用它们。

下面是一个最简单的WSDL例子


<definitions name="MobilePhoneService"
targetNamespace="www.mobilephoneservice.com/MobilePhoneService-interface"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://www.mobilephoneservice.com/MobilePhoneService"
xmlns:xsd="http://www.w3.org/1999/XMLSchema">



.......
.......



.......
.......


jax-ws开发的webservice能通过http get方式调用吗

可以有以下两种方式


第一种方式
URL wsdlURL = new URL("http://172.16.200.56:8084/seps/ABCService?wsdl");
QName serviceQName = new QName("http://www.abc.org/definitions", "ABCService");
QName portQName = new QName("http://www.abc.org/definitions", "ABCServicePort");
Service service = Service.create(wsdlURL, serviceQName);
port = service.getPort(/*portQName, */ABC.class);
//
另一种方式,但是这种方式在设置代理服务器的情况下经常会“Could not send Message”,而且极慢
//JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
//factory.setServiceClass(ABC.class);
//factory.setAddress("http://172.16.200.56:8084/seps/ABCService");
//port = (ABC) factory.create();


JAX-WS与JAX-RS区别是什么?

一、JAX-WS:全称是JavaTM API forXML-Based Web Services
JAX-RS :全称是 JavaTM API forRESTful Web Services
关于JAX-WS与JAX-RS两者是不同风格的SOA架构。前者以动词为中心,指定的是每次执行函数。而后者以名词为中心,每次执行的时候指的是资源。
二、JAX-RS是JAVA EE6 引入的一个新技术。 JAX-RS即Java API for RESTful Web Services,是一个Java 编程语言的应用程序接口,支持按照表述性状态转移(REST)架构风格创建Web服务。JAX-RS使用了Java SE5引入的Java标注来简化Web服务的客户端和服务端的开发和部署。
JAX-WS规范是一组XML web services的JAVA API,JAX-WS允许开发者可以选择RPC-oriented或者message-oriented 来实现自己的web services。


wsgen和wsimport 有什么区别

wsgen 是在JDK的bin目录下的一个exe文件(Windows版),该命令的主要功能是用来生成合适的JAX-WS。它读取Web Service的终端类文件,同时生成所有用于发布Web Service所依赖的源代码文件和经过编译过的二进制类文件。这里要特别说明的是,通常在Web Service Bean中用到的异常类会另外生成一个描述Bean,如果Web Service Bean中的方法有申明抛出异常,这一步是必需的,否则服务器无法绑定该对像。此外,wsgen 还能辅助生成WSDL和相关的xsd文件。wsgen 从资源文件生成一个完整的操作列表并验证web service是否合法,可以完整发布。
命令参数说明:
 -cp 定义classpath
 -r 生成 bean的wsdl文件的存放目录
 -s 生成发布Web Service的源代码文件的存放目录(如果方法有抛出异常,则会生成该异常的描述类源文件)
 -d 生成发布Web Service的编译过的二进制类文件的存放目录(该异常的描述类的class文件)
命令范例: wsgen -cp ./bin -r ./wsdl -s ./src -d ./bin -wsdl org.jsoso.jws.server.Example
wsimport


在myeclipse中怎么生成webservice client

  利用现有的wsdl文件或者远程的url来创建java调用的客户端。  1:利用MyEclipse来创建:在项目右键-》new-》other  2:点击【next】,选择【WSDL URL】,填写上远程Webservice的wsdl地址,点击【next】  3:点击【next】,Myeclipse回进行wsdl的分析,如果没有错误的话,会出现以下的界面:  4:点击【finish】,代码就会自动生成的。如下图所示:

上一篇:ea冠军杯

下一篇:征服者卡尔玛