Как отключить проверку пространства имен в JiBX? - PullRequest
3 голосов
/ 07 октября 2011

У меня есть файл привязки JiBX, в котором указаны пространства имен. Однако я хочу отключить проверку пространства имен, чтобы даже сообщение XML с недопустимым пространством имен могло быть распаковано.

У меня есть файл привязки, подобный следующему:

<binding name="test_binding">

  <namespace prefix="soapenv" uri="http://www.w3.org/2003/05/soap-envelope" />

  <!-- Envelope -->
  <mapping name="Envelope" ns="http://www.w3.org/2003/05/soap-envelope"
    class="com.test.data.Envelope">
    <structure get-method="getHeader" set-method="setHeader"
      ns="http://www.w3.org/2003/05/soap-envelope" usage="optional" />
    <structure get-method="getBody" set-method="setBody"
      ns="http://www.w3.org/2003/05/soap-envelope" usage="optional" />
  </mapping>
...

Я передаю следующее сообщение JiBX unmarshaller (с другим пространством имен для элемента Envelope):

<?xml version="1.0" encoding="UTF-8" ?> 
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope"> 
    <soapenv:Header> 
        <MyElement>
....

Ниже показано сообщение об ошибке, когда JiBX отменяет вывод сообщения:

[Time:2011-10-04 17:39:29,802][Level:FATAL]org.jibx.runtime.JiBXException: No unmarshaller for element "{http://schemas.xmlsoap.org/soap/envelope}Envelope" (line 2, col 76)
...

Есть ли способ отключить проверку пространства имен в JiBX? Спасибо.

...