webservice接口老不老

webservice接口老不老,第1张

Web Service 接口并不是一个概念或技术,而是一组标准和协议,用于在不同的应用之间进行通信。它们可以让不同的应用程序通过网络来交换数据和信息,从而实现跨平台通信。

Web Service 接口是一组标准和协议,它们为应用程序提供了一种统一的方式来进行通信。这些标准和协议通常包括:

XML:用于格式化数据的标准语言。

WSDL:用于描述 Web Service 的标准语言。

SOAP:用于在应用之间传递消息的标准协议。

Web Service 接口可以让应用程序通过网络来交换数据和信息,从而实现跨平台通信。它们可以被用于多种应用场景,例如数据交换、集成服务、第三方接口等。

由于 Web Service 接口是一组标准和协议,它们并不是一个单独的技术或产品。因此,无法确定它们是否是“老”或“新”的。不过,Web Service 接口已经存在了多年,并且在许多方面仍然被广泛使用。

webservice主要是一些站点为我们写好了的方法,供我们调用,当然我们也可以自己去编写自己的webservice,本文主要是通过一个小的实例,去如何调用webservice。下面先给出几个常用的webservice的调用地址。

下面我们就拿一个简单的天气预报接口。先把天气预报接口的地址输入地址栏:会出现一些带有链接的方法名和参数说明之类的。看完之后,然后进链接可以看到测试,可以先把我们想测试的参数写进去,点击调用,会出现一个xml文件,这些就是得到的结果,依情况而定我们出把结果处理成我们想要的就可以了。

下面说一下怎么在项目中调用:新建一个web项目,然后点击添加引用服务如图,然后点击确定。

这样就会发现在webconfig文件里面多了一下节点,而且项目类中的Service References文件件多了一个绿色的东西。可以点击看看他有哪些方法,应该是和我们在浏览器输入链接的方法是一致的,剩余就是怎么调用了。下面给出具体的代码:本代码值在webForm中先添加Lable、TextBox、Button以及Literal各一个。然后点击按钮。

运行程序,输入查看的城市:点击按钮如图所示:

java调用WebService可以直接使用Apache提供的axisjar自己编写代码,或者利用Eclipse自动生成WebService Client代码,利用其中的Proxy类进行调用。理论上是一样的,只不过用Eclipse自动生成代码省事些。

1、编写代码方式:

package comyuduntest;

import javarmiRemoteException;

import orgapacheaxisclientCall;

import orgapacheaxisclientService;

import orgapacheaxismessagePrefixedQName;

import orgapacheaxismessageSOAPHeaderElement;

import comcezannegoldenuserException;

import comcezannegoldenuserUserManagerServiceProxy;

import javaxxmlnamespaceQName;

import javanetMalformedURLException;

import javaxxmlrpcServiceException;

import javaxxmlsoapName;

import javaxxmlsoapSOAPException;

