У меня ошибка службы WCF с .... Найден тип узла "Элемент" с именем "tns: downloadOrders - PullRequest
1 голос
/ 10 февраля 2012

Я взял на себя проект, созданный в asp.net c # с использованием файла SVC, который был более или менее завершен.У меня есть третье лицо, пытающееся подключиться к этому сервису.и они получают ошибку при попытке запустить действие DownloadOrders

Извините, если это что-то глупое, но я понятия не имею о веб-сервисах SOAP

OperationFormatter обнаружил недопустимое тело сообщения.Ожидается найти тип узла 'Элемент' с именем 'DownloadOrders' и пространством имен 'http://schema.example.com'. Найден тип узла' Элемент 'с именем' tns: downloadOrders 'и пространством имен' http://schema.example.com'

У меня есть код

namespace WebShopServiceLibrary
{
using System;
using System.Collections.Generic;
using System.ServiceModel;

[ServiceContract(Namespace = "http://schema.example.com", Name = "DownloadOrders")]
public interface IWebShopService
{
    [OperationContract]
    bool CompleteOrder(string cartId);
    [OperationContract(Action = "http://mywebsite.com/WebShopService?class=WebShopService&method=downloadOrders",
        Name = "DownloadOrders", ReplyAction = "http://schema.example.com")]

    IList<WSOrder> DownloadOrders();
    [OperationContract]
    string SayHello();
    }
}

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

Любая помощь будет в значительной степени оценена

РЕДАКТИРОВАНИЕ Спасибо, запрос от третьей стороны

POST http://www.mywebsite.co.uk/WebShop/WebShopService.svc HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol     2.0.50727.5420)
VsDebuggerCausalityData:    uIDPo6vC8nDAd61IqHUONkdct2QAAAAAPjFJqj7Kp0ucNDHglgII9Lf1sYSLziBNtVp3NnVPAecACQAA
Content-Type: text/xml; charset=utf-8
SOAPAction: "http://thridpartywebsite.com/WebShopService?class=WebShopService&method=downloadOrders"
Host: www.mywebsite.co.uk
Content-Length: 480
Expect: 100-continue
Connection: Keep-Alive

<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://schema.example.com" xmlns:types="http://schema.example.com/encodedTypes" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><tns:downloadOrders /></soap:Body></soap:Envelope> 

1 Ответ

4 голосов
/ 10 февраля 2012

В названии имеется несоответствие:

DownloadOrders

и

tns:downloadOrders

Обратите внимание на разницу в капитализации.Вы должны убедиться, что сервер и клиент совпадают.

...