【发布时间】:2012-07-24 04:30:30
【问题描述】:
我已经通过右键单击并添加服务引用将 java web 服务用于我的 asp.net 项目。
public static salim.HakedisServiceClient ws = new salim.HakedisServiceClient("HakedisServiceImplPort");
ws.ClientCredentials.UserName.UserName = "****";
ws.ClientCredentials.UserName.Password = "****";
var lstCities = ws.getCities();
但它有一个例外:
System.ServiceModel.FaultException :{"处理时发生故障。"} 服务器堆栈跟踪: 在 System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime 操作,ProxyRpc& rpc) 在 System.ServiceModel.Channels.ServiceChannel.Call(字符串操作,布尔单向,ProxyOperationRuntime 操作,Object[] 输入,Object[] 输出,TimeSpan 超时) 在 System.ServiceModel.Channels.ServiceChannel.Call(字符串操作,布尔单向,ProxyOperationRuntime 操作,Object[] 输入,Object[] 输出) 在 System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage 方法调用,ProxyOperationRuntime 操作) 在 System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage 消息)
在 [0] 处重新抛出异常: 在 System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg,IMessage retMsg) 在 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData,Int32 类型) 在 salim.HakedisService.getCities(getCities 请求) 在 c:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\website1\bdbbd757\4abd3cb7\App_WebReferences.mggi9qhe.0.cs 中的 salim.HakedisServiceClient.salim.HakedisService.getCities(getCities 请求):第 1392 行 在 c:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\website1\bdbbd757\4abd3cb7\App_WebReferences.mggi9qhe.0.cs:line 1398 中的 salim.HakedisServiceClient.getCities() 在 c:\Users\htsapp\Documents\Visual Studio 2008\WebSites\WebSite1\Default.aspx.cs:line 80 中的 _Default.Page_Load(Object sender, EventArgs e) 在 System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp,对象 o,对象 t,EventArgs e) 在 System.Web.Util.CalliEventHandlerDelegateProxy.Callback(对象发送者,EventArgs e) 在 System.Web.UI.Control.OnLoad(EventArgs e) 在 System.Web.UI.Control.LoadRecursive() 在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
还有这样的网络服务:
<wsdl:definitions name="Hakedis" targetNamespace="http://hakedis.eventhandler.archibus.com/">
<wsdl:types></wsdl:types>
<wsdl:message name="getFloors"></wsdl:message>
<wsdl:message name="getRooms"></wsdl:message>
<wsdl:message name="getBuildingPropertiesResponse"></wsdl:message>
<wsdl:message name="getBuildingProperties"></wsdl:message>
<wsdl:message name="getBuildingTypes"></wsdl:message>
<wsdl:message name="getBuildingTypesResponse"></wsdl:message>
<wsdl:message name="getFloorsResponse"></wsdl:message>
<wsdl:message name="getRoomsResponse"></wsdl:message>
<wsdl:message name="getCities"></wsdl:message>
<wsdl:message name="getCitiesResponse"></wsdl:message>
<wsdl:message name="getBuildingsResponse"></wsdl:message>
<wsdl:message name="getBuildings"></wsdl:message>
<wsdl:portType name="HakedisService"></wsdl:portType>
<wsdl:binding name="HakedisSoapBinding" type="tns:HakedisService"></wsdl:binding> <wsdl:service name="Hakedis"></wsdl:service></wsdl:definitions>
有人推荐吗?
【问题讨论】:
-
尝试使用像
Fiddler这样的工具来查看真正来回流动的数据。您还可能会在 .NET 未响应的基础响应中收到更好的错误消息。 -
你能添加那个 StackTrace 的内容吗?
-
我无法阅读图片中的文字。但在我看来,它根本不像 Java。
-
你为什么要同时添加
ClientCredentials.UserName和ClientCredentials.Windows? -
您能否使用 SoapUI 等独立工具成功调用服务?从截图很难说,但是java端可能有错误。
标签: c# java asp.net web-services