我已经在我的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" >
我不确定如何更改它以使所有内容都指向我的本地副本。
答案 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