0

私は 2 つの Web サービスを持っていServiceReferenceStagingますServiceReferenceProduction。呼び出される各 Web サービスのクラスには、使用する必要OperationsClientがあるメソッドがあります。calculateCost

問題は、このメソッドには、その Web サービスに固有の型を必要とする署名があることです。

// staging
ServiceReferenceStaging.OperationsClient.calculateCost(
    ServiceReferenceStaging.TransactionHeaderType header,
    ServiceReferenceStaging.ExtLocationDetailsType fromAddress,
    ...

// production
ServiceReferenceProduction.OperationsClient.calculateCost(
    ServiceReferenceProduction.TransactionHeaderType header,
    ServiceReferenceProduction.ExtLocationDetailsType fromAddress,
    ...

明らかに、呼び出し元のコードは、どの Web サービスが使用されているかを気にしません。コードは、ステージングと実稼働で同じように機能する必要がありheader、config から値を読み取ってアプリケーションのアドレスをマップするさまざまなマッピング メソッドfromAddressは、ステージングと実稼働の両方の Web サービスで機能する必要があります。 .

呼び出しコードでは、2 つの Web サービスをインターフェイスの具体的な実装でラップできます。しかし、具体的な実装ごとにドメイン オブジェクトを一般的な方法でheaderマッピングするにはどうすればよいでしょうか。fromAddress

4

0 に答える 0