.net调用java webservice返回值是空

IC001 2011-02-21 06:36:56
要做一个小工具(C#.net,VS2008),需要调用另外一个厂家的webservice接口(java的).方法应该返回一个字符串,但是接收到的返回值一直是空的。同时抓包发现服务器段已经正常答复soap消息。
请问这是什么原因?
...全文
2200 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq598235031 2012-10-24
  • 打赏
  • 举报
回复
自定义类型本身有局限性啊
最简单的办法,设计接口,使用XML形式的字符串。
无论.net ,java,c++,vb....这些语言都支持XML,发送文件的话,某些东西不支持如was低版本。
@sunshine@ 2012-10-24
  • 打赏
  • 举报
回复
我也遇到此问题了,怎么搞啊。今天最后一天了 。。。有谁解决了 。。
fanokill 2012-08-16
  • 打赏
  • 举报
回复
求解释!急……
fanokill 2012-08-16
  • 打赏
  • 举报
回复
<?xml version="1.0" encoding="UTF-8"?>
-<wsdl:definitions xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns1="http://webservice.sinosoft.com" xmlns:intf="http://10.10.2.17:8080/WebServiceTTest/services/HelloServices2" xmlns:impl="http://10.10.2.17:8080/WebServiceTTest/services/HelloServices2" xmlns:apachesoap="http://xml.apache.org/xml-soap" targetNamespace="http://10.10.2.17:8080/WebServiceTTest/services/HelloServices2">
<!--WSDL created by Apache Axis version: 1.4 Built on Apr 22, 2006 (06:55:48 PDT)-->
-<wsdl:types> -<schema targetNamespace="http://webservice.sinosoft.com" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <element name="temp" type="xsd:string"/> </schema> -<schema targetNamespace="http://10.10.2.17:8080/WebServiceTTest/services/HelloServices2" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <element name="sayHelloToPersonnnnReturn" type="xsd:string"/> </schema> </wsdl:types> -<wsdl:message name="sayHelloToPersonnnnResponse"> <wsdl:part name="sayHelloToPersonnnnReturn" element="impl:sayHelloToPersonnnnReturn"/> </wsdl:message> -<wsdl:message name="sayHelloToPersonnnnRequest"> <wsdl:part name="temp" element="tns1:temp"/> </wsdl:message> -<wsdl:portType name="HelloService2"> -<wsdl:operation name="sayHelloToPersonnnn" parameterOrder="temp"> <wsdl:input name="sayHelloToPersonnnnRequest" message="impl:sayHelloToPersonnnnRequest"/> <wsdl:output name="sayHelloToPersonnnnResponse" message="impl:sayHelloToPersonnnnResponse"/> </wsdl:operation> </wsdl:portType> -<wsdl:binding name="HelloServices2SoapBinding" type="impl:HelloService2"> <wsdlsoap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/> -<wsdl:operation name="sayHelloToPersonnnn"> <wsdlsoap:operation soapAction=""/> -<wsdl:input name="sayHelloToPersonnnnRequest"> <wsdlsoap:body use="literal"/> </wsdl:input> -<wsdl:output name="sayHelloToPersonnnnResponse"> <wsdlsoap:body use="literal"/> </wsdl:output> </wsdl:operation> </wsdl:binding> -<wsdl:service name="HelloService2Service"> -<wsdl:port name="HelloServices2" binding="impl:HelloServices2SoapBinding"> <wsdlsoap:address location="http://10.10.2.17:8080/WebServiceTTest/services/HelloServices2"/> </wsdl:port> </wsdl:service> </wsdl:definitions>
怎么样才知道java webservice有没有返回值呢?
sgucxc0 2012-03-18
  • 打赏
  • 举报
回复
楼主应该考虑生成的代理类 命名空间的问题

如何修改?
hao123752 2012-03-17
  • 打赏
  • 举报
回复
<delAlarmParaReturn xmlns="http://intf.eoms.ztesoft.com/InterSwitchAlarm3">sheetNo=XJ-051-110215-00663;errList=</delAlarmParaReturn>

楼主应该考虑生成的代理类 命名空间的问题
hao123752 2012-03-17
  • 打赏
  • 举报
回复
楼主呢
chaikunlai 2012-03-01
  • 打赏
  • 举报
回复
我也是这样啊呢,解决不了,不知道楼主解决没有,能帮下忙么?
丁码农 2012-01-19
  • 打赏
  • 举报
回复
用ajax去调用,然后自己手动去序列化吧
insiderc 2011-12-25
  • 打赏
  • 举报
回复
传参是个对象,返回是个对象
<delAlarmParaReturn xmlns="http://intf.eoms.ztesoft.com/InterSwitchAlarm3">sheetNo=XJ-051-110215-00663;errList=</delAlarmParaReturn>

返回的应该有2个属性
supermay 2011-12-19
  • 打赏
  • 举报
回复
我也遇到这样的问题,VS2010调用JAVA,抓包有正常数据返回,应该是序列化时出错了,原来用D2007调用同一服务时也出现问题,后来修改了WSDL的默认形式就可以返回了,不知在VS2010中如何解决这个问题
IC001 2011-02-21
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 findcaiyzh 的回复:]
好像有返回值

