0

私は WCF は初めてですが、C# と .Net は初めてではありません。Visual Studio 2008 と .Net 3.5 を使用しています。

着信要求 XML と名前空間を受信できる Web サービスを構築しようとしています。透過的な受信者のように動作し、インバウンド要求 XML を単純に取り込みます。

要求を受け取ったら、それをカスタム .Net C# プロジェクトに渡して、MQPUT を IBM MQ Series に呼び出します。

現在、RunTest() と呼ばれる一般的なインバウンド操作を受け取る WCF Web サービス アプリケーションがあります。WSDL を SoapUI で使用し、サンプル リクエストとブレークポイントを作成すると、機能します。しかし、会社の要求 XML を渡そうとすると、ブレークポイントに到達しません。

ServiceContract と Operation は次のとおりです。

[ServiceContract(Name="IService1",Namespace="cfg-env=http://www.co.com/schemas/cfg-     env/")]
//[ServiceContract]
public interface IService1
{


[OperationContract]
void RunTest();

[OperationContract]
void CFX();

操作方法は次のとおりです。

public void RunTest()
{  <<<it does break here using the request from the WSDL
string serviceName;
string queueManager;
string queue;
string requestMessage;

//Capture the Service Name
serviceName = "";

//Save the QueueManager
queueManager = "";

//Save the Request Queue
queue = "";

//Save the Message
requestMessage = "";

//Call MQ Put
Engine eng = new Engine();
try
{
eng.Put(serviceName, queue, requestMessage, queueManager);            
}

主に行う必要があるのは、インバウンド XML を受信し、いくつかの情報について問い合わせ、このメソッドを呼び出して MQ で MQPUT 関数を実行することです。

インバウンドの名前空間は上記のようになりますが、名前空間で修飾されている可能性のある XPATH を受信して​​問い合わせることができるようにしたいと考えています。私たちのサービスはそれを標準として使用しているため、必要に応じて cfg-env 名前空間プレフィックスを排他的に使用できます。

VS 2008 WCF でこれを行う際の主なハードルは何ですか? リンクをお持ちの場合は、可能であれば一緒にお送りください。

4

2 に答える 2

1

構築しているのは「WCF ルーター」です。

最新の .NET リリースには、構成可能なルーティング サービスが含まれています。

ルーティング サービスがニーズを満たさない場合は、独自のルーターを構築することもできますが、安全なメッセージが必要な場合は非常に複雑になる可能性があります。この一連の MSDN 記事は、最適なリソースです。彼らは、どのようにサービスにメッセージを受け入れさせるかというあなたの質問に答えてから、アドレス指定とセキュリティの問題に進みます。

WCF ルーターの構築、パート 1

WCF ルーターの構築、パート 2

于 2013-04-17T15:03:22.847 に答える