2010-08-17 7 views
0

WCF에서 XML 데이터를 전송하기위한 매개 변수로 System.Xml.XmlElement를 사용하고 있습니다. 이것은 일반적으로 WCF에서 XML 데이터를 전송할 수있는 상호 운용 가능한 방법입니까? 예를 들어 WCF 클라이언트에서 PHP 또는 Java 웹 서비스를 보내면 XML 데이터를 이해할 수 있습니까? 나는 XML을 WCF에서 문자열로 직접 보내면 안된다는 것을 읽었다. 다음과 같은 방법으로 모든 요소 :WCF에서 XML 데이터를 보내는 상호 운용 방법은 무엇입니까?

<xsd:element name="SendXMLData"> 
<xsd:complexType> 
<xsd:sequence> 
<xsd:element minOccurs="0" name="MyXMLParameter" nillable="true"> 
<xsd:complexType> 
<xsd:sequence> 
<xsd:any minOccurs="0" processContents="lax" /> 
</xsd:sequence> 
</xsd:complexType> 
</xsd:element> 
</xsd:sequence> 
</xsd:complexType> 
</xsd:element> 

가 XSD 수 : WCF에 의해 생성 된 WSDL에서

은 XSD에 XMLELEMENT 객체에 매핑되는 모든 상호 운용성을위한 일을 할?

감사합니다.

답변

0

XML을 문자열로 보내지 않습니다. XML을 보내고 있습니다. XML은 문자열로 인코딩 됨 (& lt; element/& gt;) XSD가 string 유형의 단일 요소를 정의하는 XML입니다. 메시지 정의가 서비스 설명의 일부가되도록 서비스에서 허용하는 XML을 항상 정의해야합니다. 임의의 XML을 수락하면 xsd : any 또는 인코딩 된 XML을 매개 변수로 사용할 수 있지만 항상 XML 첨부를 확인하여 가능한 첨부 파일을 확인하고 첨부 메시지의 크기를 제한하여 DoS 공격을 피하십시오.

+0

인코딩 된 XML 문자열은 웹 서비스에서 XML 데이터를 보내는 유용한 방법입니다 (xsd : string을 통해). 인코딩 된 XML 문자열을 사용하여 XML을 xsd : any를 지원하지 않는 웹 서비스로 보낼 수있었습니다. 또한 .NET에서 XmlElement.OuterXml을 통해 인코딩 된 문자열을 자동으로 가져올 수 있다는 점에서 편리합니다. – user405723

관련 문제