我已通过右键单击并添加服务引用来使用java web服务到我的asp.net项目。Java Web服务消费.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) at System.ServiceModel.Channels.ServiceChannel.Call(String action,Boolean oneway,ProxyOperationRuntime operation,Object [] ins,Object [] outs,TimeSpan timeout) at System.ServiceModel .Cha在System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall,ProxyOperationRuntime操作) 在System.ServiceModel.Channels上运行nnels.ServiceChannel.Call(String action,Boolean oneway,ProxyOperationRuntime operation,Object [] ins,Object [] outs) .ServiceChannelProxy.Invoke(即时聊天消息)在
异常重新抛出[0]: 在System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(即时聊天reqMsg,即时聊天retMsg) 在System.Runtime.Remoting.Proxies.RealProxy .PrivateInvoke(MessageData & msgData,Int32类型) at salim.HakedisService.getCities(getCities request) at salim.HakedisServiceClient.salim.HakedisService.getCi (c:\ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files \ website1 \ bdbbd757 \ 4abd3cb7 \ App_WebReferences.mggi9qhe.0.cs:line 1392 at salim.HakedisServiceClient.getCities中的关系(getCities请求) ()in c:\ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files \ website1 \ bdbbd757 \ 4abd3cb7 \ App_WebReferences.mggi9qhe.0.cs:line 1398 at _Default.Page_Load(Object sender,EventArgs e)在c:\ Users \ htsapp \ Documents \ Visual Studio 2008 \ WebSites \ WebSite1 \ Default.aspx.cs:line 80 at System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp,Object o,Object t,EventArgs E) 在System.Web.Util.CalliEventHandlerDelegateProxy.Callback(对象发件人,EventArgs的) 在System.Web.UI.Control.OnLoad(EventArgs的) 在System.Web.UI.Control.LoadRecursive() 在System.Web.U I.Page.ProcessRequestMain(布尔includeStagesBeforeAsyncPoint,布尔includeStagesAfterAsyncPoint)
和WebService这样:
<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'](http://www.fiddler2.com/)的工具来查看哪些数据真的来回流动。您也可能会在.NET没有采用的底层响应中获得更好的错误消息。 – mellamokb 2012-07-25 17:04:24
你可以添加StackTrace的内容吗? – 2012-07-25 17:08:13
我无法读取图像中的文字。但是它根本不像Java。 – 2012-07-25 17:09:33