请教!C#调用java Webservice时出错

yuyosh 2013-10-31 10:13:03
java 的Webservice,用浏览器直接看可以看到

在vs2010下,添加服务引用看不到方法,添加web引用可以看到方法,但调用的时候报:
<html>
<head><title>302 Found</title></head>
<body bgcolor="white">
<center><h1>302 Found</h1></center>
<hr><center>nginx/1.2.5</center>
</body>
</html>
错误。

在网上搜索,有人说用wsdl做成动态链接库后引用,也试过,报跟上面一样的错误

请指点,谢谢!
...全文
414 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
df978 2013-11-12
  • 打赏
  • 举报
回复
不知道是不是跟我这个的问题是不是一样: http://bbs.csdn.net/topics/390636715 另外建议你用一下HTTP Analyzer抓包工具和soapUI工具,这两个工具太有用了,是实收看到你提交的数据和返回的数据
机器人 2013-11-11
  • 打赏
  • 举报
回复
引用 楼主 yuyosh 的回复:
java 的Webservice,用浏览器直接看可以看到 在vs2010下,添加服务引用看不到方法,添加web引用可以看到方法,但调用的时候报: <html> <head><title>302 Found</title></head> <body bgcolor="white"> <center><h1>302 Found</h1></center> <hr><center>nginx/1.2.5</center> </body> </html> 错误。 在网上搜索,有人说用wsdl做成动态链接库后引用,也试过,报跟上面一样的错误 请指点,谢谢!
这是服务前端还有nginx(反向代理),需要服务端配合查看一下: 1. nginx proxy_pass 是否配置正确 2. 是否丢失了Http Header(理论上不会,尤其是 SOAPAction)
happyer_longlong 2013-11-11
  • 打赏
  • 举报
回复
应该是序列化的问题,java生成的xml和.net 不太一样
风之影子 2013-11-01
  • 打赏
  • 举报
回复
c#通过IDE添加引用的时候,不要输入后面的?wsdl
风一样的大叔 2013-10-31
  • 打赏
  • 举报
回复
会不会是是因为Java那边WebService发布时的配置参数问题,造成返回的xml不符合标准
yuyosh 2013-10-31
  • 打赏
  • 举报
回复
还有其它几个系统用这个Webservice,他们都能用,不过他们都是jsp系统
风一样的大叔 2013-10-31
  • 打赏
  • 举报
回复
会不会webservice发布的有问题啊?
yuyosh 2013-10-31
  • 打赏
  • 举报
回复
调用的时候先用的是vs的wsdl命令生成dll引用 可以看到方法, /// <remarks/> [System.Web.Services.Protocols.SoapDocumentMethodAttribute("", RequestNamespace="http://business.zk.com/", ResponseNamespace="http://business.zk.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] [return: System.Xml.Serialization.XmlElementAttribute("return", Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] public string sendMessage([System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] string arg0, [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] string arg1, [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] string arg2, [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] string arg3, [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] string arg4, [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] string arg5, [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] bool arg6) { object[] results = this.Invoke("sendMessage", new object[] { arg0, arg1, arg2, arg3, arg4, arg5, arg6}); return ((string)(results[0])); } 编译能通过,执行时抛302异常 web引用的时候类似,真不知道咋整了
风一样的大叔 2013-10-31
  • 打赏
  • 举报
回复
引用 2 楼 yuyosh 的回复:
地址是对的,在浏览器上可以直接看到 http://sso.jwc.whut.edu.cn/Certification/ws/MessageService?wsdl
那你的调用方式正确吗? 参考这
yuyosh 2013-10-31
  • 打赏
  • 举报
回复
地址是对的,在浏览器上可以直接看到 http://sso.jwc.whut.edu.cn/Certification/ws/MessageService?wsdl
风一样的大叔 2013-10-31
  • 打赏
  • 举报
回复
302 Found 类似于301,但新的URL应该被视为临时性的替代,而不是永久性的。注意,在HTTP1.0中对应的状态信息是“Moved Temporatily”。 出现该状态代码时,浏览器能够自动访问新的URL,因此它是一个很有用的状态代码。 注意这个状态代码有时候可以和301替换使用。例如,如果浏览器错误地请求http://host/~user(缺少了后面的斜杠),有的服务器返回301,有的则返回302。 楼主看看自己引用的地址路径是否正确

12,162

社区成员

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

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