C#调用java开发的Webservice无返回值

问题描述

Webservice是用java开发的,用wsdl2java工具搭建,用到的是axis1.4版本.客户端是用C#开发的,IDE用的是VS2008.遇到的问题如下:用"添加Web引用"的方式,调用Webservice中一个String返回值的方法,返回值为空;用request的方式,拼接了soap报文调用,在getResponse的时候出现异常:"服务器内部错误(500)";服务器的tomcat控制台未显示任何异常;调用其他的Webservice接口,两种方式均可以正常调用;用soapui工具测试webservice返回正常;之前java开发的APP调用也返回正常请问是什么原因导致的获取不到返回值或者返回值为空的呢?

解决方案

解决方案二:
response方式调用代码如下://构造soap请求信息StringBuildersoap=newStringBuilder();soap.Append("<?xmlversion="1.0"encoding="utf-8"?>");soap.Append("<soapenv:Envelopexmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"xmlns:wms="http://wms.zhongdu.com">");soap.Append("<soapenv:Header/>");soap.Append("<soapenv:Body>");soap.Append("<wms:pda_login_check>");soap.Append("<?xmlversion="1.0"encoding="utf-8"?><SHEET_NO><WAREHOUSE>A011</WAREHOUSE><EMP_NO>001</EMP_NO><PASSWORD>123456</PASSWORD></SHEET_NO>");soap.Append("</wms:pda_login_check>");soap.Append("</soapenv:Body>");soap.Append("</soapenv:Envelope>");//发起请求Uriuri=newUri("http://192.168.1.252:8089/edi_server/services/pdaWebServer");WebRequestwebRequest=WebRequest.Create(uri);webRequest.ContentType="text/xml;charset=utf-8";webRequest.Method="POST";webRequest.Headers.Add("SOAPAction","");using(StreamrequestStream=webRequest.GetRequestStream()){byte[]paramBytes=Encoding.UTF8.GetBytes(soap.ToString());requestStream.Write(paramBytes,0,paramBytes.Length);}//响应inta=webRequest.GetHashCode();WebResponsewebResponse=webRequest.GetResponse();using(StreamReadermyStreamReader=newStreamReader(webResponse.GetResponseStream(),Encoding.UTF8)){Console.WriteLine(myStreamReader.ReadToEnd());}Console.ReadKey();

解决方案三:
你可以用抓包工具查看你提交出去的信息到底是什么,符合web服务的输入要求么。通过这个看看问题出在哪里
解决方案四:
怎么会有两段xml标头声明的?<?xmlversion="1.0"encoding="utf-8"?>

解决方案五:
<?xmlversion="1.0"encoding="utf-8"?>
解决方案六:
你应该把精力专注在“用"添加Web引用的方式”上,而不要纠结其它暂时无关的东西。既然返回为空,那么就应该看看是服务器端返回为空,还是你的客户端解析为空。

时间: 2024-08-17 17:25:28

C#调用java开发的Webservice无返回值的相关文章

用C#.NET调用Java开发的WebService传递ntext类型出现乱码问题

问题描述 用C#.NET调用Java开发的WebService传递ntext类型出现乱码问题 解决方案 解决方案二:问问java那边用的是什么编码方式,你这边用同样的编码方式解析试试解决方案三:是接收乱码,还是响应乱码,反正就是确认accept和content解决方案四:核对编码格式解决方案五:接受是乱码,我将WebService生成的XML文件文件编码格式都修改了还是乱码.WebService自动生成代理类里面还有什么需要修改的吗?

soapui调用webservice接口,已传入参数,但是无返回值,只有一堆标签,求解答,谢谢~~~

问题描述 soapui调用webservice接口,已传入参数,但是无返回值,只有一堆标签,求解答,谢谢~~~ soapui调用webservice接口,已传入参数,但是无返回值,只有一堆标签,求解答,谢谢~~~ 解决方案 我也遇到这种问题,不知道是什么原因 解决方案二: 郁闷了 我也遇到了.没人解答呢..

C#开发webservice调用SAP的webservice后返回值是表类型,如何获取值?

问题描述 求助,C#调用SAP的webservice后返回值是表类型,如何获取表的行数? 解决方案 解决方案二:什么叫表类型?DataTable?SAP天堂也返回这样的东西?解决方案三:ws返回的就是xml了,里面的数据是可以获取的.至于你说的表,具体是什么?如果是datatable,好办,解析xml就是了.如果单单是某个表名,那就啥都不能获取到.解决方案四:引用2楼guwei4037的回复: ws返回的就是xml了,里面的数据是可以获取的.至于你说的表,具体是什么?如果是datatable,好

asp.net调用Java开发wsdl接口出现客户端发现响应内容类型为“multipart/related; 应为text/xml

问题描述 asp.net调用Java开发wsdl接口出现客户端发现响应内容类型为"multipart/related;应为text/xml有人知道怎解决这个办法吗?求高手指教!在soapui上测试是正常的,如下的请求头部信息POSThttps://ws.colissimo.fr/sls-ws/SlsServiceWSHTTP/1.1Accept-Encoding:gzip,deflateContent-Type:text/xml;charset=UTF-8SOAPAction:"&qu

java中一个void修饰的方法无返回值,那么有是不是返回一个空对象,有空对象这种说法吗

问题描述 java中一个void修饰的方法无返回值,那么有是不是返回一个空对象,有空对象这种说法吗 java中一个void修饰的方法无返回值,那么有是不是返回一个空对象,有空对象这种说法吗 解决方案 加入你有一个对象 Object 里面有个方法:public void method1(); 那你调用这个方法的时候就是 object.method1(); 那么这里就表示 没有返回值. 所以我里面的void就是 :没有返回值,这个方法不能做他用! 对比 有一个object 里面有一个方法: publ

asp调用java 写的webservice接口怎么用啊!(在线等)

问题描述 路过的各位朋友,asp调用java写的webservice接口怎么用啊!一个很简单的例子,就是传个参数进去,然后返回出来就可以了! 解决方案 解决方案二:根据权威机构的调查,搜索引擎的前4名网站一般会获得较高的访问量.但是如果想要使自己的网站排在前4名,竞价花费的价格是非常高的.而花费少的话,网站排名靠后,导致竞价排名的效果大打折扣.毫无疑问,每个客户都希望自己的网站排在搜索引擎的首页,但是同样是页,第一名和第十名的竞价价格也许会2倍甚至更多.对于大多说发展期的公司来说,往往需要抉择选

用ajax调用C#做的webservice,返回&amp;amp;quot;401 Unauthorized&amp;amp;quot;

问题描述 用ajax调用C#做的webservice,返回"401 Unauthorized" 如题. 但是,从普通的form的commit方法却可以正常访问. 请问是不是需要做一些什么设置呢?

c++-C++调用java写的webservice

问题描述 C++调用java写的webservice 在做c++调用java写的webservice时,用的soap,按照网上提供的例子做的最后弄完以后总有一个错误: #include "stdafx.h" #include <stdio.h> #import "C:Program Files (x86)MSSOAPBinariesmssoap30.dll" exclude("IStream","IErrorInfo&quo

C#调用Java写的WebService问题

问题描述 我在用.net调用Java写的WebService时候出现如下错误1:在工程里无法添加服务器的引用我搜了网上的方法,说是用wsdl.exe生成代理类,然后在代理类的头部加上soap的那一段代码但是现在的问题是,因为soap的格式问题,他生成不了代理类 解决方案