- 浏览: 135825 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
2047699523:
如何在java Web项目中开发WebService接口htt ...
WebService之WSDL和SOAP实例(基于JAVA) -
feelingkeep:
HelloWorldClientServlet里面的call. ...
WebService之WSDL和SOAP实例(基于JAVA) -
liuzibin:
谢谢的东西,能够发我一份吗?我到处找都没能找到。我的QQ邮箱是 ...
WebService之WSDL和SOAP实例(基于JAVA) -
H伊方H:
WebService之WSDL和SOAP实例(基于JAVA) -
herofighter2008:
坑爹,少文件了
一个简单的DWR入门例子
开发环境:jdk1.6 + Tomcat 6.0.18 + MyEclipse6.0
首先是使用WSDL协议实现:这里使用XFire
XFire一个免费、开源的SOAP框架,它构建了POJO和SOA之间的桥梁,主要特性就是支持将POJO通过非常简单的方式发布成Web服务,其原理是以接口反射机制自动取得远程方法的
WSDL是一个用来描述Web服务和说明如何与Web服务通信的XML语言
准备:开发之前请先到官网(http://xfire.codehaus.org/Download)下载xfire-distribution-1.2.6.zip并解压缩
(1)、新建一个Web项目(服务端),名称为XFireWebService,其目的是为了测试WebService服务端
为工程添加XFire支持的类库,把xfire-1.2.6里lib所有jar和xfire-all-1.2.6.jar拷贝到工程lib里
(2)、把XFire加载到系统中来,增加web.xml的配置信息
(3)、创建Web服务接口,声明该Web服务对外暴露的接口
(4)、创建Web服务实现类,为Web服务接口提供实现
(5)、这两个类是具体的业务实现类,对业务方法的具体实现放在里面
(6)、在src目录下新建一个META-INF文件夹里包含xfire/service.xml该文件是XFire框架的服务发布文件
(7)、注意:当用到List等集合类型时,需要定义Mapping关系
必须与接口同名后缀.aegis.xml,而且要与接口同一位置
web.xml和service.xml都可以通过IDE自动生成,也可以手写
(8)、到这步webService服务端就基本完成
部署项目,启动Tomcat,测试一下wsdl,访问http://localhost:8080/XFireWebService/services/HelloService?wsdl
如果能正确显示wsdl文件,说明刚才的部署成功了!!!
(9)、再建一个Web项目(客户端),名称为XFireWebClient,其目的是用来调用一个webService服务
将XFire的库文件拷贝到Web项目的WEB-INF\lib目录下,同时需要将服务器端发布的服务打包发布给客户端,发布给客户端的代码只需要打包接口和参数类即可,实现类不必打包到客户端
这里发布的jar包名称为IHelloService.jar,里面包含IHelloService、EnterVO、ExceedVO这三个类
(10)、在这个Web项目里面新建一个Servlet作为测试的Servlet,名称为ClientTestServlet.java
在web.xml里面配置好这个Servlet后,就可以在Servlet里面写webService调用的代码了
客户端的web.xml如下所示:
(11)、注意:XFireWebService项目里的IHelloService.aegis.xml文件,也要放到XFireWebClient项目中来,位置与ClientTestServlet.java同级
(12)、Servlet返回的结果页面:result.jsp
(13)、同样将这个Web项目发布,同时启动XFireWebService和XFireWebClient这两个应用,然后在地址栏里面输入http://localhost:8080/XFireWebClient/
此时会调用客户端的Servlet,然后调用其doGet方法,如果正常的话,可以看到页面输出结果了(*^__^*)
问题:在项目中使用XFire发布服务,在本地测试一切正常,但是传到服务器上,发现List的第一个元素是没有内容的,后面的元素内容显示正常,
通过调试服务端没有问题,是往客户端之间传输时丢失的,目前的解决办法比较2,是在List前面加了一条垃圾数据,故意把List的第一个元素挤下来。
希望有人能帮我解答!!!谢谢
其次是使用SOAP协议实现:有时需要其它语言做服务端,java做客户端,就要用到SOAP获取WebService了
SOAP简单对象访问协议是一种轻量的、简单的、基于 XML 的协议,它被设计成在WEB上交换结构化的和固化的信息
这里演示的例子服务端和客户端都是java
首先从网站http://xml.apache.org/soap/index.html下载soap,解压得到soap.war
把soap.war放到Tomcat\webapps\目录下
(1)、新建一个Web项目(服务端)名为SoapService
(2)、编写服务端代码HelloWorldService.java
编写完成后,将HelloWorldService发布jar到Tomcat\lib\目录中
(3)、SOAP服务的发布
启动Tomcat自动将soap.war解压,访问http://localhost:8080/soap/admin/,会出现soap的管理页面
注意:这里会出现错误是因为在Tomcat\lib\目录下缺少sun的mail.jar
进入Deploy,填写如下信息:
ID: hello
Scope: Request
Methods getMessage
Provider Type: Java
Java Provider Provider Class: HelloWorld.HelloWorldService
Java Provider Static: NO
确认发布,可以点List查看已发布服务!
(4)、再建一个Web项目(客户端)名为SoapClient
为工程增加4个jar文件:xerces、soap、activation、mail
(5)、在这个Web项目里面新建一个Servlet作为测试的Servlet,名称为HelloWorldClientServlet.java
在web.xml里面配置好这个Servlet后,就可以在Servlet里面写webService调用的代码了
客户端的web.xml如下所示:
(6)、Servlet返回的结果页面:result.jsp
(7)、运行客户端,测试是否通过
同时启动SoapService和SoapClient这两个应用,访问http://localhost:8080/SoapClient/
应该可以看到返回的内容,则证明配置和测试成功,以后就可以发布自己的SOAP服务了!
首先是使用WSDL协议实现:这里使用XFire
XFire一个免费、开源的SOAP框架,它构建了POJO和SOA之间的桥梁,主要特性就是支持将POJO通过非常简单的方式发布成Web服务,其原理是以接口反射机制自动取得远程方法的
WSDL是一个用来描述Web服务和说明如何与Web服务通信的XML语言
准备:开发之前请先到官网(http://xfire.codehaus.org/Download)下载xfire-distribution-1.2.6.zip并解压缩
(1)、新建一个Web项目(服务端),名称为XFireWebService,其目的是为了测试WebService服务端
为工程添加XFire支持的类库,把xfire-1.2.6里lib所有jar和xfire-all-1.2.6.jar拷贝到工程lib里
(2)、把XFire加载到系统中来,增加web.xml的配置信息
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <servlet> <servlet-name>XFireServlet</servlet-name> <servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class> <load-on-startup>0</load-on-startup> </servlet> <servlet-mapping> <servlet-name>XFireServlet</servlet-name> <url-pattern>/servlet/XFireServlet/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>XFireServlet</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
(3)、创建Web服务接口,声明该Web服务对外暴露的接口
package com.test.ws; import java.util.List; /** * <p>Title: IHelloService</p> * <p>Description: 定义接口</p> */ public interface IHelloService { public String getTestString(String str); public ExceedVO getTestObject(EnterVO vo); public List getTestList(List list); }
(4)、创建Web服务实现类,为Web服务接口提供实现
package com.test.ws; import java.util.ArrayList; import java.util.List; /** * <p>Title: HelloServiceImpl</p> * <p>Description: 接口实现</p> */ public class HelloServiceImpl implements IHelloService { @Override public String getTestString(String str) { return "Hello" + str; } @Override public ExceedVO getTestObject(EnterVO vo) { ExceedVO revo = new ExceedVO(); revo.setDescStr("名称:"+vo.getName()+"年龄:"+vo.getAge()); return revo; } @Override public List getTestList(List list) { List<EnterVO> users = new ArrayList<EnterVO>(); for(int i=0; i<9; i++){ EnterVO user = new EnterVO("姓名"+i, i); users.add(user); } return users; } }
(5)、这两个类是具体的业务实现类,对业务方法的具体实现放在里面
package com.test.ws; import java.io.Serializable; /** * <p>Title: EnterVO</p> * <p>Description: 入参对象</p> */ public class EnterVO implements Serializable { private static final long serialVersionUID = 1L; private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public EnterVO(String name, int age) { this.name = name; this.age = age; } public EnterVO() { } } package com.test.ws; import java.io.Serializable; /** * <p>Title: ExceedVO</p> * <p>Description: 出参对象</p> */ public class ExceedVO implements Serializable { private static final long serialVersionUID = 1L; private String descStr; public String getDescStr() { return descStr; } public void setDescStr(String descStr) { this.descStr = descStr; } }
(6)、在src目录下新建一个META-INF文件夹里包含xfire/service.xml该文件是XFire框架的服务发布文件
<?xml version="1.0" encoding="UTF-8"?> <!-- 服务发布文件 --> <beans xmlns="http://xfire.codehaus.org/config/1.0"> <service> <!-- service标签和它所包含的xml内容为发布成Web服务的POJO提供完整的描述 --> <name>HelloService</name> <!-- Web服务被发布时所采用的唯一名称 --> <namespace>http://test/HelloService</namespace> <!-- Web服务发布时所使用的命名空间 --> <serviceClass>com.test.ws.IHelloService</serviceClass> <!-- Web服务接口类的全名 --> <implementationClass>com.test.ws.HelloServiceImpl</implementationClass> <!-- Web服务实现类的全名 --> <!-- 不需要接口时,把业务写在serviceClass标签中 --> </service> </beans>
(7)、注意:当用到List等集合类型时,需要定义Mapping关系
必须与接口同名后缀.aegis.xml,而且要与接口同一位置
<mappings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xfire.codehaus.org/schemas/1.0/mapping.xsd"> <!-- XFire可以支持基本类型,但针对集合类型时需要特殊配置 --> <mapping> <method name="getTestList"> <!-- 需要配置的方法名 --> <!-- index="0"代表方法的参数的序号0即第一个参数,componentType属性代表集合参数内包含的类型 --> <parameter index="0" componentType="java.lang.String" /> <!-- 配置返回类型,componentType属性代表返回的集合中所包含的类 --> <return-type componentType="com.test.ws.EnterVO" /> </method> </mapping> </mappings>
web.xml和service.xml都可以通过IDE自动生成,也可以手写
(8)、到这步webService服务端就基本完成
部署项目,启动Tomcat,测试一下wsdl,访问http://localhost:8080/XFireWebService/services/HelloService?wsdl
如果能正确显示wsdl文件,说明刚才的部署成功了!!!
(9)、再建一个Web项目(客户端),名称为XFireWebClient,其目的是用来调用一个webService服务
将XFire的库文件拷贝到Web项目的WEB-INF\lib目录下,同时需要将服务器端发布的服务打包发布给客户端,发布给客户端的代码只需要打包接口和参数类即可,实现类不必打包到客户端
这里发布的jar包名称为IHelloService.jar,里面包含IHelloService、EnterVO、ExceedVO这三个类
(10)、在这个Web项目里面新建一个Servlet作为测试的Servlet,名称为ClientTestServlet.java
在web.xml里面配置好这个Servlet后,就可以在Servlet里面写webService调用的代码了
package com.test.ws; import java.io.IOException; import java.net.MalformedURLException; import java.util.ArrayList; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.codehaus.xfire.XFire; import org.codehaus.xfire.XFireFactory; import org.codehaus.xfire.client.XFireProxyFactory; import org.codehaus.xfire.service.Service; import org.codehaus.xfire.service.binding.ObjectServiceFactory; /** * <p>Title: ClientTestServlet</p> * <p>Description: 测试Servlet</p> */ public class ClientTestServlet extends HttpServlet { private static final long serialVersionUID = 1L; public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); Service serviceModel = new ObjectServiceFactory().create(IHelloService.class); XFire xfire = XFireFactory.newInstance().getXFire(); XFireProxyFactory factory = new XFireProxyFactory(xfire); String serviceUrl = "http://localhost:8080/XFireWebService/services/HelloService"; IHelloService client = null; try { client = (IHelloService) factory.create(serviceModel, serviceUrl); } catch (MalformedURLException e) { e.printStackTrace(); } String str = client.getTestString("Beijing"); request.setAttribute("str", str); EnterVO enterVO = new EnterVO(); enterVO.setName("Yaodi"); enterVO.setAge(26); ExceedVO vo = client.getTestObject(enterVO); request.setAttribute("vo", vo); List<String> al = new ArrayList<String>(); al.add("111"); al.add("222"); al.add("333"); List list = client.getTestList(al); request.setAttribute("list", list); request.getRequestDispatcher("/result.jsp").forward(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request,response); } }
客户端的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> <servlet-name>ClientTestServlet</servlet-name> <servlet-class>com.test.ws.ClientTestServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>ClientTestServlet</servlet-name> <url-pattern>/ClientTest.do</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>ClientTest.do</welcome-file> </welcome-file-list> </web-app>
(11)、注意:XFireWebService项目里的IHelloService.aegis.xml文件,也要放到XFireWebClient项目中来,位置与ClientTestServlet.java同级
(12)、Servlet返回的结果页面:result.jsp
<%@ page language="java" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ page isELIgnored="false"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>测试客户端</title> </head> <body> 测试客户端!!!<br> String:${str} <br> Object:${vo.descStr} <br> List:<br> <c:forEach items="${list}" var="list"> ${list.name} --- ${list.age} <br> </c:forEach> </body> </html>
(13)、同样将这个Web项目发布,同时启动XFireWebService和XFireWebClient这两个应用,然后在地址栏里面输入http://localhost:8080/XFireWebClient/
此时会调用客户端的Servlet,然后调用其doGet方法,如果正常的话,可以看到页面输出结果了(*^__^*)
问题:在项目中使用XFire发布服务,在本地测试一切正常,但是传到服务器上,发现List的第一个元素是没有内容的,后面的元素内容显示正常,
通过调试服务端没有问题,是往客户端之间传输时丢失的,目前的解决办法比较2,是在List前面加了一条垃圾数据,故意把List的第一个元素挤下来。
希望有人能帮我解答!!!谢谢
其次是使用SOAP协议实现:有时需要其它语言做服务端,java做客户端,就要用到SOAP获取WebService了
SOAP简单对象访问协议是一种轻量的、简单的、基于 XML 的协议,它被设计成在WEB上交换结构化的和固化的信息
这里演示的例子服务端和客户端都是java
首先从网站http://xml.apache.org/soap/index.html下载soap,解压得到soap.war
把soap.war放到Tomcat\webapps\目录下
(1)、新建一个Web项目(服务端)名为SoapService
(2)、编写服务端代码HelloWorldService.java
package HelloWorld; /** * <p>Title: HelloWorldService</p> * <p>Description: 服务端</p> */ public class HelloWorldService { public String getMessage(){ return "Hello World!!!"; } public String getMessage(String str1, String str2) { return "Hello World! " + str1 + "&" + str2; } }
编写完成后,将HelloWorldService发布jar到Tomcat\lib\目录中
(3)、SOAP服务的发布
启动Tomcat自动将soap.war解压,访问http://localhost:8080/soap/admin/,会出现soap的管理页面
注意:这里会出现错误是因为在Tomcat\lib\目录下缺少sun的mail.jar
进入Deploy,填写如下信息:
ID: hello
Scope: Request
Methods getMessage
Provider Type: Java
Java Provider Provider Class: HelloWorld.HelloWorldService
Java Provider Static: NO
确认发布,可以点List查看已发布服务!
(4)、再建一个Web项目(客户端)名为SoapClient
为工程增加4个jar文件:xerces、soap、activation、mail
(5)、在这个Web项目里面新建一个Servlet作为测试的Servlet,名称为HelloWorldClientServlet.java
在web.xml里面配置好这个Servlet后,就可以在Servlet里面写webService调用的代码了
package HelloWorld; import java.io.IOException; import java.net.URL; import java.util.Vector; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.soap.Constants; import org.apache.soap.Fault; import org.apache.soap.SOAPException; import org.apache.soap.rpc.Call; import org.apache.soap.rpc.Parameter; import org.apache.soap.rpc.Response; /** * <p>Title: HelloWorldClientServlet</p> * <p>Description: 测试Servlet</p> */ public class HelloWorldClientServlet extends HttpServlet { private static final long serialVersionUID = 1L; public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); String endPoint = "http://localhost:8080/soap/servlet/rpcrouter"; //url是固定的,带参数绑定 Call call = new Call(); //创建一个RPC Call call.setTargetObjectURI("hello"); //远程的服务名 call.setMethodName("getMessage"); //访问方法 call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC); //设置编码风格 //发布带参数的服务 Vector params = new Vector(); Parameter p1 = new Parameter("name", String.class, "关羽", null); Parameter p2 = new Parameter("name2", String.class, "张飞", null); params.addElement(p1); params.addElement(p2); call.setParams(params); URL url = new URL(endPoint); //SOAP服务的网址,开始发送RPC请求,并返回服务端的应答 Response resp = null; try { //检查应答报中文是否有错(有错就打印出错信息,没错就打印返回信息) resp = call.invoke(url, ""); } catch (SOAPException e) { e.printStackTrace(); } if(resp.generatedFault()){ Fault fault = resp.getFault(); System.out.println("The Following Error Occured:"); System.out.println("Fault Code=" + fault.getFaultCode()); System.out.println("Fault String=" + fault.getFaultString()); } else { Parameter result = resp.getReturnValue(); System.out.println(result.getValue()); request.setAttribute("str", result.getValue()); } request.getRequestDispatcher("/result.jsp").forward(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request,response); } }
客户端的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> <servlet-name>HelloWorldClientServlet</servlet-name> <servlet-class>HelloWorld.HelloWorldClientServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloWorldClientServlet</servlet-name> <url-pattern>/HelloWorldClientServlet.do</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>HelloWorldClientServlet.do</welcome-file> </welcome-file-list> </web-app>
(6)、Servlet返回的结果页面:result.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ page isELIgnored="false"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>SOAP测试客户端</title> </head> <body> SOAP测试客户端!!!<br> String:${str} <br> </body> </html>
(7)、运行客户端,测试是否通过
同时启动SoapService和SoapClient这两个应用,访问http://localhost:8080/SoapClient/
应该可以看到返回的内容,则证明配置和测试成功,以后就可以发布自己的SOAP服务了!
- XFireWebService.rar (18 KB)
- 下载次数: 834
- SoapWebService.rar (13.1 KB)
- 下载次数: 1197
评论
10 楼
2047699523
2015-04-14
如何在java Web项目中开发WebService接口
http://www.zuidaima.com/question/1925428495420416.htm
http://www.zuidaima.com/question/1925428495420416.htm
9 楼
feelingkeep
2014-10-30
HelloWorldClientServlet里面的call.setTargetObjectURI("名字"); 这个名字应该和soap服务端设置的id名称是一致的 楼主给的代码里面call.setTargetObjectURI("urn:HelloWorldService"); 和服务器的hello不一致哦~~
8 楼
liuzibin
2014-05-05
谢谢的东西,能够发我一份吗?我到处找都没能找到。我的QQ邮箱是347754769@qq.com我是刚学ws,对你这个问题还有待研究
7 楼
H伊方H
2012-07-03
6 楼
fengyun4love
2012-02-16
我最近在学soap,可是apache网上似乎已经没有了,求大瞎给我一份sopa.war,我的网址是fengyun4love@163.com,十分感谢.
5 楼
jsamson
2011-09-07
你好,不知有没遇到过用wsdl文件生成的客户端放在weblogic服务器后,调用服务端返回对象报错,报...is not bound。主要提示说一些属性没邦定之类。
4 楼
Jerry_BJ
2011-08-30
您好 有一问题不是很懂 希望能加Q详聊 谢谢!251637313
3 楼
yanglinumber1
2009-02-18
谢谢的东西,能够发我一份SOAP.WAR吗?我到处找都没能找到。我的QQ邮箱是471723842@qq.com我是刚学ws,对你这个问题还有待研究。
2 楼
yanglinumber1
2009-02-18
谢谢的东西,能够发我一份SOAP.WAR吗?我到处找都没能找到。我的QQ邮箱是471723842@qq.com我是刚学ws,对你这个问题还有待研究。
1 楼
yaodi0818
2009-01-05
在项目中使用XFire发布服务,在本地测试一切正常,但是传到服务器上,发现List的第一个元素是没有内容的,后面的元素内容显示正常,
通过调试服务端没有问题,是往客户端之间传输时丢失的,目前的解决办法比较2,是在List前面加了一条垃圾数据,故意把List的第一个元素挤下来。
希望有人能帮我解答!!!谢谢
通过调试服务端没有问题,是往客户端之间传输时丢失的,目前的解决办法比较2,是在List前面加了一条垃圾数据,故意把List的第一个元素挤下来。
希望有人能帮我解答!!!谢谢
相关推荐
【标题】"WebService之WSDL和SOAP实例(基于JAVA)"主要涵盖了两个核心概念:Web服务描述语言(WSDL)和简单对象访问协议(SOAP),这些都是在Java环境下实现Web服务的关键技术。 **Web服务描述语言(WSDL)** WSDL是...
Web服务(WebService)是一种基于互联网的、平台独立的交互方式,允许不同系统之间进行数据交换。在本实例中,我们将探讨三个关键概念:WSDL(Web Services Description Language)、SOAP(Simple Object Access ...
在本例中,"C#调用WebService实例和开发(wsdl).pdf"可能包含详细的步骤和代码示例。 2. **添加引用**:将生成的代理类添加到你的项目中,这样就可以在C#代码中直接调用Web服务的方法。 3. **实例化代理类**:...
"webservice soap wsdl" Web Service 是一种网络接口,为应用程序提供了交互和分布式处理的效果,与平台、开发语言无关。Web Service 的核心是 WSDL(Web Services Description Language),它是一种用于描述 Web ...
首先,Java Web服务(WEBSERVICE)是基于SOAP(Simple Object Access Protocol)或REST(Representational State Transfer)协议的网络服务,它允许远程系统通过HTTP等标准网络协议进行通信。Java提供了多种框架来...
调用WebService通常涉及到SOAP(Simple Object Access Protocol)消息,这是一种基于XML的协议用于在Web上传输信息。 在Java中调用带有JSON参数的WebService,可以按照以下步骤进行: 1. 定义WebService服务端代码...
01_webservice快速实例,02_wsimport的使用,03_wsdl和soap讲解(介入了tcpmon工具),04_SOA的分析,05_dtd讲解,06_schema的命名空间,07_schema的元素和属性的定义,以及基础的讲解。
本文将基于给定的“Java开发WebService实例”内容,深入解析如何在Tomcat中间件环境下,利用Java语言开发WebService,并通过具体示例来阐述相关的知识点。 #### WebService概念简述 WebService是一种遵循特定协议...
3. 基于标准:WebService基于XML和SOAP等标准协议,确保了WebService的可移植性和互操作性。 Java实现WebService实例的应用场景: 1. 企业应用集成:WebService可以用于集成不同的企业应用程序,实现业务逻辑的...
3. **生成WSDL**:使用JAX-WS(Java API for XML Web Services)工具,如CXF或Metro,通过Java类自动生成WSDL文件。这将描述你的Web服务及其操作。 4. **发布Web服务**:将生成的WSDL文件与服务类一起部署到应用...
Webservice 是一种基于 SOAP 传输协议,用 WSDL 描述,用 XML 封装数据的接口技术。由于其跨平台、跨防火墙、开发成本低、开发周期短等优势而被广泛应用,但也有局限性,包括传输负载大、没有统一的实现模型等。 在...
Web服务(Web Service)是一种基于互联网的标准方法,允许应用程序之间进行交互和数据交换。SOAP(Simple Object Access Protocol)是Web服务通信的一种协议,它使用XML(eXtensible Markup Language)来封装数据,...
在Java世界中,WebService是一种基于XML的开放标准技术,它允许不同系统间的应用程序进行通信,跨越不同的操作系统和编程语言。本实例将详细讲解如何使用Apache Axis1.4工具来生成Java版的WebService服务端和客户端...
### WebService之WSDL自学笔记 #### 1、WSDL概述 WSDL(Web Services Description Language,网络服务描述语言)是一种基于XML的标准语言,用于描述Web服务及其如何被访问。WSDL提供了描述服务的方式,包括服务的...
总的来说,"webService Soap实例"是一个关于如何创建和使用SOAP Web服务的实践教程。它涵盖了服务端的实现、客户端的调用以及可能的优化策略。通过学习和实践这些实例,开发者可以更好地理解SOAP协议的工作原理,...
最近写了一个SOA服务,开始觉得别人拿到我的服务地址,然后直接添加引用就可以使用了,结果"大牛"告知不行。...让我写一个SOAP调用服务的样例,我有点愣了,因为没做过这方面的,于是搞到了一个Demo,然后学习了下。
WebService是一种基于XML的网络通信协议,其核心规范包括SOAP(Simple Object Access Protocol)、WSDL(Web Services Description Language)和UDDI(Universal Description, Discovery, and Integration)。SOAP...
Java Web服务是一种基于Java技术实现的Web服务,它利用SOAP(简单对象访问协议)进行数据传输,并通过WSDL(Web服务描述语言)来定义服务接口。本文将详细介绍如何使用Axis工具根据WSDL文件生成Java Web服务,并提供...
总结,Java调用WebService主要通过解析WSDL源码生成客户端代码,然后实例化服务代理并调用其方法实现通信。不同的工具库如Apache CXF、Axis2和JAX-WS提供了方便的方式来处理这一过程,让开发者能够专注于业务逻辑,...