2014-10-06 3 views
0

나는 wsdl을 가지고 있으며 wsdl을 사용하는 webservice를 생성하려고합니다. 따라서 wsdl.exe를 사용하여 내가 사용할 수있는 클래스를 생성합니다. (> wsdl.exe foobar.wsdl /server)xmldsig에 대한 wsdl.exe 코드 생성

는 WSDL 파일은

<xs:any minOccurs="0" maxOccurs="unbounded" namespace="http://www.w3.org/2000/09/xmldsig#"/> 

같은 한 줄을 포함하고 wsdl.exe 대신 내가 생성하기 위해 서명이 "해결"해야 할

private System.Xml.XmlElement[] anyField; 

/// <remarks/> 
[System.Xml.Serialization.XmlAnyElementAttribute()] 
public System.Xml.XmlElement[] Any { 
    get { 
     return this.anyField; 
    } 
    set { 
     this.anyField = value; 
    } 
} 

로 변환 같은 코드 :

private SignatureType[] signatureField; 

/// <remarks/> 
[System.Xml.Serialization.XmlElementAttribute ("Signature", Namespace = "http://www.w3.org/2000/09/xmldsig#")] 
public SignatureType[] Signature 
{ 
    get 
    { 
    return this.signatureField; 
    } 
    set 
    { 
    this.signatureField = value; 
    } 
} 

달성 할 수있는 방법이 있습니까? 네임 스페이스에서 xsd가 가리키는대로 xmldsig를 서명으로 "확인"하도록 wsdl.exe에 지시 할 수 있습니까? (http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd) 생성 된 코드에 대해 원래 wsdl이 유효합니까?

답변

0

아니요 아니요. 그것의 XML 요소와 네임 스페이스는 서명 속성을 자동으로 생성하기에 충분하지 않습니다. XML 앞부분을 편집해야한다는 것을 보관하기 위해서입니다. 이 예컨대 :

<xs:schema xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" 
(...) 
<xs:element maxOccurs="unbounded" minOccurs="0" ref="dsig:Signature"/> 
같은