一: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提供了一套完整的框架,用于构建、部署和消费Web服务。通过理解这些核心概念,开发者可以有效地利用Java技术栈实现高效的Web服务通信。在"HelloServer"这个示例中,我们可以看到一个基本的JAX-WS...
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作为Java中的Web服务框架,简化了服务的开发和调用流程。通过定义服务接口,实现服务逻辑,以及使用`Endpoint.publish()`发布服务,我们可以轻松地创建一个基于JAX-WS的Web服务。同时,利用`wsimport`...
【标题】:Web服务之Java API for XML Web Services (JAX-WS) 【内容详解】 JAX-WS,全称为Java API for XML Web Services,是Java平台上的一个标准,用于构建和部署基于SOAP(Simple Object Access Protocol)的...
5. **客户端测试代码**:用于调用Web服务的Java代码,通常使用`javax.xml.ws.Service`类生成客户端代理对象。 创建JAX-WS Web服务的步骤大致如下: 1. **定义SEI**:编写Java接口,声明Web服务的方法。 2. **实现...
- **生成客户端代理**:JAX-WS提供了`wsimport`工具,可以从WSDL文档自动生成客户端的Java代码,这些代码包含了调用Web服务的方法。 - **调用服务**:通过客户端代理对象,可以直接调用服务端的方法,就像调用本地...
在部署Web服务之前,开发者通常会使用JAX-WS工具生成服务端点接口和服务实现。服务端点接口定义了Web服务的公共API,而服务实现则包含具体的业务逻辑。然后,开发者会创建一个部署描述符(如web.xml),在其中配置...
- **添加注解**:在服务接口和实现类上添加必要的JAX-WS注解,例如`@WebService`和`@WebMethod`等,用以指导工具生成相应的WSDL文件和其他元数据。 3. **示例:订单处理Web服务** - **服务接口定义**:创建一个...
JAX-WS 也提供了工具生成客户端代码,这通常基于服务的 WSDL 文件。客户端代码可以用来创建服务代理,调用服务方法。 8. **调用服务** 通过服务代理,客户端可以像调用本地方法一样调用远程 Web 服务。 9. **...
定义服务接口,使用JAX-WS注解如`@WebService`和`@SOAPBinding`,并实现相应的业务逻辑。 2. **部署服务**:将服务部署到Tomcat或其他兼容的Java应用服务器上,确保服务可用并可以通过HTTP/HTTPS访问。 3. **生成...
总结,JAX-WS提供了一套完整的框架,从定义服务接口到创建、发布和调用Web Service,以及处理SOAP头信息,使得开发者能够以高效、标准的方式构建XML和Web服务相关的应用。通过理解和实践JAX-WS,你可以更好地掌握...
JAX-WS允许我们通过注解来定义Web服务接口和服务实现,这样就可以自动生成服务端点和客户端代理类。一个典型的JAX-WS服务定义如下: ```java @WebService public interface HelloWorldService { @WebMethod ...
在提供的文件中,"jax-ws-webService创建soap类型的webservice.docx"应该包含了详细的JAX-WS SOAP Web服务创建过程,而"使用jax-rs创建restful类型的webservice接口.docx"则详细阐述了JAX-RS RESTful Web服务的实现...
JAX-WS提供了工具(如`wsimport`)来生成客户端所需的代理类,这些类可以用来调用服务。 - 使用生成的客户端代码,我们可以创建服务代理实例,然后调用服务方法。例如: ```java TestWebservice service = new ...
6. **创建客户端**:可以使用JAX-WS的`wsimport`工具,根据WSDL文件自动生成客户端代码。生成的代码包括一个客户端代理类,用于调用远程Web服务。 7. **调用服务**:在客户端代码中,实例化代理类并调用其方法,...
输入之前Web服务的WSDL地址,MyEclipse会自动生成客户端代码。然后,你可以编写测试类,如`testresult.java`,通过调用生成的客户端接口进行测试,验证Web服务的功能是否正常。 以上就是MyEclipse中使用JAX-WS开发...
5. **客户端代理(Client Proxy)**:JAX-WS为Web服务客户端自动生成代理类,使得客户端可以通过调用Java方法来调用远程Web服务。 6. **协议适配器(Protocol Adapter)**:支持多种传输协议,如HTTP、HTTPS,以及...
生成Jax-WS客户端代码也很简单,可以使用wsimport工具从WSDL生成客户端Stubs。然后,可以通过这些Stubs调用远程Web服务。 **示例项目"WSdemo"** 在"WSdemo"项目中,你可以找到一个简单的Jax-WS服务示例,包括SEI、...
1. **生成客户端代理**:通常,我们使用WSDL文件来生成一个客户端代理类,这个类提供了调用远程Web Service的方法。 2. **配置Spring**:在客户端,同样需要一个Spring配置来管理Web Service客户端的生命周期。 ``...
同样,`wsimport`工具可以用来生成客户端代理类,使得客户端能够调用远程Web服务。 3. **部署**:服务提供者将服务部署到应用服务器,如Tomcat或JBoss。服务消费者则通过代理类与服务交互。 **关键特性** 1. **注解...