테스트를 위해 설정 한 콘솔 응용 프로그램에서 Java 웹 서비스를 호출하는 서비스 참조 (WCF 클라이언트)를 설정했습니다. HTTPS를 사용하고 있습니다. Fiddler 설정이 있으며 Fiddler에서 서비스에서 보내고 반환되는 적절한 값을 볼 수 있습니다. 그러나 내가 어떤 메서드를 호출하든 반환 값은 String이든 객체이든 관계없이 Null로 돌아옵니다.
프록시 클라이언트 매핑이 작동하지 않거나 app.config에서 구성 값을 변경해야하는지 잘 모르겠습니다.
app.config :
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<system.serviceModel>
<bindings>
<customBinding>
<binding name="ResultsSOAP12Binding">
<textMessageEncoding messageVersion="Soap12" />
</binding>
<binding name="ResultsSOAP12Binding1">
<textMessageEncoding messageVersion="Soap12" />
<httpsTransport />
</binding>
<binding name="ResultsSOAP12Binding2">
<textMessageEncoding messageVersion="Soap12" />
</binding>
</customBinding>
</bindings>
<client>
<endpoint address="https://services.acme.com/results"
binding="customBinding" bindingConfiguration="ResultsSOAP12Binding1"
contract="ResultsServiceReference.Result
</client>
</system.serviceModel>
</configuration>
암호:
static void CallResults()
{
var resultsRequest = new ResultsServiceReference.ResultsRequest();
var client = new ResultsServiceReference.ResultsPortTypeClient("ResultsSOAP12BindingQSPort");
Console.WriteLine("Call Results Service");
ResultsServiceReference.ResultsBatch result = client.latestResults(resultsRequest);
Console.WriteLine(result.Status);
Console.ReadLine();
}
이 코드에서는 Fiddler에서 XML을 볼 수 있지만 변수 결과 는 null입니다. 결과를 사용할 때까지 오류가 표시되지 않습니다.
BTW, 프록시 클래스 reference.cs의 latestResults 메서드 내부에 중단 점을 설정하려고 시도했지만 디버거가 도달하지 않습니다.
WCF 진단 이벤트 추적 및 메시지 로깅을 구성하고 활성화 한 다음 테스트 트랜잭션을 다시 실행하고 서비스 추적 로그 파일을 검토 할 수 있습니다. 다음 링크는 추적 및 메시지 로깅을 사용하는 방법을 보여줍니다.
http://msdn.microsoft.com/en-us/library/ms751526.aspx
경험상 명백한 오류가없는 서비스 불일치는 종종 서비스 추적 파일에 표시됩니다.
참고 : 다음 속성이 설정 되었기 때문에 프록시 클래스 reference.cs 내의 중단 점에 도달하지 못할 수 있습니다.
[System.Diagnostics.DebuggerStepThroughAttribute()]
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다