`

JAX-WS框架建立WebService服务接口生成客户端

 
阅读更多

一:IDE(MyEclipse)中以JAX-WS框架开启WebProject中服务类的WebService服务接口,自动生成额外代码:

1,服务类的webservice代理类,可以指定namespace

 //服务类:  
 public class WsClass6 {  
  public ResEntity wsmethod1( ReqEntity param  ){   
   ResEntity rstmp = new ResEntity();
   String tmpa = param.getRqa() + "(wsmethod1)";
   int tmpb = param.getRqb() + 1;
   rstmp.setRsa(tmpb);
   rstmp.setRsb(tmpa);   
   return rstmp;   
  }
 }
 //生成服务代理类:
 @javax.jws.WebService(targetNamespace = "http://x.y.z/c6/", serviceName = "WsClass6Service", 
   portName = "WsClass6Port", wsdlLocation = "WEB-INF/wsdl/WsClass6Service.wsdl")
 public class WsClass6Delegate {
  com.test6.WsClass6 wsClass6 = new com.test6.WsClass6();
  public ResEntity wsmethod1(ReqEntity param) {
   return wsClass6.wsmethod1(param);
  }
 }


2,sun-jaxws.xml 配置endpoint
sun-jaxws.xml 配置

 <?xml version = "1.0"?>
 <endpoints version="2.0"
  xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime">
  <endpoint name="WsClass6Port"
   implementation="com.test6.WsClass6Delegate"
   url-pattern="/WsClass6Port">
  </endpoint>
  <endpoint name="WsClass62Port"
   implementation="com.test6.WsClass62Delegate"
   url-pattern="/WsClass62Port">
  </endpoint>
 </endpoints>

 

3,web.xml中Servlet、listener配置

web.xml配置

 <?xml version="1.0" encoding="UTF-8"?>
 <web-app version="2.5" 
  xmlns="http://java.sun.com/xml/ns/javaee" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
  http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
   <servlet>
    <description>JAX-WS endpoint - WsClass6Service</description>
    <display-name>WsClass6Service</display-name>
    <servlet-name>WsClass6Service</servlet-name>
    <servlet-class>
     com.sun.xml.ws.transport.http.servlet.WSServlet
    </servlet-class>
    <load-on-startup>1</load-on-startup>
   </servlet>
   <servlet-mapping>
    <servlet-name>WsClass6Service</servlet-name>
    <url-pattern>/WsClass62Port</url-pattern>
   </servlet-mapping>
   <servlet-mapping>
    <servlet-name>WsClass6Service</servlet-name>
    <url-pattern>/WsClass6Port</url-pattern>
   </servlet-mapping>
   <welcome-file-list>
     <welcome-file>index.jsp</welcome-file>
   </welcome-file-list>
   <listener>
    <listener-class>
     com.sun.xml.ws.transport.http.servlet.WSServletContextListener
    </listener-class>
   </listener>
 </web-app>

目录结构:

WEB-INF/
--------web.xml
--------sun-jaxws.xml
--------wsdl/
------------WsClass6Service.wsdl
------------WsClass6Service_schema1.xsd

二:IDE中以JAX-WS框架生成客户端

可以用IDE,以WSDL文件或者WSDL URL文件方式生成客户端代码;

src/
-------ObjectFactory.java
-------package-info.java
-------ReqEntity.java
-------ResEntity.java
-------WsClass6Delegate.java
-------WsClass6Service.java
-------Wsmethod1.java
-------Wsmethod1Response.java

三:调用WebService客户端

 //客户端调用:
 public class Testws6client6 {

 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  
  WsClass6Service ws = new WsClass6Service();
  ReqEntity rq = new ReqEntity();
  rq.setRqa("December");
  rq.setRqb(1);
  ResEntity rs = ws.getWsClass6Port().wsmethod1(rq);
  System.out.println(rs.getRsa() + " , " + rs.getRsb());

 }
}

 

四:在tomcat(6.0)运行环境部署WebService project时需要的一些jar包

gmbal-api-only.jar
,ha-api.jar
,javax.annotation-api.jar
,javax.xml.soap-api.jar
,jaxb-api.jar
,jaxb-core.jar
,jaxb-impl.jar
,jaxws-api.jar
,jaxws-rt.jar
,jaxws-tools.jar
,management-api.jar
,policy.jar
,stax-ex.jar
,streambuffer.jar

 

分享到:
评论

相关推荐

    jax-ws实现webservice调用

    综上所述,JAX-WS提供了一套完整的框架,用于构建、部署和消费Web服务。通过理解这些核心概念,开发者可以有效地利用Java技术栈实现高效的Web服务通信。在"HelloServer"这个示例中,我们可以看到一个基本的JAX-WS...

    Jax-ws所需要的JAR包

    1. **jaxws-api.jar**:这是JAX-WS的API规范JAR,包含了用于开发JAX-WS服务和客户端的接口定义。 2. **jaxb-api.jar**:Java Architecture for XML Binding (JAXB) API,用于XML和Java对象之间的转换,是JAX-WS的...

    jax-ws发布webservice

    总结,JAX-WS作为Java中的Web服务框架,简化了服务的开发和调用流程。通过定义服务接口,实现服务逻辑,以及使用`Endpoint.publish()`发布服务,我们可以轻松地创建一个基于JAX-WS的Web服务。同时,利用`wsimport`...

    webservice之jax-ws

    【标题】:Web服务之Java API for XML Web Services (JAX-WS) 【内容详解】 JAX-WS,全称为Java API for XML Web Services,是Java平台上的一个标准,用于构建和部署基于SOAP(Simple Object Access Protocol)的...

    jax-ws webservice简单demo

    5. **客户端测试代码**:用于调用Web服务的Java代码,通常使用`javax.xml.ws.Service`类生成客户端代理对象。 创建JAX-WS Web服务的步骤大致如下: 1. **定义SEI**:编写Java接口,声明Web服务的方法。 2. **实现...

    JAX-WS Webservice

    - **生成客户端代理**:JAX-WS提供了`wsimport`工具,可以从WSDL文档自动生成客户端的Java代码,这些代码包含了调用Web服务的方法。 - **调用服务**:通过客户端代理对象,可以直接调用服务端的方法,就像调用本地...

    Jax-ws RI.zip

    在部署Web服务之前,开发者通常会使用JAX-WS工具生成服务端点接口和服务实现。服务端点接口定义了Web服务的公共API,而服务实现则包含具体的业务逻辑。然后,开发者会创建一个部署描述符(如web.xml),在其中配置...

    设计与开发 JAX-WS 2.0 Web 服务

    - **添加注解**:在服务接口和实现类上添加必要的JAX-WS注解,例如`@WebService`和`@WebMethod`等,用以指导工具生成相应的WSDL文件和其他元数据。 3. **示例:订单处理Web服务** - **服务接口定义**:创建一个...

    jax-ws步骤

    JAX-WS 也提供了工具生成客户端代码,这通常基于服务的 WSDL 文件。客户端代码可以用来创建服务代理,调用服务方法。 8. **调用服务** 通过服务代理,客户端可以像调用本地方法一样调用远程 Web 服务。 9. **...

    gsoap客户端Jax-ws服务端实例

    定义服务接口,使用JAX-WS注解如`@WebService`和`@SOAPBinding`,并实现相应的业务逻辑。 2. **部署服务**:将服务部署到Tomcat或其他兼容的Java应用服务器上,确保服务可用并可以通过HTTP/HTTPS访问。 3. **生成...

    JAX-WS自学笔记

    总结,JAX-WS提供了一套完整的框架,从定义服务接口到创建、发布和调用Web Service,以及处理SOAP头信息,使得开发者能够以高效、标准的方式构建XML和Web服务相关的应用。通过理解和实践JAX-WS,你可以更好地掌握...

    JAX-WS在Tomcat中发布服务

    JAX-WS允许我们通过注解来定义Web服务接口和服务实现,这样就可以自动生成服务端点和客户端代理类。一个典型的JAX-WS服务定义如下: ```java @WebService public interface HelloWorldService { @WebMethod ...

    jax-ws jax-rs 分别创建soap和restful类型的webservice

    在提供的文件中,"jax-ws-webService创建soap类型的webservice.docx"应该包含了详细的JAX-WS SOAP Web服务创建过程,而"使用jax-rs创建restful类型的webservice接口.docx"则详细阐述了JAX-RS RESTful Web服务的实现...

    jax-ws 例子

    JAX-WS提供了工具(如`wsimport`)来生成客户端所需的代理类,这些类可以用来调用服务。 - 使用生成的客户端代码,我们可以创建服务代理实例,然后调用服务方法。例如: ```java TestWebservice service = new ...

    上传一个基于Jax-ws的WebService

    6. **创建客户端**:可以使用JAX-WS的`wsimport`工具,根据WSDL文件自动生成客户端代码。生成的代码包括一个客户端代理类,用于调用远程Web服务。 7. **调用服务**:在客户端代码中,实例化代理类并调用其方法,...

    MyEclipse中jax-ws开发教程

    输入之前Web服务的WSDL地址,MyEclipse会自动生成客户端代码。然后,你可以编写测试类,如`testresult.java`,通过调用生成的客户端接口进行测试,验证Web服务的功能是否正常。 以上就是MyEclipse中使用JAX-WS开发...

    JAX-WS_Java API for XML Web Services

    5. **客户端代理(Client Proxy)**:JAX-WS为Web服务客户端自动生成代理类,使得客户端可以通过调用Java方法来调用远程Web服务。 6. **协议适配器(Protocol Adapter)**:支持多种传输协议,如HTTP、HTTPS,以及...

    Jax-WS的配置方式

    生成Jax-WS客户端代码也很简单,可以使用wsimport工具从WSDL生成客户端Stubs。然后,可以通过这些Stubs调用远程Web服务。 **示例项目"WSdemo"** 在"WSdemo"项目中,你可以找到一个简单的Jax-WS服务示例,包括SEI、...

    JAX-WS + Spring 实现webService示例

    1. **生成客户端代理**:通常,我们使用WSDL文件来生成一个客户端代理类,这个类提供了调用远程Web Service的方法。 2. **配置Spring**:在客户端,同样需要一个Spring配置来管理Web Service客户端的生命周期。 ``...

    JAX-WS(java api xml webservice)

    同样,`wsimport`工具可以用来生成客户端代理类,使得客户端能够调用远程Web服务。 3. **部署**:服务提供者将服务部署到应用服务器,如Tomcat或JBoss。服务消费者则通过代理类与服务交互。 **关键特性** 1. **注解...

Global site tag (gtag.js) - Google Analytics