博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java调用。net的webservice的时候 参数穿不过去
阅读量:6551 次
发布时间:2019-06-24

本文共 2568 字,大约阅读时间需要 8 分钟。

hot3.png

当我用java调用.net的webservice的时候  没有报错  能返回值 但就是传参过去的时候 不起作用 看服务端值是没有过去了

之前代码如下:

Service service = new Service();

String ret ="";
Call call = null;
try {
call = (Call)service.createCall();
call.setTargetEndpointAddress(new java.net.URL(Globals.endPointReference));
call.setOperationName(new QName(Globals.targetNamespace,name));
call.addParameter(new QName(Globals.targetNamespace,"stationID"), XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
call.addParameter(new QName(Globals.targetNamespace,"moduleID"), XMLType.XSD_INT, javax.xml.rpc.ParameterMode.IN);
call.addParameter(new QName(Globals.targetNamespace,"startTime"), XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
call.addParameter(new QName(Globals.targetNamespace,"endTime"), XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
call.setReturnType(XMLType.XSD_STRING);
call.setSOAPActionURI(Globals.targetNamespace+name);
ret= (String)call.invoke(new Object[]{stationID,moduleID,startTime,endTime});
logger.info(name+"告警接口返回的值为 "+ret);
} catch (ServiceException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

之后发现原来是调用。net的时候 只能全部用string类型 然后能正确的传过去了 代码如下

Service service = new Service();

String ret ="";
Call call = null;
try {
call = (Call)service.createCall();
call.setTargetEndpointAddress(new java.net.URL(Globals.endPointReference));
call.setOperationName(new QName(Globals.targetNamespace,name));
call.addParameter(new QName(Globals.targetNamespace,"stationID"), XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
call.addParameter(new QName(Globals.targetNamespace,"moduleID"), XMLType.XSD_INT, javax.xml.rpc.ParameterMode.IN);
call.addParameter(new QName(Globals.targetNamespace,"startTime"), XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
call.addParameter(new QName(Globals.targetNamespace,"endTime"), XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
call.setReturnType(XMLType.XSD_STRING);
call.setSOAPActionURI(Globals.targetNamespace+name);
ret= (String)call.invoke(new Object[]{stationID,String.valueOf(moduleID),startTime,endTime});
logger.info(name+"告警接口返回的值为 "+ret);
} catch (ServiceException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
 

转载于:https://my.oschina.net/y000n520/blog/157473

你可能感兴趣的文章
快学Scala 第十课 (包和包对象)
查看>>
(转)Linux内核调度策略与算法分析 (1)
查看>>
jsp三种注释方法
查看>>
Hadoop 之 Spark 安装配置与示例
查看>>
【组合数取模进阶中..】
查看>>
【MFC学习笔记-作业9-基于单击响应的计算平均成绩】【】
查看>>
[201804012]关于hugepages 3.txt
查看>>
[20180828]exadata--豆腐渣系统的保护神.txt
查看>>
android 上下左右手势判断 根据别人的改的
查看>>
linux进程状态
查看>>
UNIX环境高级编程--#include "apue.h"
查看>>
shell脚本学习(一)
查看>>
HTML 2 (转)
查看>>
AJAX 开发工具及资源
查看>>
--查询50到80行数据
查看>>
python之运算符
查看>>
**PHP 使用 Redis
查看>>
设计模式之工厂模式
查看>>
typedef结构体
查看>>
JavaScript基础学习--08 JS作用域
查看>>