首页 > 编程知识 正文

javawebserver开发(java创建webservice)

时间:2023-05-03 19:36:15 阅读:72815 作者:1566

web服务介绍

web服务是一种新技术,它允许在不同计算机上运行的不同APP应用程序相互交换和集成数据,而无需添加专用的第三方软件和硬件。 根据web服务规范实现的APP应用程序之间可以相互交换数据,而不管使用的是语言、平台还是内部协议。 Web Service是一个自描述的、自包含的可用网络模块,可以执行特定的业务功能。 web服务基于常见的行业标准和现有技术(如XML和HTTP ),因此很容易部署。 web服务降低了APP应用程序接口的成本。 web服务为整个企业或多个组织之间的业务流程集成提供了通用机制。

Web service是一个平台独立、松散耦合的独立、可编程的基于web的APP应用程序,可以使用开放的XML标准来编写、发布、发现、协调和配置分布式互操作性APP应用程序。

web上广泛使用的技术:

TCP/IP :通用网络通信协议,用于各种设备

html :可以使用html标签显示数据的通用用户界面

Java :由于Java具有跨平台特性,所以要写一次在任何系统上运行的通用编程语言

XML )通用数据表示语言,web上传输结构化数据的简便方法

其特点是开放性、跨平台性,开放性正是web服务的基础。

web服务技术框架APP应用:

1,axis框架

客户端调用代码:

publicstringinvokewebservice (stringsoapheadername,String endpointURL,

字符串名称空间URL,字符串方法名称,

Map soapHeaderParams,String[] paramsName,

Object[] paramsValue,QName returnType ) {

服务服务=new服务(

呼叫呼叫=null;

try {

呼叫=(呼叫)服务. create call );

call.settargetendpointaddress (new Java.net.URL ) endpointURL );

call.setusesoapaction(true;

call.setsoapactionuri (namespaceurlmethodname;

call.setoperationname(newqname ) namespaceURL,methodName );

} catch (serviceexceptionserviceexception ) {

服务执行. print stack trace (;

} catch (malformedurlexceptionurlexception )

URL exception.print堆栈跟踪(;

}

//创建请求消息soap标头

if (! ' '.equals(soapheadername ) ) }

soapheaderelementsoapheaderelement=newsoapheaderelement (

namespaceURL,soap头部名称;

soap header element.set namespace uri (namespace URL;

if(soapheaderparams==null )

返回' ';

} else {

setkeys=soap header params.keyset (;

Iterator key=keys.iterator (;

while(key.Hasnext () ) ) )。

String mapKey=key.next (;

try {

oapheaderelement.addchild element (mapkey ).setValue (

string.value of (soap header params.get ) mapkey );

}catch(soapexceptione ) {

e .打印堆栈跟踪(;

}

}

call.add header (soap header element;

}

}

//创建请求正文参数

参数名称!=null paramsName.length 0) {

for(intI=0; i paramsName.length; I ) {

call.addparameter(newqname ) namespaceURL,paramsName[i] )、

XMLType.XSD_STRING,ParameterMode.IN;

}

}

//设置调用返回类型

call.setreturntype(returntype );

try {

return (字符串) call.invoke ) Paramsvalue;

}catch(remoteexceptione ) {

e .打印堆栈跟踪(;

返回' ';

}

}

main函数调用测试:

publicstaticvoidmain (string args [ ] ) {

Map soapHeaderParams=new HashMap (;

soapheaderparams.put('username ',' test ' );

soapheaderparams.put('password ',' test ' );

axisserverclientaxisclient=newaxisserverclient (;

Map RequestMap=new HashMap (;

requestmap.put('type ','0' );

stringrequestxml=axis client.getrequest XML (请求图);

system.out.println (请求XML;

stringresponsedoc=axis client.invoke web服务(' rip soap header ',

' http://192.168.0.7:8081/rip web服务. asmx ',

' http://rip.org/',' GetBookDateList ',soapHeaderParams,

new String[] { 'RequestXml' },new Object[] {requestXML},

XMLType.XSD_STRING;

system.out.println(responsedoc;

}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。