2011-03-27 1 views
0

BW 프로세스가 웹 서비스로 노출되어 있고 C# .NET 양식을 사용하여 소비하려고합니다. 그러나 내 응용 프로그램은 예외를 계속 표시합니다. body 요소에 대한 처리기가 없으며 다음 스택 추적 (아래쪽에 있음)이 추가되었습니다. 테스트 모드에서 BW 프로세스를 실행하여 프로세스 상태를 확인한 결과 요청이 BW에 도달하지 못했다. 또한 웹 서비스 요청을 완벽하게 트리거 한 soapUI를 사용하여 동일한 프로세스를 테스트했습니다. 어떤 제안? 다음과 같이.NET에서 TIBCO BusinessWorks 웹 서비스 사용

내 코드는 다음과 같습니다

 ServiceReference1.PortTypeClient client = new ServiceReference1.PortTypeClient(); 
     ServiceReference1.new_incident_report report = new ServiceReference1.new_incident_report(); 

     report.contact_details = new ServiceReference1.contact_details(); 
     report.contact_details.name = "John Doe"; 
     report.contact_details.contactno = "1234567890"; 
     report.incident_details = new ServiceReference1.incident_details(); 
     report.incident_details.date = new DateTime(); 
     report.incident_details.time = new DateTime(); 
     report.incident_details.location = "80 Dutch Road"; 
     report.operator_comments = new ServiceReference1.operator_comments(); 
     report.operator_comments.operator_name = "Bob"; 
     report.operator_comments.operator_summary = "Something"; 

     MessageBox.Show(client.processOperation(report)); 

서버 스택 추적 : System.ServiceModel.Channels.ServiceChannel.HandleReply에서 (ProxyOperationRuntime 작업, ProxyRpc & RPC) System.ServiceModel.Channels.ServiceChannel에서. 전화 문자열 작업을, 부울 한방향, ProxyOperationRuntime 작업, [] 인 개체 (System.ServiceModel.Channels.ServiceChannel.Call에서 (문자열 작업을, 부울 한방향이 ProxyOperationRuntime 작업, 개체 [] 기능은 [] 아웃, 시간 범위 제한 시간 객체) Object [] outs) at System.ServiceModel.Channels.ServiceChanne System.ServiceModel.Channels.ServiceChannelProxy.Invoke에서 lProxy.InvokeService (methodCall을 IMethodCallMessage, ProxyOperationRuntime 동작) (iMessage를 메시지) [0]에

예외 재 throw : System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage에서 (MyWebServiceConsumer.ServiceReference1.PortTypeClient.MyWebServiceConsumer에서 MyWebServiceConsumer.ServiceReference1.PortType.processOperation (processOperationRequest 요청)에 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke에서 iMessage를 reqMsg, iMessage를 retMsg) (MessageData & msgData, INT32 타입) . c : \ users \ ystan.2009 \ documents \ visual studio 20의 ServiceReference1.PortType.processOperation (processOperationRequest 요청) 10 \ Projects \ MyWebServiceConsumer \ MyWebServiceConsumer \ Service References \ ServiceReference1 \ Reference.cs : 327 MyWebServiceConsumer.ServiceReference1.PortTypeClient.processOperation (new_incident_report new_incident_report) at c : \ users \ ystan.2009 \ documents \ visual 스튜디오 2010 \ Projects \ MyWebServiceConsumer \ MyWebServiceConsumer \ ServiceReferences \ ServiceReference1 \ Reference.cs : c : \ users \ ystan.2009 \ documents \ visual 스튜디오 2010 \ Projects \ MyWebServiceConsumer \ MyWebServiceConsumer의 MyWebServiceConsumer.Form1.button1_Click (Object 보낸 사람, EventArgs e)의 333 줄 \ Form1.cs를이 : 라인 (44)

+1

프록시를 통해 soapui 및 .net 요청을 보내고받은 정보를 기록하고 비교해 보셨습니까? 그렇지 않으면 wireshark를 사용하여 요청을 캡처 할 수도 있습니다. –

답변

1

사람이 여전히이보고를 들어,이 솔루션은 제대로 BW에 파견 가져옵니다 SOAP 패킷을, 공예 직접 참여 나타납니다. .NET Web Reference 유틸리티와 BW는 어떤 이유로 호환되지 않는 것 같습니다.