2013-04-16 2 views
0

WCF는 처음이지만 C# 및 .Net에는 익숙하지 않습니다. Visual Studio 2008 및 .Net 3.5를 사용하고 있습니다.모든 작업 및 네임 스페이스 허용 방법

모든 인바운드 요청 XML 및 모든 네임 스페이스를받을 수있는 웹 서비스를 작성하려고합니다. 투명한 리시버처럼 작동하고 단순히 인바운드 요청 XML을 섭취합니다.

요청을 받으면 IBM C# 프로젝트에 전달하여 MQPUT을 IBM MQ Series로 호출합니다.

지금 WCF 웹 서비스 응용 프로그램에서 RunTest()라는 일반 인바운드 작업을 수신하고 있습니다. WSDL을 SoapUI로 소비하고 샘플 요청과 중단 점을 작성하면 작동한다. 그러나 회사 요청 XML을 전달하려고하면 중단 점에 도달하지 않습니다. 여기

은의 ServiceContract 및 운영입니다 : 여기

[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을 받게됩니다 않는 그것을 interogate해야 할 중요한 것은 몇 가지 정보를 모으고이 메소드를 호출하여 MQ의 MQPUT 기능을 수행한다.

인바운드 네임 스페이스는 위와 같지만 네임 스페이스 자격이 될 수있는 XPATH를 수신하고 상호 확인 할 수 있도록하고 싶습니다. 필자의 서비스가이를 표준으로 사용하기 때문에 cfg-env 네임 스페이스 접두어 만 사용하면됩니다.

VS 2008 WCF에서이 작업을 수행하는 주요 장애물은 무엇입니까? 가능한 경우 링크를 보내주십시오.

+0

왜 당신이 HTTP와 XML의 주위에 무슨 일이 있는지 WCFm이 작업을 수행 할 수 _want_합니까? 간단한 IIS 모듈만으로 충분하므로 HTTP 계층과 원시 메시지에 쉽게 액세스 할 수 있습니다. :) – CodeCaster

+1

그래서 회사 요청 XML을 전달하려고하면 중단 점에 도달하지 않습니다. RunTest에는 회사에 XML 입력을 요구하는 매개 변수가 없습니다. – siri

답변

2

모든 요청을 수락하려면 OperationContract 특성에 name 속성을 "*"로 지정해야합니다. 매개 변수 자체를 스키마에 독립적으로 만들려면 System.ServiceModel.Channels.Message 형식이어야합니다.

+0

Name 속성에 유형을 설정하는 방법에 대한 요약을 나에게 줄 수 있습니까? 나는 던지나요? – user2288132

+0

죄송합니다. OperationContract 특성의 Name 속성이 아닙니다. 그것은 행동입니다. 그래서 [OperationContract (Action = "*")]. http://msdn.microsoft.com/en-us/library/system.servicemodel.operationcontractattribute.action.aspx를 참조하십시오. – Rich

1

"WCF 라우터"가 무엇입니까?

최신 .NET 릴리스에는 구성 가능한 Routing Service이 포함되어 있습니다.

라우팅 서비스가 사용자의 요구를 충족시키지 못하면 라우터를 직접 구축 할 수는 있지만 보안 메시지가 필요한 경우 실제로 복잡해질 수 있습니다. 이 MSDN 기사는 최상의 리소스입니다. 그들은 어떤 메시지를 받아들이는 서비스에 대한 당신의 질문에 대답하고 계속해서 어드레싱과 보안 문제를 해결합니다.

Building a WCF Router, Part 1

Building a WCF Router, Part 2