public class testWebService {

public static String getResult() throws ServiceException, MalformedURLException, RemoteException, SOAPException

{

//标识Web Service的具体路径

String endpoint = "WebService服务地址";

// 创建 Service实例

Service service = new Service();

// 通过Service实例创建Call的实例

Call call = (Call) servicecreateCall();

//将Web Service的服务路径加入到call实例之中

callsetTargetEndpointAddress( new javanetURL(endpoint) );//为Call设置服务的位置

// 由于需要认证,故需要设置调用的SOAP头信息。

Name headerName = new PrefixedQName( new QName("发布的wsdl里的targetNamespace里的url", "string_itemName") );

orgapacheaxismessageSOAPHeaderElement header = new SOAPHeaderElement(headerName);

headeraddTextNode( "blablabla" );

calladdHeader(header);

// SOAPHeaderElement soapHeaderElement = new SOAPHeaderElement("发布的wsdl里的targetNamespace里的url", "SoapHeader");

// soapHeaderElementsetNamespaceURI("发布的wsdl里的targetNamespace里的url");

// try

// {

// soapHeaderElementaddChildElement("string_itemName")setValue("blablabla");

// }

// catch (SOAPException e)

// {

// eprintStackTrace();

// }

// calladdHeader(soapHeaderElement);

//调用Web Service的方法

orgapacheaxisdescriptionOperationDesc oper;

orgapacheaxisdescriptionParameterDesc param;

oper = new orgapacheaxisdescriptionOperationDesc();

opersetName("opName");

param = new orgapacheaxisdescriptionParameterDesc(new javaxxmlnamespaceQName("", "arg0"), orgapacheaxisdescriptionParameterDescIN, new javaxxmlnamespaceQName(">

给你看看以前写的获取电话号码归属地的代码的三种方法,然后你就懂了。

import javaioByteArrayOutputStream;

import javaioFileInputStream;

import javaioIOException;

import javaioInputStream;

import javanet>

1了解url : >

2新建web service 项目 Test,启动接口;

3在项目Test上新建一个 web service client ,选择JAX_WS;

4Test项目会自动生成关联代码,新建一个Java类,main方法

public static void main(String[] args) {

Systemoutprintln("123");

ServiceCommandService sc = new ServiceCommandService();

IServiceCommand is = scgetServiceCommandPort();

String s = isqueryInstanceById();

Systemoutprintln(s);

String s2 = isqueryInstanceList();

Systemoutprintln(s2);

}

Java调用WebService可以直接使用Apache提供的axisjar自己编写代码,或者利用Eclipse自动生成WebService Client代码,利用其中的Proxy类进行调用。理论上是一样的,只不过用Eclipse自动生成代码省事些。

1、编写代码方式:

package comyuduntest;

import javarmiRemoteException;

import orgapacheaxisclientCall;

import orgapacheaxisclientService;

import orgapacheaxismessagePrefixedQName;

import orgapacheaxismessageSOAPHeaderElement;

import comcezannegoldenuserException;

import comcezannegoldenuserUserManagerServiceProxy;

import javaxxmlnamespaceQName;

import javanetMalformedURLException;

import javaxxmlrpcServiceException;

import javaxxmlsoapName;

import javaxxmlsoapSOAPException;

public class testWebService {

public static String getResult() throws ServiceException, MalformedURLException, RemoteException, SOAPException

{

//标识Web Service的具体路径

String endpoint = "WebService服务地址";

// 创建 Service实例

Service service = new Service();

// 通过Service实例创建Call的实例

Call call = (Call) servicecreateCall();

//将Web Service的服务路径加入到call实例之中

callsetTargetEndpointAddress( new javanetURL(endpoint) );//为Call设置服务的位置

// 由于需要认证,故需要设置调用的SOAP头信息。

Name headerName = new PrefixedQName( new QName("发布的wsdl里的targetNamespace里的url", "string_itemName") );

orgapacheaxismessageSOAPHeaderElement header = new SOAPHeaderElement(headerName);

headeraddTextNode( "blablabla" );

calladdHeader(header);

// SOAPHeaderElement soapHeaderElement = new SOAPHeaderElement("发布的wsdl里的targetNamespace里的url", "SoapHeader");

// soapHeaderElementsetNamespaceURI("发布的wsdl里的targetNamespace里的url");

// try

// {

// soapHeaderElementaddChildElement("string_itemName")setValue("blablabla");

// }

// catch (SOAPException e)

// {

// eprintStackTrace();

// }

// calladdHeader(soapHeaderElement);

//调用Web Service的方法

orgapacheaxisdescriptionOperationDesc oper;

orgapacheaxisdescriptionParameterDesc param;

oper = new orgapacheaxisdescriptionOperationDesc();

opersetName("opName");

param = new orgapacheaxisdescriptionParameterDesc(new javaxxmlnamespaceQName("", "arg0"), orgapacheaxisdescriptionParameterDescIN, new javaxxmlnamespaceQName(">

以上就是关于webservice接口老不老全部的内容,包括:webservice接口老不老、如何调用webservice接口中的方法、如何调用webservice接口等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10126446.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存