将xml方案从url导入文件

时间:2018-12-10 15:23:31

标签: java java-ee xsd

我已经在我的Java EE项目中从Web服务生成了一个客户端,该客户端生成以下代码。

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "base64Binary", propOrder = {
"value"
})  public class Base64Binary {

@XmlValue
protected byte[] value;
@XmlAttribute(name = "contentType", namespace = "http://www.w3.org/2005/05/xmlmime")
protected String contentType;

我的问题是对http://www.w3.org/2005/05/xmlmime的呼叫被我们的防火墙阻止了。将呼叫更改为https无效,因为它将被重定向到http。我想将http://www.w3.org/2005/05/xmlmime中包含的xml方案导入到我项目中的文件中,并将namespace的值更改为该文件。 http://www.w3.org/2005/05/xmlmime中包含的架构为

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
       xmlns:xmime="http://www.w3.org/2005/05/xmlmime"
       targetNamespace="http://www.w3.org/2005/05/xmlmime" >

  <xs:attribute name="contentType">
    <xs:simpleType>
      <xs:restriction base="xs:string" >
      <xs:minLength value="3" />
      </xs:restriction>
    </xs:simpleType>
  </xs:attribute>

  <xs:attribute name="expectedContentTypes" type="xs:string" />

  <xs:complexType name="base64Binary" >
    <xs:simpleContent>
        <xs:extension base="xs:base64Binary" >
            <xs:attribute ref="xmime:contentType" />
        </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="hexBinary" >
    <xs:simpleContent>
        <xs:extension base="xs:hexBinary" >
            <xs:attribute ref="xmime:contentType" />
        </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

</xs:schema>

我发现了几个有关此问题的问题,并且制作本地副本似乎是可以接受的解决方案,但是由于架构文件本身引用了http中的URL,

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
       xmlns:xmime="http://www.w3.org/2005/05/xmlmime"
       targetNamespace="http://www.w3.org/2005/05/xmlmime" >

我不确定如何更改它以使所有内容都指向我的本地副本。

1 个答案:

答案 0 :(得分:1)

这个问题表明我对xml的了解。问题不在于我列出的代码,而在于导入架构的其他文件中。

asm volatile ("cli; outb %0, $0x70" :: "a"(index));
asm volatile ("outb %0, %0x71" :: "a"(tvalue));

我在与包含导入代码的<xs:import namespace="http://www.w3.org/2005/05/xmlmime" schemaLocation="http://www.w3.org/2005/05/xmlmime"/> 文件相同的文件夹中创建了一个wsd文件。然后,我从wsdl复制了xml并将其放在http://www.w3.org/2005/05/xmlmime文件中。然后我将导入代码更改为

wsd