2016-11-22 3 views
2

Я использую wcf для веб-службы. он работает на .net framework 4.5. но он падает на моно.Проблема сериализации WCF на моно

Сведения об исключении System.InvalidOperationException: При создании XML-документа произошла ошибка. ----> System.ArgumentException: пустая строка '' не является допустимым локальным именем. на < 0x00000 + 0x00000> в (оберточной удаленного взаимодействия-ПРИВЛЕЧЕНИЕ)

Это исключение брошенной в System.ServiceModel.Channels.Message.WriteBodyContents() Так я переопределен этот метод (подобно Royal Mail Shipping API C#) и получил еще исключение.

Exception Детали Полученное сообщение Fault недопустимое SOAP ----> System.Xml.XmlException: Контент не может быть преобразован к типу System.Xml.XmlQualifiedName. Строка 1, позиция 116. ----> System.InvalidCastException: Строка 'wsa: MessageAddressingHeaderRequired' не может быть представлена ​​как XmlQualifiedName. Нельзя найти пространство имен для префикса 'wsa'. на < 0x00000 + 0x00000> в (оберточном удаленном взаимодействии-ПРИВЛЕЧЕНИИ)

Есть в любом случае для замены по умолчанию FaultMessage сериалайзера на Моно?

+0

какая версия моно вы используете? – knocte

ответ

0

Я видел это исключение, когда клиент и сервер были на разных ОС (сервер linux и клиент Windows). Мое обходное решение заключалось в использовании другого сериализатора. Я использовал Jil JSON, и он работал нормально.

Смежные вопросы