webservice接口开发教程(如何开发webservice接口)

本文目录
- 如何开发webservice接口
- 如何用IDEA一步一步开发WebService服务器端
- 怎么写一个webservice
- C# 关于Web service + XML接口开发
- 如何创建一个webservice
- 使用C#创建webservice及调用方式
- Python实现WebService接口(SOAP)
- SpringBoot|| Spring Cloud 整合cxf开发webService接口服务端-流程步骤
- 如何调用webservice接口
- java编写一个webservice接口,接口中的方法参数应该是什么,返回值呢(急)要求见补充,谢谢啦
如何开发webservice接口
以下是操作步骤:
1、编写服务代码
服务代码提供了两个函数,分别为sayHello和sayHelloToPerson,在HelloService.java类中
2、发布WebService
要将上边写的HelloService类发布为WebService,需要先搭建Web应用。下面是在Tomcat下使用Axis创建WebService服务的例子。
3、在Tomcat下创建Web应用
在该例子中,在Tomcat下创建了一个context path为test_webservice的WEB应用。
(1) 在Tomcat的webapps下创建如下文件系统
test_webservice
WEB-INF
lib
Classes
(2)在WEB-INF文件夹下创建web.xml文件,在web.xml中主要是配置axis。
4、复制axis相关的jar文件
将axis的相关jar文件复制到WEB-INF\lib文件夹下。这些文件包括:
activation.jar
axis.jar
axis-ant.jar
axis-schema.jar
commons-discovery-0.2.jar
commons-logging-1.0.4.jar
jaxrpc.jar
log4j-1.2.8.jar
mailapi.jar
saaj.jar
wsdl4j-1.5.1.jar
xmlsec-1.3.0.jar
5、测试发布的WEB应用
***隐藏网址***
如果看到如下界面就说明AXIS部署成功了。
6、发布WebService
发布WebService需要使用现有的AdminService来实现,这里我写了一个批处理文件来发布WebService,以后如果需要发布其他文件,只需要修改相应的参数就可以了。
(1)创建deploy.wsdd文件。
(2)创建发布WebService服务的批处理文件deploywebservice.bat。
其中E:\workspace\Libwebservice是存放axis对应的jar文件的文件夹,现在将所有的jar文件都加入到此文件夹中。
-l后的参数是本地要发布WebService的AdminService对应的访问地址。
最后deploy.wsdd是对应的配置文件名称。
***隐藏网址***
如何用IDEA一步一步开发WebService服务器端
开发WebService的服务器端,不需要借助任何的其他,JDK就可以搞定,只要在类上标注了@WebService,以及在方法上,标注了@WebMethod方法,就可以认为他是一个WebService。
在server包下的是服务器端代码,在client包下的是客户端代码。
intellij14 中内置了WebService 的客户端代码的实现方式,他是使用的 JAX-WS。
怎么写一个webservice
本Guide利用Eclipse以及Ant建立一个简单的Web Service,以演示Web Service的基本开发过程:
1.系统条件:
Eclipse Java EE IDE for Web Developers
Java SE 6
Windows XP
2.基本环境搭建:
1)Java SE6 JDK的安装:下载Java SE6 JDK,双击,安装默认选项进行安装即可。
2)Eclipse的安装与配置:
安装时直接解压。
配置处有两点,Window》Preferences》Java》Installed JREs确保如下设置:
安装路径可能略有不同。
Window》Preferences》Java》Compiler 确保如下设置:
3.建立Server端工程和相关包与类:
创建一个Java Project,命名为wsServerHelloWorld:
在这个项目下建立包:org.gnuhpc.wsServer
在这个包下边建立类:SayHello
在SayHello.java文件中输入以下代码:
package org.gnuhpc.wsServer;
import javax.jws.WebService;
@WebService
public class SayHello {
private static final String SALUTATION = "Hello";
public String getGreeting(String name) {
return SALUTATION + " " + name;
}
}
其中注意到@WebService ,这个称作annotation或者metadata,Java SE 5中的Web Services Metadata Specification引入的。Java SE 6中对于Web Services规范的升级以及JAX-WS(Java API for XML Web Services)2.0规范,这些升级使得我们Web Services的创建和调用变得更加容易。使用这些新功能,我们可以仅仅使用简单的Annotations注释从一个Java类创建Web Services。开发者将其类和方法之前用该annotations指定,类告诉runtime engine以Web Service的方式和操作来使能该类和方法。这个annotations可以产生一个可布署的Web Service,是一个WSDL映射annotations,将Java源代码与代表Web Service的WSDL元素连接在了一起。
4.使用Ant产生Server端代码:
首先在项目中新建一个文件:build.xml,然后使用OpenWith》AntEditor打开,输入以下脚本代码:
《project default="wsgen"》
《target name="wsgen"》
《exec executable="wsgen"》
《arg line="-cp ./bin -keep -s ./src -d ./bin
org.gnuhpc.wsServer.SayHello"/》
《/exec》
《/target》
《/project》
default指定了默认执行的Target为wsgen,wsgen可以创建一个能够使用WebService的类,它生成所有用于WebService发布的源代码文件和经过编译过的二进制类文件。它还生成WSDL和符合规范的该类的WebService。
Target名称为wsgen,具体执行的命令的参数:
-cp 为类路径
-keep后产生的java文件
-s 产生的源文件放在哪
-d 产生的输出问价放在哪
然后使用Ant Build选项运行:
在成功执行的提示后,我们刷新一下Project
我们在Project区域可以看到,结果如下:
5.分布Web Service
org.gnuhpc.wsServer下建立一个类RunService:
package org.gnuhpc.wsServer;
import javax.xml.ws.Endpoint;
public class RunService {
/**
*@paramargs
*/
public static void main(String args) {
System.out.println("SayHello Web Service started.");
***隐藏网址***
new SayHello());
}
}
运行Run As》Java Application。我们得到结果,说明这个web service的Server端已经启动。
6.查看WSDL:
***隐藏网址***
你可以看看到底WSDL都记录了哪些信息。看完后可以停止该Server。
7.监测Server
我们创建完Server可以用过Eclipse Web Services Explorer监测Server,
Window》Open Perspective》Other 》JavaEE
打开Eclipse Web Services Explorer
点击右上角的WSDL Page按钮:
***隐藏网址***
我们可以触发一个Web Service操作:点击getGreetings,添加一个参数,比如gnuhpc,然后点击Go按钮:
8.创建Client端 工程和相关包与类:
创建一个Java Project,命名为wsClientHelloWorld,在这个项目下建立包:org.gnuhpc.wsClient
9.使用Ant产生Client代码框架:
编写Web service时,可以使用工具来利用WSDL生成进行调用的客户端桩;或者也可以使用底层API来手动编写Web service。前者方便,后者灵活,现在我们通过前者做说明:
新建文件build.xml
New》File》build.xml
《project default="wsimport"》
《target name="wsimport"》
《exec executable="wsimport"》
《arg line="-keep -s ./src -p org.gnuhpc.wsClient
***隐藏网址***
《/exec》
《/target》
《/project》
注意:wsgen 支持从 Java class 创建 Web services,wsimport 支持从 WSDL 创建 Web services,分别对应于 JAX-RPC 方式下的 Java2WSDL 和 WSDL2Java。要根据发布的WSDL进行创建,这也就是为什么要先运行RunServer的原因了。
运行Server的RunService : Run As》Java Application》
运行该Ant脚本,产生Client代码:Run As》Ant Build
运行成功的提示如下:
生成的代码如下:
这一步读取WSDL并生成客户端桩。这些桩是将为我们的代码所用的Java类和接口。这些桩给服务器端功能提供了一个客户端接口。例如,如果我们的服务器提供一个Maths服务,该服务带有一个叫做add的方法。我们的客户端代码将调用桩上的一个方法,而桩实现将对该方法使用参数封装,把Java方法调用变为Webservice请求。这个请求将基于HTTP发送给服务器,而且将使用SOAP作为RPC协议。监听服务器接收该SOAP消息,然后(十有八九)将其转换为服务器处的一次方法调用。
C# 关于Web service + XML接口开发
***隐藏网址***
***隐藏网址***
对方服务返回xml,一般网络通讯服务建议使用json(长度短,不冗余),response返回xml,解析xml即可
如何创建一个webservice
服务器端的操作:
1. 创建一个WebService项目。(不需要是Java EE 5.0)
2. 创建包与接口以及实现类。
3. 加上WebService的包
4. 配置文件
***隐藏网址***
至此,服务器端已完成!以下做的是客户端的调用。
1. 创建客户端项目
2.将服务器端的包复制到客户端(注意,实现类要去掉)
3. 加入WebService包
4. 在Next时, 注意将红框中的勾打上。
6. 在包中创建一个类测试调用外部的WebService是否成功!(注意取地址时应加上webservice的名称)
package com.yenange.service;
import java.net.MalformedURLException;
import org.codehaus.xfire.XFireFactory;
import org.codehaus.xfire.client.XFireProxyFactory;
import org.codehaus.xfire.service.Service;
import org.codehaus.xfire.service.binding.ObjectServiceFactory;
public class TestWS {
public static void main(String args) {
//1.取得WebService的路径
***隐藏网址***
//2.创建服务
Service service=new ObjectServiceFactory().create(IMyWebService.class);
//3.创建服务代理
XFireProxyFactory factory=new XFireProxyFactory(XFireFactory.newInstance().getXFire());
//4.调用外部的WebService, 建立对象. 再测试其方法
try {
IMyWebService obj=(IMyWebService)factory.create(service,url);
System.out.println(obj.HelloWorld("leaf"));
} catch (MalformedURLException e) {
e.printStackTrace();
}
}
}
至此,java的WebService调用完成!
使用C#创建webservice及调用方式
1、创建Webservice服务,需要在VS中首先创建一个Web工程,再添加一个Webservice类即可,。
2、编写Webservice的方法,以下以VS默认的HelloWord为例。
另外在实际使用中,出现过部署到ESB后不识别的情况,后经测试发现需要增加以下内容:
3、在Webservice类上点击右键-在浏览器中查看,可以查看webservice服务,在原URL地址后增加?wsdl可以查看wsdl文件。
4、对于解决方案内的webservice服务,或者网络中的webservice服务,可以通过URL地址的方式添加引用。在工程上点击右键-添加服务引用-高级-添加Web服务,输入URL地址即可。
5、对于异构系统提供的接口地址,或者内网环境,本地无法访问的情况,可以通过引用wsdl文件的方式,wsdl文件可以在接口地址后加?wsdl或者有异构系统提供。步骤和以上相同,只是最后的URL地址改为本地路径即可。
Python实现WebService接口(SOAP)
***隐藏网址***
***隐藏网址***
**SOAP**
***隐藏网址***
***隐藏网址***
使用Python实现服务端
service.py 服务端启动文件
app.py webservice接口
使用Python实现客户端
client.py
上面调用的客户端接口,测试结果如下:
SpringBoot|| Spring Cloud 整合cxf开发webService接口服务端-流程步骤
Apache CXF 是一个开源的 Service 框架,简化用户的 service 开发,基于CXF开发的应用可提供 SOAP 、 XML/HTTP 、 RESTFUL HTTP 或 CORBA 等服务。 CXF 底层页可以使用不同的传输协议,包括 HTTP 、 JMS 或 JBI 等。
自定义注解标注要发布的服务类,发布出去
在接口上添加 @WebService 注解
通过浏览器访问wsdl,wsdl路径即为发布的路径加上?wsdl
***隐藏网址***
可以看到接口就成功了。
到此服务端开发结束!
如果是soapui工具,发送的参数包括xml的:将xml写在 《!》 里面
如何调用webservice接口
webservice主要是一些站点为我们写好了的方法,供我们调用,当然我们也可以自己去编写自己的webservice, 所以你首先得找到这样的接口。看一些站点有没有这样的接口。
***隐藏网址***
会出现一些带有链接的方法名和参数说明之类的。看完之后,然后进链接可以看到测试,可以先把我们想测试的参数写进去,点击调用,会出现一个xml文件,这些就是得到的结果,依情况而定我们出把结果处理成我们想要的就可以了。
下面说一下怎么在项目中调用:新建一个web项目,然后点击添加引用服务如图,然后点击确定。
这样就会发现在webconfig文件里面多了一下节点,而且项目类中的Service References文件件多了一个绿色的东西。可以点击看看他有哪些方法,应该是和我们在浏览器输入链接的方法是一致的,剩余就是怎么调用了。下面给出具体的代码:本代码值在webForm中先添加Lable、TextBox、Button以及Literal各一个。然后点击按钮。
protected void Button1_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(this.TextBox1.Text))
{
WeatherService.WeatherWebServiceSoapClient service = new WeatherService.WeatherWebServiceSoapClient();
String strWeatherInfo = service.getWeatherbyCityName(this.TextBox1.Text);
StringBuilder str = new StringBuilder("");
str.AppendLine("您查看天气信息如下:");
foreach (string info in strWeatherInfo)
{
str.AppendLine(info+"《br/》");
}
this.Literal1.Text =str.ToString();
}
}
运行程序, 就看到效果了。
java编写一个webservice接口,接口中的方法参数应该是什么,返回值呢(急)要求见补充,谢谢啦
private JaxWsProxyFactoryBean getProxyFactory(Class《?》 clazz,String address){
JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
factory.setServiceClass(clazz);
factory.setAddress(address);
return factory;
}
public void save(){
JaxWsProxyFactoryBean factory = getProxyFactory(ProgramVerWebService.class, PROGRAM_VER_WEB_SERVICE_ADDRESS);
ProgramVerWebService service = (ProgramVerWebService)factory.create();
String result = service.getEmpByAccount("abc");
System.out.println(result);
}
本地建立接口,如ProgramVerWebService,然后建立factory调用即可,这里用的是cxf
也可以用axis2通过解析wsdl文件来直接生成本地代码,调用如下:
ProgramVerWebServiceImplServiceStub stub = new ProgramVerWebServiceImplServiceStub();
GetEmpByAccountE e = new GetEmpByAccountE();
GetEmpByAccount request = new GetEmpByAccount();
request.setArg0("abc");
e.setGetEmpByAccount(request);
String result = stub.getEmpByAccount(e).getGetEmpByAccountResponse().get_return();
System.out.println(result);

更多文章:
数据库设计作业(求人帮我做一下数据库的超简单作业~用VF做!谢谢(作业一))
2026年11月3日 16:30
河南免费师范生报考条件及要求分数线(河南2023公费师范分数线是多少)
2026年11月3日 05:00







