问:我在写一个Java Dll客户端,它完成从Interface Repository.接口库中读取信息。我必须执行一个含有外部类型参数的远程方法,这个外部类型是用户自定义的数据类型。我将如何建立这个需求的模型,使其能够调用操作方法并且读取结果呢?现在我可以读取该方法所使用的参数名称,参数类型以及参数个数。我尝试过使用动态factory来构造dynstruct,但是不行。
那么使用什么方法我才能将用户自定义的数据类型作为外部参数传递给COBRA方法呢? 答:这是个好问题,因为J2EE动态调用接口(Dll)客户端模型允许对基于远程过程调用(RPC)的Web服务进行存取,即使在运行之前并不知道这……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
问:我在写一个Java Dll客户端,它完成从Interface Repository.接口库中读取信息。我必须执行一个含有外部类型参数的远程方法,这个外部类型是用户自定义的数据类型。我将如何建立这个需求的模型,使其能够调用操作方法并且读取结果呢?现在我可以读取该方法所使用的参数名称,参数类型以及参数个数。我尝试过使用动态factory来构造dynstruct,但是不行。那么使用什么方法我才能将用户自定义的数据类型作为外部参数传递给COBRA方法呢?
答:这是个好问题,因为J2EE动态调用接口(Dll)客户端模型允许对基于远程过程调用(RPC)的Web服务进行存取,即使在运行之前并不知道这个服务的详细信息。创建一个Dll客户端,请按照以下步骤进行:
1:使用javax.xml.rpc.ServiceFactory类创建一个服务对象,方法如下:
ServiceFactory factory = ServiceFactory.newInstance();
Service service = factory.createService(new QName(theServiceQName));
2:在服务对象中,创建一个调用对象(Call object),方法如下:
QName port = new QName(theQNnamePort);
Call call = service.createCall(port);
3:作为对Web服务描述语言(WSDL)文件单元的响应,在调用对象(Call object)中设置服务终点地址,方法如下:
call.setTargetEndpointAddress(theEndpointAddress);
4:在调用对象(Call object)中设置适当的属性。
5:指定该方法的返回类型、名称以及参数,方法如下:
QName qNameRetType = new QName(NS_XSD, "theXSDType");
call.setReturnType(qNameRetType);
call.setOperationName(new QName(theOperationNamespaceValue,
"theOperationName"));
call.addParameter("String_1", QNAME_TYPE_STRING,
ParameterMode.IN);
6:在调用对象(Call object)中调用远程方法,方法如下:
String[] params = { "param1" };
String result = (String)call.invoke(params);
作者
相关推荐
-
SAP收购CallidusCloud 与Salesforce竞争
一直被称为后台办公巨头的SAP现在似乎也想在前台办公大展拳脚。 最新的迹象是SAP收购CallidusClou […]
-
内存数据网格提供商一头扎进Java
10年的时间里,应用性能解决方案提供商Alachisoft一直在用NCache(针对N-Tier和网格计算.NET应用的内存计算和数据网格产品)为.NET社区服务。
-
遇到这样一个问题:通过java service wrapper部署应用,wrapper进程占用的内存会一直升高, 直到把内存吃完应用崩溃,但是这个wrapper
遇到这样一个问题:通过java service wrapper部署应用,wrapper进程占用的内存会一直升高 […]
-
Google App Engine for Java 对于目前中国需要学习吗?