私はxsdsにはかなり新しく、現在使用しているxsdはマシンでのみ検証されています。ローカルマシンで動作しますが、プロキシやファイアウォールが存在するマシンでこれを実行しようとすると、もう動作しません。私が使用しているスキーマはローカルで使用されています。一部のシステムでxsdが検証されません: "名前を(n) 'タイプ定義'コンポーネントに解決できません。
SRC-解決:ここ
は、XSDスキーマを検証しようとしているときに私が取得エラーです(n)は 「タイプの定義」コンポーネント:名「EncryptedDataTypeまた、xenc」を解決できません。私はこのような何かを開始し、私のメインのxsdを持って SAXParseException; src-resolve: Cannot resolve the name '...' to a(n) 'type definition' component
:
boolean validate(URL schemaUrl) { SchemaFactory schemaFactory = SchemaFactory .newInstance("http://www.w3.org/2001/XMLSchema"); Schema schema = null; try { schema = schemaFactory.newSchema(schemaUrl); //this is where the exception is thrown } catch (SAXException e) { //exception is caught here return false; } //... more code here }
エラーは、この1と同じスタックトレースがあります。このコードから来
<?xml version="1.0" encoding="utf-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
xmlns:tns="http://customization.elster.com/shipment"
targetNamespace="http://customization.client.com/introduction"
attributeFormDefault="unqualified"
elementFormDefault="qualified"
version="1.1" >
<xs:import namespace="http://www.w3.org/2001/04/xmlenc#" schemaLocation="xenc-schema.xsd"/>
<xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd"/>
このメインXMLでは、このまた、xenc・スキーマに(私のメインのXSDと同じフォルダにある)また、xenc-schema.xsdで定義されています: "EncryptedDataTypeまた、xenc"
<xs:complexType name="NamedEncryptedDataType">
<xs:complexContent>
<xs:extension base="xenc:EncryptedDataType">
<xs:attribute name="name" type="xs:string" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE schema PUBLIC "-//W3C//DTD XMLSchema 200102//EN"
"http://www.w3.org/2001/XMLSchema.dtd"
[
<!ATTLIST schema
xmlns:xenc CDATA #FIXED 'http://www.w3.org/2001/04/xmlenc#'
xmlns:ds CDATA #FIXED 'http://www.w3.org/2000/09/xmldsig#'>
<!ENTITY xenc 'http://www.w3.org/2001/04/xmlenc#'>
<!ENTITY % p ''>
<!ENTITY % s ''>
]>
<schema xmlns='http://www.w3.org/2001/XMLSchema' version='1.0'
xmlns:xenc='http://www.w3.org/2001/04/xmlenc#'
xmlns:ds='http://www.w3.org/2000/09/xmldsig#'
targetNamespace='http://www.w3.org/2001/04/xmlenc#'
elementFormDefault='qualified'>
<import namespace='http://www.w3.org/2000/09/xmldsig#'
schemaLocation='xmldsig-core-schema.xsd'/>
EED
私はこの質問をもっと短くしていますが、もっと情報が必要な場合は教えてください。読んでいただきありがとうございます。
DTDを使って完全にdoctypeを削除したようだと思われます。提案していただきありがとうございます。 –
@ VladIlie、私は以前のコメントを見ました:外部のトラフィックは見られません。 Javaアプリケーションの場合は、プロキシ情報を設定する必要があります。この[リンク](http://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/ConfigureJavaApp)が役立つかもしれません。 –
あなたは正しいです、ありがとう@PetruGardea –