java调用.net webservice接口,接口参数为.net特有的DataTable,不知要如何赋值传参请给出示例,谢谢
,在 call.addParameter(new QName(soapaction,“PassKey“), //设置要传递的参数
前面添加几条语句就OK了
高版本的myeclipse可以自动生成
添加语句如下:
call.setEncodingStyle( null );
call.setProperty( org.apache.axis.client.Call.SEND_TYPE_ATTR, Boolean.FALSE );
call.setProperty( org.apache.axis.AxisEngine.PROP_DOMULTIREFS, Boolean.FALSE );
call.setSOAPVersion( org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS );
webservice接口是什么它有什么作用
webService接口是一种常用的短信群发提交接口,使用时可以象调用一般函数一样调用WebService的方法。
作用是:该接口主要用于客户自身的软件、网站或其他产品,需要将短信群发功能集成于软件、网站内作为产品整体功能的一部分,在这种情况下可以使用WebService接口来提交短信。实现WebService接口的短信群发功能需要有一定的基本编程能力。如VC++、Delphi、ASP等。
扩展资料:
WebService接口技术支持
1、XML
可扩展的标记语言(标准通用标记语言下的一个子集)为Web Service平台中表示数据的基本格式。XML是由万维网协会(W3C)创建,W3C制定的XML SchemaXSD定义了一套标准的数据类型,并给出了一种语言来扩展这套数据类型。
2、SOAP
SOAP用于交换XML(标准通用标记语言下的一个子集)编码信息的轻量级协议。它有三个主要方面:XML-envelope为描述信息内容和如何处理内容定义了框架,将程序对象编码成为XML对象的规则,执行远程过程调用(RPC)的约定。SOAP可以运行在任何其他传输协议上。
3、WSDL
Web Service描述语言WSDL,就用机器能阅读的方式提供的一个正式描述文档而基于XML(标准通用标记语言下的一个子集)的语言,用于描述Web Service及其函数、参数和返回值。
C#.net webservice 我需要调用一个WSDL接口,请举一个例子
新建一个比如控制台应用程序,引用-右键-添加服务引用,把上述url粘贴进地址栏,确定,VS会自动生成调用的类和方法。然后你在代码里引用其命名空间,
XXXclient c = new XXXclient();
c.各种方法
webservice接口怎么写
Webservice是系统对外的接口,比如你要从别的网站或服务器上获取资源或信息,别人肯定不会把数据库共享给你,他只能给你提供一个他们写好的方法来获取数
webService接口是什么
Web 是使应用程序可以与平台和编程语言无关的方式进行相互通信的一项技术。Web 服务是一个软件接口,它描述了一组可以在网络上通过标准化的 XML 消息传递访问的操作。
它使用基于 XML 语言的协议来描述要执行的操作或者要与另一个 Web 服务交换的数据。一组以这种方式交互的 Web 服务在面向服务的体系结构(Service-Oriented Architecture,SOA)中定义了特殊的 Web 服务应用程序。
简单的说WebService是一个SOA(面向服务的编程)的架构,它是不依赖于语言,不依赖于平台,可以实现不同的语言(通过 xml 描述)间的相互调用,通过Internet进行基于Http协议的网络应用间的交互。
通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册。
扩展资料
Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。
依据Web Service规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么, 都可以相互交换数据。Web Service是自描述、 自包含的可用网络模块, 可以执行具体的业务功能。
web广泛用到的技术:
TCP/IP:通用网络协议,被各种设备使用
HTML(标准通用标记语言下的一个应用):通用用户界面,可以使用HTML标签显示数据
NET: 不同应用程序间共享数据与数据交换
Java:写一次可以在任何系统运行的通用编程语言,因为java具有跨平台特性
XML(标准通用标记语言下的一个子集):通用数据表达语言,在web上传送结构化数据的容易方法
如何在Pb里调用Webservice
1.把c:\program
files\sybase\shared\powerbuilder下面的pbsoapclient90.pbd加入target.
2.创建web service代理
点:File-》News-》Project-》Web service Proxy
Wizrd
下一步会提示你输入WSDL文件,点击浏览选择webservice服务器端提供的wsdl接口文档,比如(附档wsdl.ra
3.增加一个窗口放一个按钮,调用代码样例:
SoapConnection lsc_conn
mypersonport
lproxy_obj
String ls_proxy_name = “mypersonport“//生成的代理对象名称
String
ls_url =
“http://172.18.60.39:8080/person/api“//这个url从wsdl接口文档《service》节点可以找到
int
li_ret, i
try
lsc_conn = Create SoapConnection
//lsc_conn.SetOptions(“SoapLog=~“soaplog.txt~““)
li_ret =
lsc_conn.Createinstance(lproxy_obj,ls_proxy_name,ls_url)
If li_ret
《》 0 Then
MessageBox(“错误“, “调用失败,错误代码:“ + String(li_ret))
Return
End If
i = lproxy_obj.add(“1“)
MessageBox(“Web Service“, “调用成功:“ + String(i))
catch (SoapException
e1)
MessageBox(“错误“, “不能调用函数,错误信息:“ + e1.GetMessage())
catch
(PBXRuntimeError e2)
MessageBox(“错误“, “调用函数运行时错误.“ )
catch
(RuntimeError e3)
MessageBox(“错误“, “调用函数不可知错误.“ )
end try
如何在pb9中调用WebService
pb9也出来了,速度够快的,大概看了一下,与pb8比较,增加的功能不多,主要是WebService,Xml和Ejb.我就感受了一下pb9的WebService功能,与大家共享。
我们用一个实例来说明:
新建应用,这些步骤与pb8一致的。然后建立一个WebService Proxy Wizard,下一步会提示你输入WSDL文件,点击浏览选择,假设是C:\inetpub\wwwroot\的service1.wsdl文件。点击下一步,会自动出现WSDL文件中的Service.点击下一步,系统默认选择ServiceSoap,紧接着输入proxy name(代理对象名),输入test_ws.后面的几项按默认即可。
完成后是编译代理对象的界面。会出现:
Web Service Generator Project Status
Deployment PBL: E:\program\pb\webservice\w_app.pbl
Clear PBL on build: No
Confirm overwrites: No
WSDL Location: file://E:\program\pb\webservice ervice1.wsdl
Services selected :
Service Service1:
Service1Soap
可以在属性中设置,也可以不用去管。点击编译的绿色图标,好了,一个代理对象生成了。
在左边的treeview中可以看到如:test_wsservice1soap的东西。
点击加号的图标,在function中可以看到里面的我们定义的show(string yourname) returns string.
好了最重要的一步已经完成了,我们来测试一下:
建一个windows,添加一个文本框和按钮控件。
在cb_1.click事件写入:
SoapConnection conn
Test_wsservice1soap test_ws
long rVa
怎么做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应用
启动Tomca
如何把把webService整理成接口描述文档
-
写明接口调用地址
-
写明接口入参的类型,数量,要求
-
写明接口出参的类型,数据模型
-
写明接口调用要求,比如必须要先干啥,后干啥
-
写明接口调用实例,比如如何调,返回值是何样的。
forest调用webservice
用java实现web services必须遵循两个规范,他们分别是:
JSR 101:用于基于XML的RPC ,Remote Procedure Call、 的Java API 、Java
API for XML based RPC, JAX-RPC,
JSR 109:实现企业Web服务。Implementing Enterprise Web services。两个规范提供了厂商的实现的一致性和互操作性需求。
JAX-RPC——Java到XML和XML到Java映射API
JAX-RPC为基于XML的远程过程调用。Remote Procedure Call、 RPC,和Java应用程序编程接口 、Java Application Programming Interface。 API, 、
WSDL到Java和Java到WSDL映射,例如、将WSDL端口类型映射到Java服
务端点接口 ,Java Service Endpoint Interface、 SEI。 。
XML数据类型到Java数据类型和Java数据类型到XML数据类型映射。包括简
单类型、复杂类型和数组。
除了XML映射之外, JAX-RPC还定义了服务器端编程模型和API。 AX-RPC 1. 1根据Web 服务互操作性组织、Web Services Interoperability organization、 WS-I。基本概要版本1.0 、Basic Profile version 1.0,添加了互操作性需求。
JSR 109——J2EE环境的API
JSR 109指定了Java 2 Enterprise Edition ,J2EE、环境的Web服务编程模型和体系结构。 JSR 109构建在SOAP 1. 1和WSDL 1. 1的基础上、它涵盖了J2EE环境中JAX-RPC 的使用, 图2, 。它还定义了J2EE应用程序服务器中的部署模型。 JSR 109的客户端编程模型符合JAX-RPC。
JAX-RPC 1. 1和JSR 109是J2EE 1.4的组成部分。
1/7页
在这里我不准备描述用java如何实现服务端,仅描述如何用java作为客户端如何调用web services。
获取客户端服务
Java客户端有两种获取方式、一种是基于容器管理的、一种不是基于容器管理的。基于容器管理的、可以是不同类型的J2EE容器管理的客户机,
应用程序客户机容器客户机
Web容器客户机。 JavaBean或Servlet
EJB容器客户机、 EJB
他们通过jndi查找服务。一般是两个步骤:
1,实例化本地JND I上下文。
2、在此上下文中对Web服务进行JND I查找。
Context ic = new InitialContext() ;
Service service = (Service) ctx. lookup(“java:comp/env/service/HelloService“) ;然后可以使用获得的服务接口 。Service Interface,来获取静态存根、动态代理或DII Call对象,来实现我下面描述的三种调用方式。
不是基于容器管理的、就是在本地通过java程序直接调用服务的,服务查找是通过JAX-RPC ServiceFactory进行的、 JAX-RPC ServiceFactory是创建服务访问点的工厂,可以如下进行使用获取服务。javax.xml.rpc.Service service =
ServiceFactory.newInstance() .createService(. . . ) ;
我在下面描述的客户端获取方式都是基于不是容器管理的。java调用webservices
用java作为客户端调用webservices主要有三种方式,下面描述三种调用方式。
1.DLL 、Dynamic Invocation Interface,调用
复杂度最高。灵活性最强的调用方式
通过自己创建Call对象完成调用,此方法的步骤如下,
2/7页
1. 获取一个JAX-RPC Service 。
2. 使用JAX-RPC Service的createCall ()方法实例化JAX-RPC Call 。
3. 使用它的setter方法来配置您的Call实例。
4. 使用JAX-RPC Call的调用方法来调用Web服务的操作。
String namespa最好类名也一样//而且必须继承java.rmi.Remote接口public interface HelloClientInterface extends java.rmi.Remote {public String sayHello (String name) throws java.rmi.RemoteException;}
编写并执行客户端程序TestHelloClient. java import javax.xml.rpc.Service;import javax.xml.rpc.ServiceFactory;import java.net.URL;import javax.xml.namespace.QName;public class TestHelloClient {public static void main(String args) {try
{
String wsdlUrl = “http://localhost:8080/axis/Hello?wsdl “;//wsdl描述
String nameSpaceUri = “http://localhost:8080/axis/HelloClient “;//wsdl描述里面的服务命名空间
String serviceName = “HelloService“;// wsdl描述里面发布的服务名称
String portName = “Hello“;//wsdl描述里面面发布的服务里面的port名称
ServiceFactory serviceFactory = ServiceFactory.newInstance() ;
Service afService = serviceFactory.createService(new URL(wsdlUrl) ,new QName(nameSpaceUri, serviceName) ) ;
HelloClientInterface proxy = (HelloClientInterface)afService.getPort(new QName(nameSpaceUr“i, portName) , Hel“loClientInterface.“clas“s) ;
System.out.println( return value is +proxy. sayHello( lion ) ) ;
}catch(Exception ex)
{ex.printStackTrace() ;
}