Java Axis2调用C# webService 传递参数问题,就没有一个人能解决问题这问题?这到底有多难。 参数使用utf-8编码转换一下看看,你这个没有明显的转换编码的代码 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 求详细指点。。string xml = new String(xml.getBytes(),"UTF-8"); public static void main(String[] args) throws IOException { String url = "http://ws04.itour.cn:8084/ItourAgentCRSService.asmx?wsdl"; String operateName = "mesDelete";//你要调用的方法名 String namespace=""; Service service = new Service(); Call call = null; try { call = (Call) service.createCall(); call.setTargetEndpointAddress(url); call.setOperationName(operateName); call.setReturnType(XMLType.XSD_STRING); call.addParameter("AgentID", XMLType.XSD_INTEGER, ParameterMode.IN); call.addParameter("DepartureAirport", XMLType.XSD_INTEGER, ParameterMode.IN); call.addParameter("ArriveAirport", XMLType.XSD_INTEGER, ParameterMode.IN); call.addParameter("DepartureDate", XMLType.XSD_INTEGER, ParameterMode.IN); call.addParameter("CarrierCode", XMLType.XSD_INTEGER, ParameterMode.IN); call.addParameter("FS", XMLType.XSD_INTEGER, ParameterMode.IN); String result = (String)call.invoke( new Object[] {"GDDX","CAN","PEK","2014-01-18","","D"}); System.out.println(result); } catch (ServiceException e) { // TODO Auto-generated catch block e.printStackTrace(); } } 求详细指点。。string xml = new String(xml.getBytes(),"UTF-8");转码依旧诶,真的好难。 我像你那么用过,直接把XML转成数组的第一个元素,传过去。 http://blog.csdn.net/fengyun111999/article/details/7517599你看看吧 和你的还是有区别的 是不是xml里面的 日期类型的格式有问题试试YYYYMMDD人家可能会验证这个格式吧 你先确定是接口报错,还是接口通了但是参数格式不对?接口的调试确实很烦的,不是说别人不出错你就不会出错,不同的服务端的问题是不能完全再现的。别人帮你有限,自己反复调试找到具体的问题再说。你可以用工具先用soapUI试试。 用C#工具 测试 接口没问题 格式也是对的 数据也能显示我用Java调用 就出现XML格式不正确 诶 我也没办法了 弄了一周多 方法也换了几种都是一样的错误 不用纠结于是不是代码的问题了,用soupUI调,用确认可以的参数去调,如果调不同,那就说明参数或者说参数的类型是有问题的,如果能调通,在去考虑是不是代码的问题 楼主别纠结了,我给你点东西:OMFactory factory = OMAbstractFactory.getOMFactory();OMNamespace namespace = factory.createOMNamespace("http://xxx你的namespace", "xsd");OMElement jsonElement = factory.createOMElement("jsonstr",null);//jsonstr,参数名String fcJson = fcObj.toString();//json字符串 jsonElement.addChild(factory.createOMText(jsonElement,fcJson));//参数赋值OMElement method = factory.createOMElement("方法名称",namespace);//换成你自己的method.addChild(jsonElement);//给方法加入参数//最后调用并传递参数ServiceClient sender = new ServiceClient();sender.setOptions(options);OMElement result = sender.sendReceive(method);String resultStr = result.getFirstElement().getText(); 哦。如果你发布成功大家测试下。以前做过 java 调用c # 没问题 。 我给你那代码不好用吗?那可是我实际项目中的代码运行没效果 接口方法 方法名称 AV原 型 string AV(string ParamsXml)参数名 类型 长度 可空标志 说明ParamsXml String 必填 查询参数XML格式参数是 XML格式 String 类型的 不是json 有错误 我给你那代码不好用吗?那可是我实际项目中的代码运行没效果 接口方法 方法名称 AV原 型 string AV(string ParamsXml)参数名 类型 长度 可空标志 说明ParamsXml String 必填 查询参数XML格式参数是 XML格式 String 类型的 不是json 有错误我给你那代码不好用吗?那可是我实际项目中的代码运行没效果 接口方法 方法名称 AV原 型 string AV(string ParamsXml)参数名 类型 长度 可空标志 说明ParamsXml String 必填 查询参数XML格式参数是 XML格式 String 类型的 不是json 有错误我就是给你个例子,我业务里是传json字符串而已 我给你那代码不好用吗?那可是我实际项目中的代码运行没效果 接口方法 方法名称 AV原 型 string AV(string ParamsXml)参数名 类型 长度 可空标志 说明ParamsXml String 必填 查询参数XML格式参数是 XML格式 String 类型的 不是json 有错误我给你那代码不好用吗?那可是我实际项目中的代码运行没效果 接口方法 方法名称 AV原 型 string AV(string ParamsXml)参数名 类型 长度 可空标志 说明ParamsXml String 必填 查询参数XML格式参数是 XML格式 String 类型的 不是json 有错误我就是给你个例子,我业务里是传json字符串而已/jsonstr,参数名 搞不懂 代码好像不全, 我对这方面不是很熟 仔细看看,http抓包看得很明显的,如果不好用,装个wireshark,没数据说明在本地就已经没通过,而你的说明是服务器返回了,看仔细点 求助!Struts2与Hibernate问题,急、急、急!!! 有这样一个问题~~求助 关于spring事物配置的问题 在一个servlet页面 怎么传form里的值到并跳转到 另一个servlet页面 关于Flex4根据值设定某一行背景颜色问题求助 你们公司是怎样分配这些任务的? struts portal实现问题 怎样获得arr1 在arr2中不存在的对象 在线等!!!!!! 请高手们帮忙,兄弟我多谢了 希望div改变大小时,引入的图片相应改变长宽大小,怎么做? JDBC+Struct2如何使用POI实现对Excel数据的读取并导入Sql 数据库中 jsp页面过期问题 在线等
string xml = new String(xml.getBytes(),"UTF-8");
String url = "http://ws04.itour.cn:8084/ItourAgentCRSService.asmx?wsdl";
String operateName = "mesDelete";//你要调用的方法名
String namespace="";
Service service = new Service();
Call call = null;
try {
call = (Call) service.createCall();
call.setTargetEndpointAddress(url);
call.setOperationName(operateName);
call.setReturnType(XMLType.XSD_STRING);
call.addParameter("AgentID", XMLType.XSD_INTEGER, ParameterMode.IN);
call.addParameter("DepartureAirport", XMLType.XSD_INTEGER, ParameterMode.IN);
call.addParameter("ArriveAirport", XMLType.XSD_INTEGER, ParameterMode.IN);
call.addParameter("DepartureDate", XMLType.XSD_INTEGER, ParameterMode.IN);
call.addParameter("CarrierCode", XMLType.XSD_INTEGER, ParameterMode.IN);
call.addParameter("FS", XMLType.XSD_INTEGER, ParameterMode.IN);
String result = (String)call.invoke(
new Object[] {"GDDX","CAN","PEK","2014-01-18","","D"});
System.out.println(result);
} catch (ServiceException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
string xml = new String(xml.getBytes(),"UTF-8");
转码依旧诶,真的好难。
我用Java调用 就出现XML格式不正确 诶 我也没办法了 弄了一周多 方法也换了几种都是一样的错误
不用纠结于是不是代码的问题了,用soupUI调,用确认可以的参数去调,如果调不同,那就说明参数或者说参数的类型是有问题的,如果能调通,在去考虑是不是代码的问题
OMFactory factory = OMAbstractFactory.getOMFactory();
OMNamespace namespace = factory.createOMNamespace("http://xxx你的namespace", "xsd");
OMElement jsonElement = factory.createOMElement("jsonstr",null);//jsonstr,参数名
String fcJson = fcObj.toString();//json字符串
jsonElement.addChild(factory.createOMText(jsonElement,fcJson));//参数赋值
OMElement method = factory.createOMElement("方法名称",namespace);//换成你自己的
method.addChild(jsonElement);//给方法加入参数//最后调用并传递参数
ServiceClient sender = new ServiceClient();
sender.setOptions(options);
OMElement result = sender.sendReceive(method);
String resultStr = result.getFirstElement().getText();
运行没效果 接口方法
方法名称 AV
原 型 string AV(string ParamsXml)参数名 类型 长度 可空标志 说明
ParamsXml String 必填 查询参数XML格式
参数是 XML格式 String 类型的 不是json 有错误
我给你那代码不好用吗?那可是我实际项目中的代码
运行没效果 接口方法
方法名称 AV
原 型 string AV(string ParamsXml)参数名 类型 长度 可空标志 说明
ParamsXml String 必填 查询参数XML格式
参数是 XML格式 String 类型的 不是json 有错误
我给你那代码不好用吗?那可是我实际项目中的代码
运行没效果 接口方法
方法名称 AV
原 型 string AV(string ParamsXml)参数名 类型 长度 可空标志 说明
ParamsXml String 必填 查询参数XML格式
参数是 XML格式 String 类型的 不是json 有错误
我就是给你个例子,我业务里是传json字符串而已
运行没效果 接口方法
方法名称 AV
原 型 string AV(string ParamsXml)参数名 类型 长度 可空标志 说明
ParamsXml String 必填 查询参数XML格式
参数是 XML格式 String 类型的 不是json 有错误
我给你那代码不好用吗?那可是我实际项目中的代码
运行没效果 接口方法
方法名称 AV
原 型 string AV(string ParamsXml)参数名 类型 长度 可空标志 说明
ParamsXml String 必填 查询参数XML格式
参数是 XML格式 String 类型的 不是json 有错误
我就是给你个例子,我业务里是传json字符串而已
/jsonstr,参数名 搞不懂 代码好像不全, 我对这方面不是很熟