2010-11-22 3 views
0

オンラインシステムでいくつかのWebサービスを使用するためのサンプルアプリケーションをダウンロードしました。C#2.0で値を返すときのエラー

以下のすべてのコードが必要なのかどうかはわかりませんが、それは私が得たもので、私がしようとしているのは検索機能を使用することです。

私は私が持っているIDとsearchCustomerを呼び出すことによって開始:

partnerRef.internalId = searchCustomer(customerID); 

そしてsearchCustomerのためのコード:processCustomerSearchResponse上記のコードで

private string searchCustomer(string CustomerID) 
     { 

      string InternalID = ""; 

      CustomerSearch custSearch = new CustomerSearch(); 
      CustomerSearchBasic custSearchBasic = new CustomerSearchBasic(); 

      String nameValue = CustomerID; 
      SearchStringField entityId = null; 

       entityId = new SearchStringField(); 
       [email protected] = SearchStringFieldOperator.contains; 
       entityId.operatorSpecified = true; 
       entityId.searchValue = nameValue; 
       custSearchBasic.entityId = entityId; 

      String statusKeysValue = ""; 
      SearchMultiSelectField status = null; 
      if (statusKeysValue != null && !statusKeysValue.Trim().Equals("")) 
      { 
       status = new SearchMultiSelectField(); 
       [email protected] = SearchMultiSelectFieldOperator.anyOf; 
       status.operatorSpecified = true; 
       string[] nskeys = statusKeysValue.Split(new Char[] { ',' }); 

       RecordRef[] recordRefs = new RecordRef[statusKeysValue.Length]; 
       for (int i = 0; i < nskeys.Length; i++) 
       { 
        RecordRef recordRef = new RecordRef(); 
        recordRef.internalId = nskeys[i]; 
        recordRefs[i] = recordRef; 
       } 
       status.searchValue = recordRefs; 
       custSearchBasic.entityStatus = status; 
      } 


      custSearch.basic = custSearchBasic; 

      SearchResult response = _service.search(custSearch); 

      if (response.status.isSuccess) 
      { 

       processCustomerSearchResponse(response); 




        if (seachMoreResult.status.isSuccess) 
        { 

         processCustomerSearchResponse(seachMoreResult); 

         return InternalID; 
        } 
        else 
        { 
         _out.error(getStatusDetails(seachMoreResult.status)); 

        } 

      } 
      else 
      { 
       _out.error(getStatusDetails(response.status)); 
      } 

      return InternalID; 
     } 

processCustomerSearchResponse(response); 

呼び出されますこの関数のコードは次のとおりです。

public string processCustomerSearchResponse(SearchResult response) 
{ 
    string InternalID = ""; 
    Customer customer; 

     customer = (Customer)records[0]; 
     InternalID = customer.internalId; 

     return InternalID; 
} 

元のコードはコンソールに出力を書き込むことでしたが、代わりにInternalIDを返すようにしました。私がprocessCustomerSearchResponseのアプリケーションInternalIDをデバッグするとき、私が望むIDが含まれていますが、その関数がIDを返すようにsearchCustomerに渡す方法もわかりません。私がsearchCustomerをデバッグするときInternalIDは常にnullです。私はどのようにresponse.status.isSuccess InternalID、任意のアイデアを返すには、コードを編集する方法についてはわからない?

ありがとうございます。

答えて

1

processCustomerSearchResponse(response);を呼び出すときには、戻り値をメモリに格納する必要があります。

このようにコードを変更してみてください。

InternalID = processCustomerSearchResponse(response); 
+0

もちろんはい、ありがとうカイル – Morgan

関連する問題