webservice调用方式(webservice 调用方式)
大家好!今天让创意岭的小编来大家介绍下关于webservice调用方式的问题,以下是小编对此问题的归纳整理,让我们一起来看看吧。
开始之前先推荐一个非常厉害的Ai人工智能工具,一键生成原创文章、方案、文案、工作计划、工作报告、论文、代码、作文、做题和对话答疑等等
只需要输入关键词,就能返回你想要的内容,有小程序、在线网页版、PC客户端和批量生成器
本文目录:
webservice接口怎么使用
webservice的调用,常用的大约有3种方式:1、使用axis调用
2、使用xfire调用
3、使用cxf调用
项目中,采用axis进行调用,记录如下,备忘:
ps教程:想当年的时候是用的xfire方式调用的,结果没做记录,现在已经完全记不得怎么玩了。所以说要多写博客啊 t_t
版本说明:
aixs版本:axis-bin-1_4.zip
java环境略
第一步:确保wsdl文件可用,文中为获取到sendsmsservice.wsdl,当然url的也行。
第二步:执行生成客户端代码的脚本。脚本内容为:
set axis_lib=d:axis-1_4lib
set java_cmd=java -djava.ext.dirs=%axis_lib%
set output_path=.
set package=info.jyzh.wap.liaoning.push
%java_cmd% org.apache.axis.wsdl.wsdl2java sendsmsservice.wsdl -o%output_path% -p%package% -t
#查看wsdl2java的使用帮助#%java_cmd% org.apache.axis.wsdl.wsdl2java -help
ok,至此,客户端代码就生成出来了。还带了一个单元测试哦。
实际工作中,碰到以下情况,客户端不能直接连上webservice服务器,中间被强大的代理服务器挡住了。如下图:
为此,修改生成的代码,本次是在sendmmsserviceimplservicesoapbindingstub中作修改,如下:
static {
axisproperties.setproperty("http.proxyhost","88.88.88.88");
axisproperties.setproperty("http.proxyport","8080");
axisproperties.setproperty("http.proxyuser","asp教程yy");
axisproperties.setproperty("http.proxypassword","123456");
_operations = new org.apache.axis.description.operationdesc[1];
_initoperationdesc1();
}直接axis调用远程的web service我觉得这种方法比较适合那些高手,他们能直接看懂xml格式的wsdl文件,我自己是看不懂的,尤其我不是专门搞这行的,即使一段时间看懂,后来也就忘记了。直接调用模式如下:import java.util.date;import java.text.dateformat;import org.apache.axis.client.call;import org.apache.axis.client.service;import javax.xml.namespace.qname;import java.lang.integer;import javax.xml.rpc.parametermode; public class caclient { public static void main(string[] args) { try { string endpoint = "http://localhost:8080/ca3/services/casynrochnized?wsdl"; //直接引用远程的wsdl文件 //以下都是套路
service service = new service(); call call = (call) service.createcall(); call.settargetendpointaddress(endpoint); call.setoperationname("adduser");//wsdl里面描述的接口名称 call.addparameter("username", org.apache.axis.encoding.xmltype.xsd_date, javax.xml.rpc.parametermode.in);//接口的参数 call.setreturntype(org.apache.axis.encoding.xmltype.xsd_string);//设置返回类型
string temp = "测试人员"; string result = (string)call.invoke(new object[]{temp}); //给方法传递参数,并且调用方法 system.out.println("result is "+result); } catch (exception e) { system.err.println(e.tostring()); } }}2,直接soap调用远程的webservice这种模式我从来没有见过,也没有试过,但是网络上有人贴出来,我也转过来import org.apache.soap.util.xml.*;import org.apache.soap.*;import org.apache.soap.rpc.*; import java.io.*;import java.net.*;import java.util.vector; public class caservice{ public static string getservice(string user) { url url = null; try { url=new url("http://192.168.0.100:8080/ca3/services/casynrochnized"); } catch (malformedurlexception mue) { return mue.getmessage(); } // this is the main soap object call soapcall = new call(); // use soap encoding soapcall.setencodingstyleuri(constants.ns_uri_soap_enc); // this is the remote object we're asking for the price soapcall.settargetobjecturi("urn:xmethods-casynrochnized"); // this is the name of the method on the above object soapcall.setmethodname("getuser"); // we need to send the isbn number as an input parameter to the method vector soapparams = new vector(); // name, type, value, encoding style parameter isbnparam = new parameter("username", string.class, user, null); soapparams.addelement(isbnparam); soapcall.setparams(soapparams); try { // invoke the remote method on the object response soapresponse = soapcall.invoke(url,""); // check to see if there is an error, return "n/a" if (soapresponse.generatedfault()) { fault fault = soapresponse.getfault(); string f = fault.getfaultstring(); return f; } else { // read result parameter soapresult = soapresponse.getreturnvalue (); // get a string from the result return soapresult.getvalue().tostring(); } } catch (soapexception se) { return se.getmessage(); } }}
3,使用wsdl2java把wsdl文件转成本地类,然后像本地类一样使用,即可。
webservice 怎么调用
一、WebService在cs后台程序中的调用 A、通过命名空间和类名直接调用 示例: WebServicews=newWebService(); strings=ws.HelloWorld(); B、通过添加WEB引用的方式调用,首先添加WEB引用,通过URL指向WEBSERVICE, 指定WEB引用名,假设为KK; 示例: kk.WebServicen=newkk.WebService(); stringss=n.HelloWorld(); 二、WebService在前台页面的JS调用方法 1、首先通过下面的方法把Webservice在前台引用进来 2、然后就可以通过JS程序进行调用,示例如下: ----自写小例子--- webService---: [WebMethod] publicstringHelloWorld(){ return"HelloWorld,wwg"; } [WebMethod] publicintAddWwg(inta,intb) { returna+b; } exe--- usingCallWebService.localhost;//因为自己没有定义命名空间 namespaceCallWebService { publicpartialclassForm1:Form { publicForm1() { InitializeComponent(); } privatevoidbutton1_Click(objectsender,EventArgse) { ServiceserviceWwg=newService(); inti1=Int32.Parse(txt1.Text.ToString()); inti2=Int32.Parse(txt2.Text.ToString()); intiResult=serviceWwg.AddWwg(i1,i2); lb1.Text=iResult.ToString(); } privatevoidbutton2_Click(objectsender,EventArgse) { CallWebService.localhost.ServiceserviceWwg=newCallWebService.localhost.Service(); stringstrResult=serviceWwg.HelloWorld(); lb1.Text=strResult.ToString(); } } }如何调用别人提供的webservice接口
在项目中选择【控制台应用程序】,点击项目右键,选择添加->服务引用。在地址栏中输入WebServie链接地址后回车,点击确定后在代码中就可以看到添加的服务应用了,详细步骤:
1、首先打开VS2013,选择文件->新建->项目。
2、在项目中选择【控制台应用程序】,将项目名称重新命名为【WebServiceTest】。
3、点击项目右键,选择添加->服务引用。
4、在地址栏中输入WebServie链接地址后回车,然后重新命名服务名称为【ServiceGetWeather】,点击确定后在代码中就可以看到添加的服务应用了。
5、然后在代码中添加如下代码,调用webservice,获取接口返回的数据,呈现出来。
6、这是运行的结果,可以看出接口返回了一个xml格式的数据。
怎么调用webservice服务
写一个WINDOWS服务定期调用webservice中的方法。1、先建一个WebService(ASP.NET Web 服务应用程序)
2、建这个WebService的虚拟目录
3、执行生成一个文件
{
C:\Program Files\Microsoft Visual Studio 8\VC>wsdl /language:C# /out:c:\myProxyClass.cs http://hostServer:88/ImportData.asmx?WSDL
这个工具(方法)是针对一个webservice生成一个能动态调用的类
language:C#-----C#语言输出
c:\myProxyClass.cs-----这个是生成的文件存在本地的文件名和路径
http://hostServer:88/ImportData.asmx-----是虚拟目录运行时的地址
}
4、创建一个windows服务程序(新建项目->左侧选windows->右侧选windows服务),然后把生成的文件引入到windows服务的程序中
5、写调用事件(BeginImportUFData)
6、完成后编译生成一下,这时就会在此windows服务程序的bin文件夹下生成一个exe文件(如:MyNewService.exe
)
7、按以下方式安装
安装:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe 绝对路径\MyNewService.exe
卸载:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe -u 绝对路径\MyNewService.exe
例如:(用dos命令窗口执行)
安装:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe E:\chengxu\MyNewService\MyNewService\bin\Debug\MyNewService.exe
【然后显示:正在安装程序集,最后显示:“提交”阶段成功完成】
卸载:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe -u E:\chengxu\MyNewService\MyNewService\bin\Debug\MyNewService.exe
【最后提示:卸载完成】
启动、停止服务是window操作,找到管理-->服务 操作
使用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地址改为本地路径即可。
以上就是关于webservice调用方式相关问题的回答。希望能帮到你,如有更多相关问题,您也可以联系我们的客服进行咨询,客服也会为您讲解更多精彩的知识和内容。
推荐阅读: