Вопрос

У меня есть хсд.Когда я пытаюсь проверить его в BizTalk, он выдает следующие ошибки:

error BEC2009: Node "<Schema>" - Schema reference "http://www.w3.org/2001/xml.xsd" is not a valid reference or does not exist in the current project.

error BEC2009: Node "<Schema>" - Schema reference "http://www.w3.org/2001/xml.xsd" is not a valid reference or does not exist in the current project.

warning BEC999: Cannot resolve the 'schemaLocation' attribute.

error BEC3001: The 'http://www.w3.org/XML/1998/namespace:space' attribute is not declared.

warning BEC999: Cannot resolve the 'schemaLocation' attribute.

warning BEC1007: Node "<Schema>" - Target namespace is empty.

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

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/>

Не уверен, что этой информации достаточно, чтобы продолжать...

Редактировать:
Я обнаружил, что в зависимости от того, какую программу я использую для проверки XML, она иногда работает.Например.Если я создаю некоторый код .net для проверки XML на соответствие схеме, он, кажется, читает xsd нормально и проверяет XML.Если я использую проверку XML в Notepad++, он говорит, что не может прочитать схему.В другом маппере (WTX) говорят тоже не работает.

Есть ли еще что-нибудь, что я могу попробовать, чтобы сузить круг возможных проблем?

Редактировать 2:
Спасибо xcut.Обнаружил, что если я загружаю схему локально и помещаю ее в проект BizTalk, схема проверяется нормально, но с 1 предупреждением:предупреждение BEC1007:Узел "" — целевое пространство имен пусто.

Это было полезно?

Решение

Помимо того, что импортировать схему пространства имен немного странно, возможно, BizTalk просто не может импортировать схему через URL-адрес (в то время как ваш .net-код может).

Чтобы исключить это как проблему, загрузите схему с w3.org, поместите ее в свой проект и импортируйте оттуда, а не через http.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top