sheetNo=XJ-051-110215-00663;errList=
[/Quote]

但是在程序中用一个string变量接收这个值的时候接收到的就是空字符串
宝_爸 2011-02-21
  • 打赏
  • 举报
回复
好像有返回值

sheetNo=XJ-051-110215-00663;errList=
IC001 2011-02-21
  • 打赏
  • 举报
回复
soap请求:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><delAlarmPara xmlns="http://intf.eoms.ztesoft.com/InterSwitchAlarm3"><callTime xmlns="http://data_domain.intf.eoms.ztesoft.com/">2011-2-21 18:58:17</callTime><callerPwd xmlns="http://data_domain.intf.eoms.ztesoft.com/">EOMS</callerPwd><opDetail xmlns="http://data_domain.intf.eoms.ztesoft.com/"><opDetail><recordInfo><fieldInfo><fieldChName>网管告警ID</fieldChName><fieldEnName>alarmId</fieldEnName><fieldContent>XJ-051-110215-00663</fieldContent></fieldInfo><fieldInfo><fieldChName>告警撤销原因</fieldChName><fieldEnName>delAlarmDetail</fieldEnName><fieldContent>test52</fieldContent></fieldInfo></recordInfo></opDetail></opDetail><serCaller xmlns="http://data_domain.intf.eoms.ztesoft.com/">XJ_JH_WNMS</serCaller><serSupplier xmlns="http://data_domain.intf.eoms.ztesoft.com/">XJ_ZH_EOMS</serSupplier></delAlarmPara></s:Body></s:Envelope>

soap返回:
<?xml version="1.0" encoding="utf-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Body><delAlarmParaReturn xmlns="http://intf.eoms.ztesoft.com/InterSwitchAlarm3">sheetNo=XJ-051-110215-00663;errList=</delAlarmParaReturn></soapenv:Body></soapenv:Envelope>。
子夜__ 2011-02-21
  • 打赏
  • 举报
回复
检查数据包格式是否规范。
wuyq11 2011-02-21
  • 打赏
  • 举报
回复
Java那边WebService发布时的配置参数问题,造成返回的xml不符合标准,net这边反序列化的时候除了问题。
如果用c#调用java 的 webservice 时,发现调用返回值为基本类型的服务能过正常返回,而调用返回复杂类型如自定义对象时却返回 null,同时抓包发现服务器段明明已经正常答复soap消息。 就需要考虑命名空间的问题。
threenewbee 2011-02-21
  • 打赏
  • 举报
回复
序列化的问题。

把 soap 请求和返回贴出来。

12,166

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