0

またご迷惑をおかけして申し訳ありません。

サーバーでWCFサービスを利用します。サービスは外部によって作成されました。ブラウザで見ると大丈夫です。下の画像をご覧ください。

サービス。

それを消費するために、私はサービス参照を追加します。次に、URLを使用http://wsvc01/BOERPI/BOERPI.svc してプロキシをコードでインスタンス化します。

BOERPI.PostPhoneCallResponse client = null;
client = new BOERPI.PostPhoneCallResponse();
double x = client.ActualCallCharge; // suppose to get a proper value but not

サービスのコードの一部は次のとおりです。

[ServiceContract]
public interface iBOERPI
{
    [OperationContract]
    PostPhoneCallResponse PostPhoneCall(PostPhoneCallRequest objCDRRequest);
[DataContract]
public class PostPhoneCallResponse
{
    [DataMember]
    public double ActualCallCharge = -1.0;

サービスコードは100%正しいと思いますが、サービスを利用するときに何か問題がありますか?

PostPhoneCallResponseの定義を右クリックすると、次のようになります。

[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
[System.Runtime.Serialization.DataContractAttribute(Name="PostPhoneCallResponse", Namespace="http://schemas.datacontract.org/2004/07/nsBOERPI")]
[System.SerializableAttribute()]
public partial class PostPhoneCallResponse : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {

    [System.NonSerializedAttribute()]
    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;

    [System.Runtime.Serialization.OptionalFieldAttribute()]
    private double ActualCallChargeField;

ありがとう。

4

1 に答える 1

1

client = new BOERPI.PostPhoneCallResponse();DataContractService クライアントの代わりに hereを使用しようとしています。

クライアント アプリケーションで使用したサービス名を [サービス参照] で確認し、それを使用します。

例えば。

ここに画像の説明を入力

using(var client = new BingMapsGeocodeService()) // This should be your service client name
{

}

アップデート:

リクエスト オブジェクトとレスポンス オブジェクトを使用したメッセージの送受信:

操作が示すように、リクエスト オブジェクトを作成する必要があります。

var request = new PostPhoneCallRequest(){ // populate all your properties you need to send to the service};

var client = new BOERPI.MyClient(); // Instantiate your client with the name you have given for your service client.

PostPhoneCallResponse response = client.PostPhoneCall(request); // You are sending your request and getting a response as PostPhoneCallResponse object
于 2013-02-20T21:54:28.257 に答える