WSDL响应未分配 [英] WSDL response not getting assigned

查看:52
本文介绍了WSDL响应未分配的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你好

我正在为此解决方案使用WSDL服务.我已将其添加为服务参考.这是Windows窗体应用程序.

我已经验证了所有内容,并且也启用了跟踪功能.我传递的参数会产生正确的响应(与我在SOAP UI中获得的响应相同).

但是我的响应标头变量(即rh)始终为空.我有什么想念的吗?我没有在跟踪文件中得到任何错误,并且再次在跟踪文件中捕获了响应,但尚未将其分配给rh变量.你能帮忙吗 我在这里吗?

这是我使用的代码:

私有无效button1_Click(对象发送者,EventArgs e)
        {
            ClaimsCenter.RequestHeader requestHeader = new ClaimsCenter.RequestHeader();
            ClaimsCenter.IntermediaryAgmtSearchCriteria agentSearchCriteria = new ClaimsCenter.IntermediaryAgmtSearchCriteria();
            字符串实体名称;
            字符串对象标识;
            ClaimsCenter.ClaimSearchCriteria searchCriteria =新的ClaimsCenter.ClaimSearchCriteria();

            字符串selectionRangeEndDateAsString;
            字符串selectionRangeStartDateAsString;
            字符串selectionRangeTimePeriodAsString;

            字符串ClaimSource;
            ClaimsCenter.ClaimShortPullView [] Cspv;
            ClaimsCenter.ClaimTransactionLogView [] Ctlv;
            字符串购买;
            ClaimsCenter.TransactionNotification tansnoti;
            字符串用户ID;
            字符串publicid;

            实体名称=";
            objectid =";
            selectionRangeEndDateAsString =";
            selectionRangeStartDateAsString =";
            selectionRangeTimePeriodAsString =";

            //claimSource =";
            //purchaseon =";
            //userid =";
            //publicid =";

            requestHeader.systemName ="NDC";
            searchCriteria.claimNumber ="2810000002-1";
            //searchCriteria.claimStatus = ClaimsCenter.ClaimFolderState.Cancelled;


                       
            ClaimsCenter.ClaimInquiryInterfacev1_0Client ci = new ClaimsCenter.ClaimInquiryInterfacev1_0Client();
            System.Net.ServicePointManager.ServerCertificateValidationCallback =委托{return true; };

            ClaimsCenter.ResponseHeader rh =新的ClaimsCenter.ResponseHeader();

            
           rh = ci.retrieveClaims(requestHeader,agentSearchCriteria,实体名称,objectid,searchCriteria,selectionRangeEndDateAsString,selectionRangeStartDateAsString,selectionRangeTimePeriodAsString,
                out Cspv,out ClaimSource,out Ctlv,outpurchon,out tansnoti,out userid,out publicid);
           
        } 

感谢您的帮助!.

谢谢!

解决方案

>>我传递的参数会产生正确的响应(与我在SOAP UI中获得的响应相同) ).但是我的响应标头变量也就是rh始终为空.  

如果您在SOAP UI中发送请求,是否将分配响应头变量?

您能与我们分享WCF服务合同吗?如果您可以在服务端与我们共享与"ci.retrieveClaims"相关的代码,将会很有帮助.

>>我在跟踪文件中没有任何错误,再次我在跟踪文件中捕获了响应,但未将其分配给rh变量.

ResponseHeader的定义是什么?跟踪文件中的响应是什么?您是否已定义了如下所示的服务合同以返回ResponseHeader?

公共响应标题检索声明(...)
{
返回新的ResponseHeader(){...};
} 


Hello,

I am using a WSDL service for this solution. I have added it as a service reference. This is Windows forms application. 

I have verified everything and enable trace too. The Parameters i am passing yields a correct response (same as i get in SOAP UI).

Hove ever my response header variable i.e. rh is alwats null. Is there something i am missing? I dont get any errors in trace file and again i am getting response captured in trace file, but its not been getting assigned to rh variable. can you please help me here?

Here is the code i use:

private void button1_Click(object sender, EventArgs e)
        {
            ClaimsCenter.RequestHeader requestHeader = new ClaimsCenter.RequestHeader();
            ClaimsCenter.IntermediaryAgmtSearchCriteria agentSearchCriteria = new ClaimsCenter.IntermediaryAgmtSearchCriteria();
            string entityname;
            string objectid;
            ClaimsCenter.ClaimSearchCriteria searchCriteria = new ClaimsCenter.ClaimSearchCriteria();

            string selectionRangeEndDateAsString;
            string selectionRangeStartDateAsString;
            string selectionRangeTimePeriodAsString;

            string claimSource;
            ClaimsCenter.ClaimShortPullView [] Cspv;
            ClaimsCenter.ClaimTransactionLogView [] Ctlv;
            string purchaseon;
            ClaimsCenter.TransactionNotification tansnoti;
            string userid;
            string publicid;

            entityname = "";
            objectid = "";
            selectionRangeEndDateAsString = "";
            selectionRangeStartDateAsString = "";
            selectionRangeTimePeriodAsString = "";

            //claimSource = "";
            //purchaseon = "";
            //userid = "";
            //publicid = "";

            requestHeader.systemName = "NDC";
            searchCriteria.claimNumber = "2810000002-1";
            //searchCriteria.claimStatus = ClaimsCenter.ClaimFolderState.Cancelled;


                       
            ClaimsCenter.ClaimInquiryInterfacev1_0Client ci = new ClaimsCenter.ClaimInquiryInterfacev1_0Client();
            System.Net.ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };

            ClaimsCenter.ResponseHeader rh = new ClaimsCenter.ResponseHeader();            

            
           rh = ci.retrieveClaims(requestHeader, agentSearchCriteria, entityname, objectid, searchCriteria, selectionRangeEndDateAsString, selectionRangeStartDateAsString, selectionRangeTimePeriodAsString,
                out Cspv, out claimSource, out Ctlv, out purchaseon, out tansnoti, out userid, out publicid);            
           
        }

appreciate your help!.

Thanks!

解决方案

>>The Parameters i am passing yields a correct response (same as i get in SOAP UI). Hove ever my response header variable i.e. rh is alwats null.  

If you send request in SOAP UI, will the response header variable get assigned?

Could you share us WCF Service Contract? It would be helpful if you could share us code related with "ci.retrieveClaims" in service side.

>>I dont get any errors in trace file and again i am getting response captured in trace file, but its not been getting assigned to rh variable.

What is definition of ResponseHeader? What is the response in trace file? Have you defined service contract like below to return ResponseHeader?

publich ResponseHeader retrieveClaims(...)
{
	return new ResponseHeader(){...};
}


这篇关于WSDL响应未分配的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