Использование веб-службы из WCF - PullRequest
3 голосов
/ 02 декабря 2010

Я создал службу WCF, теперь эта служба WCF должна вызывать веб-службу. Я добавляю ссылку на службу веб-службы в WCF и вызываю метод веб-службы, который я хочу использовать.

Просто пример, показанный ниже:

CalcWebReference.CalculatorSoapClient fct = 
    new CalcWebReference.CalculatorSoapClient();
int rq = fct.Add(q, r); 
return rq;

Теперь этот метод, когда я пытался вызвать с клиента, выдает следующую ошибку

Серверу не удалось обработать запрос из-за внутренней ошибки. За больше информации об ошибке, либо включить IncludeExceptionDetailInFaults (либо из ServiceBehaviorAttribute или из конфигурация поведение) на сервере для того, чтобы отправить информацию об исключении обратно клиент, или включите трассировку согласно Microsoft .NET Framework 3.0 SDK документация и проверка сервера журналы трассировки.

Спасибо, я сделал то, что вы сказали, но теперь я получаю следующую ошибку "Не удалось найти элемент конечной точки по умолчанию, который ссылается на контракт" CalcWebReference.CalculatorSoap "в разделе конфигурации клиента ServiceModel. Это может быть потому, что для вашего приложения не найден файл конфигурации или потому что в клиентском элементе не найдено ни одного элемента конечной точки, соответствующего этому контракту. "

Теперь мне нужно указать некоторые конечные точки в службе WCF или в веб-службе, чтобы получить функцию из веб-службы, и если да, то как мне ее дать.

Пожалуйста, помогите.

Привет

CalcWebReference.CalculatorSoapClient относится к веб-службе, а не к WCF. Ниже приведен код, написанный на WCF (пример кода), который вызывает веб-сервис: -

CalcWebReference.CalculatorSoapClient fct = new CalcWebReference.CalculatorSoapClient();

            int rq = fct.Add(12, 10);

            return rq;

Не правильно ли я формулирую синтаксис или есть что-то еще, что мне нужно сделать в этом?

1 Ответ

2 голосов
/ 02 декабря 2010

Это общее сообщение об ошибке WCF "что-то случилось".Это не сильно поможет.

Подходы:

  • убедитесь, что вызываемый вами веб-сервис работает самостоятельно - в противном случае исправьте это!

  • включить подробную информацию об ошибках, как описано в сообщении об ошибке, включив сведения об ошибках в службу WCF (делайте это в средах DEV только ! Никогда в работе ...)

  • попробуйте запустить службу WCF в Visual Studio и отладить происходящее

Чтобы включить подробный отчет об ошибках, необходимодобавьте этот раздел в конфигурацию службы WCF:

<behaviors>
    <serviceBehaviors>
        <behavior name="DebugBehavior">
            <serviceDebug includeExceptionDetailInFaults="True" />
        </behavior>
    </serviceBehaviors>
</behaviors>

Возможно, вы уже настроили поведение службы - в этом случае просто добавьте тег <serviceDebug> к поведению службы.

Еслиу вас еще нет конфигурации службы - вам также нужно убедиться, что ваша служба действительно использует эту конфигурацию службы:

<service name="YourServiceNameHere" 
         behaviorConfiguration="DebugBehavior">

Убедитесь, что у вас есть атрибут behaviorConfiguration=на вашем теге <service> и обязательноЭто определенное служебное поведение (указав его <behavior name="..." > свойство).

Как только вы это сделаете, ваша ошибка должна дать вам больше информации - вы обязательно должны получить .InnerException для вашего исключения, которое должнонаправить вас в правильном направлении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...